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

на главную

Жанры

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=<число>

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

Двойник короля 17

Скабер Артемий
17. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 17

Кодекс Крови. Книга I

Борзых М.
1. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга I

Зайти и выйти

Суконкин Алексей
Проза:
военная проза
5.00
рейтинг книги
Зайти и выйти

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

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

Имя нам Легион. Том 5

Дорничев Дмитрий
5. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 5

Путешественник по Изнанке

Билик Дмитрий Александрович
4. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
попаданцы
мистика
5.00
рейтинг книги
Путешественник по Изнанке

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

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

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Неудержимый. Книга XXI

Боярский Андрей
21. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXI

Шайтан Иван 4

Тен Эдуард
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Шайтан Иван 4

Маска теней

Кас Маркус
10. Артефактор
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Маска теней

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи