2.5. Tuned и ktune
2.5. Tuned и ktune
Служба tuned отслеживает использование системных компонентов и динамически изменяет настройки системы, исходя из полученной информации о занятости компонентов в разное время. Так, например, нагрузка на жесткий диск увеличивается во время запуска компьютера и авторизации, но уменьшается в процессе использования приложений пользователя, таких как OpenOffice или почтовых программ. Аналогично может изменяться нагрузка процессора и сетевых устройств.
В качестве примера рассмотрим типичный офисный компьютер. Большую часть времени интерфейс Ethernet будет бездействовать, а использоваться лишь изредка для обмена почтой и загрузки веб-страниц. При такой нагрузке нет необходимости в поддержке максимальной скорости интерфейса. Существует дополнительный модуль для tuned, который автоматически снижает скорость интерфейса при низкой активности, что позволяет экономить энергию. При увеличении нагрузки на протяжении некоторого времени, например при загрузке образа DVD или открытии письма с большим вложением, tuned увеличит скорость интерфейса до максимума для достижения максимальной производительности. Дополнительные модули для процессора и жестких дисков работают по такому же принципу.
Подобное поведение сетевых устройств, процессоров и жестких дисков по умолчанию не настроено в силу того, что изменение скорости может занимать несколько секунд и быть вполне заметным. Если скорость вращения жесткого диска замедлена, ее наращивание может занять некоторое время, в течение которого система будет отвечать на запросы с задержкой. Задержка минимальна для процессора и вполне измерима, хоть и незаметна для пользователя.
В свою очередь, в Red Hat Enterprise Linux 5.3 была впервые представлена утилита ktune как средство оптимизации производительности в отдельных случаях. С тех пор ktune подверглась значительным улучшениям и обычно используется в предопределенных профилях (см. Раздел 2.5.2, «Tuned-adm»).
Установите пакет tuned и соответствующие сценарии systemtap:
yum install tuned
После установки tuned образец файла конфигурации можно будет найти в
/etc/tuned.conf
Запустите tuned:
service tuned start
Чтобы запускать tuned каждый раз при загрузке системы, выполните
chkconfig tuned on
При запуске tuned можно указать следующие параметры:
-d
,--daemon
- Запускает tuned в фоновом режиме.
-c
,--conffile
- Использует заданный файл конфигурации (например,
--conffile=/etc/tuned2.conf
). По умолчанию используется файл/etc/tuned.conf
. -D
,--debug
- Использует максимальный уровень журналирования.
2.5.1. Файл tuned.conf
По умолчанию настройки tuned хранятся в файле
/etc/tuned.conf
, но с помощью параметра --conffile
можно указать другой файл.
Файл конфигурации должен содержать секцию
[main]
, где определяются основные параметры tuned. Настройки каждого дополнительного модуля определяются в отдельной секции.
Секция
[main]
содержит параметры:
interval
- Интервал отслеживания системы (в секундах). По умолчанию равен 10 секундам.
verbose
- Подробный вывод. По умолчанию отключен (
False
). logging
- Минимальный приоритет регистрируемых в журнале сообщений. Допустимые значения в убывающем порядке:
critical
,error
,warning
,info
,debug
. По умолчанию используетсяinfo
. logging_disable
- Максимальный приоритет регистрируемых в журнале сообщений. Сообщения с приоритетом меньше заданного не будут регистрироваться. Допустимые значения в убывающем порядке:
critical
,error
,warning
,info
,debug
. Значениеnotset
отключает эту опцию.
Каждому отдельному модулю соответствует своя секция. Название секции состоит из имени модуля, заключенного в квадратные скобки, например
[CPUTuning]
. Параметры настройки разных модулей могут отличаться.
enabled
- Активация модуля. По умолчанию имеет значение
True
. verbose
- Подробный вывод. Если не определен, будет унаследовано значение из
[main]
. logging
- Минимальный приоритет регистрируемых в журнале сообщений. Если не определен, будет унаследовано значение из
[main]
.
Пример файла конфигурации:
[main] interval=10 pidfile=/var/run/tuned.pid logging=info logging_disable=notset # Disk monitoring section [DiskMonitor] enabled=True logging=debug # Disk tuning section [DiskTuning] enabled=True hdparm=False alpm=False logging=debug # Net monitoring section [NetMonitor] enabled=True logging=debug # Net tuning section [NetTuning] enabled=True logging=debug # CPU monitoring section [CPUMonitor] # Enabled or disable the plugin. Default is True. Any other value # disables it. enabled=True # CPU tuning section [CPUTuning] # Enabled or disable the plugin. Default is True. Any other value # disables it. enabled=True