blackraven 27.10.2010 11:17
Переводы — Как настроить ядро Linux с помощью sysctl
Не многие из сегодняшних пользователей Linux помнят дни, когда вы могли (и часто должны были) собрать собственное ядро. Если у вас было специфическое устройство, или какие-то особые требования к ядру, для вас не было другого пути. Сегодня большинство ядер работают "из коробки" с большинством оборудования. Но бывают случаи, когда вам нужно выжать еще немного производительности или даже облегчить ваше ядро на лету. Вы можете сделать это с помощью команды sysctl.Эта утилита позволяет изменять различные параметры ядра на лету, или вы можете подредактировать специальный файл для настройки этих параметров (имеется в виду - для применения настроек при каждой загрузке - прим. пер.). В обоих случаях, вы можете изменить любые параметры, упомянутые в /proc/sys, так что если вы просто хотите проверить, как много вы можете поменять, посмотрите в каждую подпапку в /proc/sys. Например, вы можете изменить максимальное количество файловых дескрипторов на вашей машине, изменив параметр kern.maxfiles.
Примечание: вам необходимо быть ОЧЕНЬ осторожными, пока вы играете с этой командой, потому что, помимо некорректного изменения какого-то конкретного параметра, она может вызвать потери данных или что-нибудь похуже.
Использование
В общем виде sysctl используется так:
1 |
|
Переменная для параметра может быть логической, строковой или числовой. Вы должны запускать sysctl или как суперпользователь, или с помощью sudo.
В начале вы, наверное, захотите выполнить sudo sysctl -a. Эта команда покажет вам все настраиваемые переменные на вашей машине. Это будет выглядеть примерно так:
В общем, в обычной Linux-системе около 500 настраиваемых параметров - много возможностей для настройки, не правда ли? Если вам необходимо внимательно изучить весь список, выполните команду
1 |
|
и откройте получившийся файл в любимом текстовом редакторе. Давайте попробуем сделать что-нибудь полезное. Например, мы хотим включить сочетание <Ctrl>-<Alt>-<Del>, которое обычно отключено во многих дистрибутивах. Для начала, проверим, что наш дистрибутив - не исключение. Это можно сделать с помощью следующей команды:
1 |
|
Вывод:
kernel.ctrl-alt-del = 0
Он информирует нас о том, что упомянутая функция была отключена. Давайте включим ее. Это можно сделать, выполнив:
1 |
|
Мы должны увидеть такой вывод:
kernel.ctrl-alt-del = 1
Что говорит нам о том, что команда выполнена успешно. Вы можете, конечно, восстановить исходное значение с помощью команды:
1 |
|
Конечно, это только простой пример того, что может быть настроено с помощью sysctl. Изучив более 500 различных параметров, вы можете настроить ваше ядро под любые специфические нужды.
Заключение
Как и с любым другим инструментом, изменяющим работающее ядро, будьте крайне осторожны при работе с sysctl. Вам лучше будет попрактиковаться с этой командой на тестовой машине, перед тем, как делать что-то на рабочем сервере. Начните с простого. Попробуйте изменить какие-нибудь параметры, которые не сделают вашу машину незагружаемой, ваши жесткие диски незаписываемыми, а вашу сеть недоступной и т. п.
Оригинал
Переведено при помощи сервиса translated.by инициативной группой переводчиков welinux при участии blackraven, Zereal.

+ 1 -
В /etc/sysctl.conf вышеупомянутая команда ничего не пишет, посему вопрос: запомнит ли система таким образом внесённое изменение при следующей загрузке?
ИМХО: Большинство переводных статей совсем не раскрывают темы - как будто повествование оборвалось на введении
Статья хорошая, введение хорошее, но не хватает жаль не хватает очень большого, и действительно, нужного куска.
буду читать свои сообщения перед отправкой
буду читать свои сообщения перед отправкой
буду читать свои сообщения перед отправкой
буду читать свои сообщения перед отправкой
буду читать свои сообщения перед отправкой
будьте добры, укажите критерии статей для перевода. что в них должно быть обязательно и по умолчанию? какой уровень раскрытия темы и пр?
Угу и желательно что-нить про тюнинг tcp/ip стэка на каком-нить реальном вебсервере:)
Сразу бы ушло в закладки, а то приходится каждый раз гуглить по параметрам и собирать то что нужно из подобных обрывков...
Сразу бы ушло в закладки, а то приходится каждый раз гуглить по параметрам и собирать то что нужно из подобных обрывков...
нда. я уж приготовился.. и реально - оборвалось...
давайте хоть общими силами соберем стопку параметров, которые реально и заметно что-то меняют...
от меня:
можно менять файл /etc/sysctl.conf чтобы он применялся при каждой загрузке.
чтобы применить его на лету: sysctl -p
давайте хоть общими силами соберем стопку параметров, которые реально и заметно что-то меняют...
от меня:
можно менять файл /etc/sysctl.conf чтобы он применялся при каждой загрузке.
чтобы применить его на лету: sysctl -p
хмм... надо будет попробовать... угроблю свою машинку=)))
ну, и как обычно, мой придирчивый взгляд нашёл очепятки=)) отправил в ПС blackraven'у
ну, и как обычно, мой придирчивый взгляд нашёл очепятки=)) отправил в ПС blackraven'у
Парсер-лох... Он сожрал то, что было написано в угловых скобках...
в статье неправильное ядро!
у меня 407 строк там
а так - согласен - не раскрыт не tcp/ip ни виртпамять...нифига короче :(
у меня 407 строк там
а так - согласен - не раскрыт не tcp/ip ни виртпамять...нифига короче :(
помнят дни, когда вы могли (и часто должны были) собрать собственное ядро
ну почему же, помню. открываешь любую книгу/руководство по Линуксу, а она обязательно начинается - "Для начала мы должны собрать ядро..." :-)
ностальгия..
вопрос для расширения кругозора - когда вступают в силу настройки из /etc/sysctl.conf ? загружается ли сначало ядро и система, а потом применяются эти настройки, или же ядро уже подгружается с этими опциями?