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

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

Жанры

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

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

Блуждающие огни 4

Панченко Андрей Алексеевич
4. Блуждающие огни
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Блуждающие огни 4

Я сделаю это сама

Кальк Салма
1. Магический XVIII век
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Я сделаю это сама

Флеш Рояль

Тоцка Тала
Детективы:
триллеры
7.11
рейтинг книги
Флеш Рояль

Боярышня Дуняша

Меллер Юлия Викторовна
1. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Дуняша

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

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

Леди для короля. Оборотная сторона короны

Воронцова Александра
3. Королевская охота
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Леди для короля. Оборотная сторона короны

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

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

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

Невест так много. Дилогия

Завойчинская Милена
Невест так много
Любовные романы:
любовно-фантастические романы
7.62
рейтинг книги
Невест так много. Дилогия

Идеальный мир для Социопата 3

Сапфир Олег
3. Социопат
Фантастика:
боевая фантастика
6.17
рейтинг книги
Идеальный мир для Социопата 3

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

Наследник павшего дома. Том I

Вайс Александр
1. Расколотый мир
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том I

Крещение огнем

Сапковский Анджей
5. Ведьмак
Фантастика:
фэнтези
9.40
рейтинг книги
Крещение огнем

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая