В репозитории CentOS присутствуетпакет ktune, содержащий набор готовых настроек для оптимизации работы ядра
на машинах с большим размером ОЗУ в ситуациях повышенной сетевой и дисковой нагрузки.
Например, ktune увеличивает размер TCP/IP буферов, включает планировщик ввода/вывода deadline,
устанавливает оптимальные значения для pagecache и т.п.
Полный список настроек можно найти в файлах /etc/sysctl.ktune и /etc/sysconfig/ktuneдля активации необходимо выполнить:
yum install ktune
chkconfig ktune on
service ktune start
Устанавливаются следующие sysctl:
# Устанавливаем в 256 Кб размер буферов по умолчанию для приема и отправки данных через сокеты
net.core.rmem_default = 262144
net.core.wmem_default = 262144
# Устанавливаем в 8Мб максимальный размер буфера сокетов.
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
# Максимальный размер очереди пакетов для 10 гб или объединенных гигабитных линков
net.core.netdev_max_backlog = 10000
# Тюнинг буферов для TCP и UDP соединений (для машин с большим объемом ОЗУ)
net.ipv4.tcp_rmem = 8192 87380 8388608
net.ipv4.tcp_wmem = 8192 65536 8388608
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.udp_mem = 8388608 12582912 16777216
# Понижаем приоритет начала своппинга
vm.swappiness = 30
# Начинаем принудительно чистить буферы, когда они занимают более 50% размера ОЗУ
vm.dirty_ratio = 50
# Ограничиваем размер файлового кеша, предотвращая начало свопинга
vm.pagecache = 90
Включаем deadline планировщик для диска sda:
echo deadline > /sys/block/sda/queue/scheduler
URL: http://prefetch.net/blog/index.php/2009/04/26/performance-tu.../
Обсуждается: https://www.opennet.ru/tips/info/2048.shtml