Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

В этой главе я рассмотрю три основных способа настройки ядра:

♦ модификация динамических параметров ядра через псевдофайловую систему

/proс
;

♦ использование загрузчика для передачи ядру параметров на этапе начальной загрузки;

♦ пересборка ядра из исходных кодов.

20.3. Динамические параметры ядра

Файлы в каталоге

/proc
— это на самом деле информационные каналы, реализующие интерфейс между ядром и прикладными программами. Они разработаны для повышения
гибкости ядра, позволяя системному администратору корректировать его поведение «на лету», без перезагрузки. Файловая система procfs называется виртуальной, потому что в действительности это карта работающей системы в иерархическом виде, создаваемая ядром и присоединяемая к обычной файловой системе. Некоторые команды (например, ps) извлекают информацию о состоянии системы, не прибегая к системным вызовам, а читая непосредственно из
/proc
.

Хотя часть виртуальных файлов содержит текстовые данные, для их просмотра и изменения обычный ASCII-редактор неприменим: ведь они мало того что не существуют физически, так еще и ядро может в любое время внести в них изменения. Читать такие файлы нужно командой cat, а записывать — перенаправляя вывод команды echo. Например, чтобы увидеть максимальное количество файлов, которые можно открыть в одном процессе, введите команду

$ cat /proc/sys/fs/file-max

Большинство параметров ядра, предназначенных для динамической настройки на работающей системе, представлены файлами в каталоге

/proc/sys
. Эти файлы доступны для записи суперпользователю. Например, если у вас обычный домашний компьютер, подключенный к Интернету по DSL или локальной сети, то производительность сети можно повысить, выключив некоторые параметры:

# echo "0" > /proc/sys/net/ipv4/tcp_sack

# echo "0" > /proc/sys/net/ipv4/tcp_timestamps

Особый интерес с точки зрения повышения производительности системы представляет коэффициент подкачки, находящийся в псевдофайле

/proc/sys/vm/swappiness
. Этот коэффициент, значение которого может быть от 0 до 100, указывает ядру, как часто следует выгружать страницы памяти на диск (свопить). Высокий коэффициент подкачки уместен в том случае, если вы работаете с несколькими громоздкими приложениями и переключаетесь между ними нечасто: каждое приложение будет работать быстрее, но переключение займет больше времени, ведь приложение, которое вы оставили без внимания на несколько минут, давно выгружено в своп-раздел. Например, если вы дизайнер и с утра до вечера не выходите из GIMP, то установите значение коэффициента равным 100:

# echo "100" > /proc/sys/vm/swappiness

Производительность вашего основного приложения (GIMP) станет максимальной. Если же вы целый день работаете с небольшими программками, между которыми часто переключаетесь, то установите коэффициент подкачки около 20. Значение по умолчанию равно 70. Возможно, вам больше всего подойдет именно это значение.

Значения динамических параметров ядра при перезагрузке не сохраняются, Чтобы сделать их постоянными, нужно вписать строки вида <параметр> = <значение> в файл

/etc/sysctl.conf
, откуда их в
ходе начальной загрузки прочитает утилита sysctl.

Имя параметра — это имя виртуального файла относительно каталога

/proc/sys
, в котором символ слэша заменяется на точку: vm.swappiness. Команда
sysctl -а
выводит список всех параметров, доступных для изменения.

20.4. Загрузочные параметры ядра

Полное описание параметров, которые можно передать ядру в ходе начальной загрузки, занимает достаточно много места, поэтому в этом параграфе я рассмотрю только основные из них. За более подробным их описанием вам следует обратиться к документу BootPrompt-HOWTO или к справочной системе (

man bootparam
). Большинство этих параметров предназначено для того, чтобы сообщить ядру характеристики устройств, которые оно не может или не должно определить само.

Если ядро загружается средствами BIOS (например, с дискеты), то передать ему параметры невозможно: нужно использовать какой-либо загрузчик Linux. В главе 9 описано применение диспетчеров загрузки LILO и GRUB, то есть вы уже знаете, как указывать параметры в командной строке загрузчика или в его конфигурационном файле. Осталось разобраться с тем, какие это могут быть параметры.

Напоминаю, что синтаксис строки параметров следующий:

имя[=значение1] [, значение2...] [имя2 [=значение2.1] [, значение2.2...]]

Значения разделяются запятой без пробелов, а параметры — пробелами. Пример строки параметров:

root=/dev/hda1 ether=9,0x300,0xd0000,0xd4000,eth0

20.4.1. Параметры корневой файловой системы

♦ root=устройство: указывает устройство, на котором находится корневая файловая система. В качестве устройства допустимо указывать:

/dev/hdaN … /dev/hddN — для IDE-дисков:

/dev/sdaN … /dev/sdeN — для SCSI-дисков;

/dev/xdaN … /dev/xdbN — для XT-совместимых дисков;

/dev/fdN — флоппи-дисковод, где N=0 соответствует диску A:, a N=1 — диску В:

/dev/nfs — псевдоустройство, указывающее ядру, что нужно загружаться по сети;

♦ ro: требует монтировать корневую файловую систему в режиме «только чтение». Используется по умолчанию;

♦ rw: задает монтирование корневой файловой системы в режиме «чтение/запись». При использовании этого параметра нельзя запускать программы типа fsck. Перед запуском программы fsck нужно перемонтировать корневую файловую систему в режиме ro.

20.4.2. Объем памяти

Иногда нужно указать объем ОЗУ, отличный от того, который имеется на самом деле. Например, у вас чипсет Intel 810 с интегрированной видеоплатой, тогда вам нужно указать объем ОЗУ на 1 Мб меньше (а иногда даже на 2 Мб). Это связано с аппаратной особенностью чипсета. Более подробно об этом вы можете узнать на сайте компании Intel (

www.intel.com
).

Объем установленной памяти можно указать с помощью параметра mem:

mem=<число>

Поделиться:
Популярные книги

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Адвокат Империи 11

Карелин Сергей Витальевич
Адвокат империи
Фантастика:
городское фэнтези
альтернативная история
рпг
дорама
попаданцы
5.00
рейтинг книги
Адвокат Империи 11

Проблемы роста

Meijin Q
Проза:
современная проза
повесть
5.00
рейтинг книги
Проблемы роста

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

Горизонт Вечности

Вайс Александр
11. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Горизонт Вечности

Газлайтер. Том 17

Володин Григорий Григорьевич
17. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 17

Эволюционер из трущоб. Том 3

Панарин Антон
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
6.00
рейтинг книги
Эволюционер из трущоб. Том 3

Чужак из ниоткуда 4

Евтушенко Алексей Анатольевич
4. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда 4

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4

Изгой Проклятого Клана. Том 3

Пламенев Владимир
3. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 3

Последний Паладин. Том 5

Саваровский Роман
5. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 5

Первый среди равных. Книга X

Бор Жорж
10. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Первый среди равных. Книга X

Дважды одаренный. Том II

Тарс Элиан
2. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Дважды одаренный. Том II