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