Переводы — Как настроить ядро Linux с помощью sysctl
Не многие из сегодняшних пользователей Linux помнят дни, когда вы могли (и часто должны были) собрать собственное ядро. Если у вас было специфическое устройство, или какие-то особые требования к ядру, для вас не было другого пути. Сегодня большинство ядер работают "из коробки" с большинством оборудования. Но бывают случаи, когда вам нужно выжать еще немного производительности или даже облегчить ваше ядро на лету. Вы можете сделать это с помощью команды sysctl.
Эта утилита позволяет изменять различные параметры ядра на лету, или вы можете подредактировать специальный файл для настройки этих параметров (имеется в виду - для применения настроек при каждой загрузке - прим. пер.). В обоих случаях, вы можете изменить любые параметры, упомянутые в /proc/sys, так что если вы просто хотите проверить, как много вы можете поменять, посмотрите в каждую подпапку в /proc/sys. Например, вы можете изменить максимальное количество файловых дескрипторов на вашей машине, изменив параметр kern.maxfiles.
В общем виде sysctl используется так:
Переменная для параметра может быть логической, строковой или числовой. Вы должны запускать sysctl или как суперпользователь, или с помощью sudo.
В начале вы, наверное, захотите выполнить sudo sysctl -a. Эта команда покажет вам все настраиваемые переменные на вашей машине. Это будет выглядеть примерно так:
В общем, в обычной Linux-системе около 500 настраиваемых параметров - много возможностей для настройки, не правда ли? Если вам необходимо внимательно изучить весь список, выполните команду
и откройте получившийся файл в любимом текстовом редакторе. Давайте попробуем сделать что-нибудь полезное. Например, мы хотим включить сочетание <Ctrl>-<Alt>-<Del>, которое обычно отключено во многих дистрибутивах. Для начала, проверим, что наш дистрибутив - не исключение. Это можно сделать с помощью следующей команды:
Вывод:
Он информирует нас о том, что упомянутая функция была отключена. Давайте включим ее. Это можно сделать, выполнив:
Мы должны увидеть такой вывод:
Что говорит нам о том, что команда выполнена успешно. Вы можете, конечно, восстановить исходное значение с помощью команды:
Конечно, это только простой пример того, что может быть настроено с помощью sysctl. Изучив более 500 различных параметров, вы можете настроить ваше ядро под любые специфические нужды.
Как и с любым другим инструментом, изменяющим работающее ядро, будьте крайне осторожны при работе с sysctl. Вам лучше будет попрактиковаться с этой командой на тестовой машине, перед тем, как делать что-то на рабочем сервере. Начните с простого. Попробуйте изменить какие-нибудь параметры, которые не сделают вашу машину незагружаемой, ваши жесткие диски незаписываемыми, а вашу сеть недоступной и т. п.
Оригинал
Переведено при помощи сервиса translated.by инициативной группой переводчиков welinux при участии blackraven, Zereal.
Эта утилита позволяет изменять различные параметры ядра на лету, или вы можете подредактировать специальный файл для настройки этих параметров (имеется в виду - для применения настроек при каждой загрузке - прим. пер.). В обоих случаях, вы можете изменить любые параметры, упомянутые в /proc/sys, так что если вы просто хотите проверить, как много вы можете поменять, посмотрите в каждую подпапку в /proc/sys. Например, вы можете изменить максимальное количество файловых дескрипторов на вашей машине, изменив параметр kern.maxfiles.
Примечание: вам необходимо быть ОЧЕНЬ осторожными, пока вы играете с этой командой, потому что, помимо некорректного изменения какого-то конкретного параметра, она может вызвать потери данных или что-нибудь похуже.
Использование
В общем виде sysctl используется так:
sysctl [опции] [параметр] [переменная]
Переменная для параметра может быть логической, строковой или числовой. Вы должны запускать sysctl или как суперпользователь, или с помощью sudo.
В начале вы, наверное, захотите выполнить sudo sysctl -a. Эта команда покажет вам все настраиваемые переменные на вашей машине. Это будет выглядеть примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
kernel.sched_min_granularity_ns = 2000000 |
В общем, в обычной Linux-системе около 500 настраиваемых параметров - много возможностей для настройки, не правда ли? Если вам необходимо внимательно изучить весь список, выполните команду
sudo sysctl -a > tunable
и откройте получившийся файл в любимом текстовом редакторе. Давайте попробуем сделать что-нибудь полезное. Например, мы хотим включить сочетание <Ctrl>-<Alt>-<Del>, которое обычно отключено во многих дистрибутивах. Для начала, проверим, что наш дистрибутив - не исключение. Это можно сделать с помощью следующей команды:
sudo sysctl kernel.ctrl-alt-del
Вывод:
kernel.ctrl-alt-del = 0
Он информирует нас о том, что упомянутая функция была отключена. Давайте включим ее. Это можно сделать, выполнив:
sudo sysctl -w kernel.ctrl-alt-del=1
Мы должны увидеть такой вывод:
kernel.ctrl-alt-del = 1
Что говорит нам о том, что команда выполнена успешно. Вы можете, конечно, восстановить исходное значение с помощью команды:
sudo sysctl -w kernel.ctrl-alt-del=0
Конечно, это только простой пример того, что может быть настроено с помощью sysctl. Изучив более 500 различных параметров, вы можете настроить ваше ядро под любые специфические нужды.
Заключение
Как и с любым другим инструментом, изменяющим работающее ядро, будьте крайне осторожны при работе с sysctl. Вам лучше будет попрактиковаться с этой командой на тестовой машине, перед тем, как делать что-то на рабочем сервере. Начните с простого. Попробуйте изменить какие-нибудь параметры, которые не сделают вашу машину незагружаемой, ваши жесткие диски незаписываемыми, а вашу сеть недоступной и т. п.
Оригинал
Переведено при помощи сервиса translated.by инициативной группой переводчиков welinux при участии blackraven, Zereal.