Deckhouse автоматически настраивает и управляет рядом параметров работы ядра сервера, используя утилиту sysctl
.
Заданные параметры повышают сетевую пропускную способность, предотвращают нехватку ресурсов
и оптимизируют управление памятью.
При изменении этих параметров Deckhouse автоматически вернет их к значениям, перечисленным ниже.
Параметр | Значение, которое устанавливает Deckhouse | Описание |
---|---|---|
/sys/block/*/queue/nr_requests |
256 |
Количество запросов в очереди для блочных устройств. |
/sys/block/*/queue/read_ahead_kb |
256 |
Объем дополнительных данных, которые ядро считывает с диска для ускорения чтения в дальнейшем. |
/sys/kernel/mm/transparent_hugepage/enabled |
never |
Отключает Transparent HugePage. |
/sys/kernel/mm/transparent_hugepage/defrag |
never |
Отключает дефрагментацию Transparent HugePage. |
/sys/kernel/mm/transparent_hugepage/use_zero_page |
0 |
Отключает использование нулевых huge-страниц. |
/sys/kernel/mm/transparent_hugepage/khugepaged/defrag |
0 |
Отключает дефрагментацию через khugepaged . |
/proc/sys/net/ipv4/conf/*/rp_filter |
0 |
Отключает «фильтрацию обратного пути» (reverse path filtering) для всех интерфейсов. |
fs.file-max |
1000000 |
Максимальное количество открытых файлов. |
fs.inotify.max_user_instances |
5120 |
Максимальное количество экземпляров inotify. |
fs.inotify.max_user_watches |
524288 |
Максимальное количество файлов, отслеживаемых одним экземпляром inotify. |
fs.may_detach_mounts |
1 |
Разрешает отмонтировать файловую систему в режиме lazy unmounting. |
kernel.numa_balancing |
0 |
Запрещает автоматическую балансировку памяти с архитектурой NUMA. |
kernel.panic |
10 (0, если включен fencing) |
Время в секундах, после которого произойдет перезагрузка узла при возникновении фатальной ошибки kernel panic. По умолчанию устанавливается значение 10 . Если на узле включен режим fencing , устанавливается значение 0 , тем самым предотвращая перезагрузку узла. |
kernel.panic_on_oops |
1 |
Разрешает системе активировать kernel panic при возникновении непредвиденной ошибки oops. Параметр необходим для корректной работы kubelet. |
kernel.pid_max |
2000000 |
Максимальное количество ID процессов (PID), которое можно назначить в системе. |
net.bridge.bridge-nf-call-arptables |
1 |
Разрешает фильтрацию трафика с помощью arptables. Параметр необходим для корректной работы kube-proxy. |
net.bridge.bridge-nf-call-ip6tables |
1 |
Разрешает фильтрацию трафика с помощью ip6tables. Параметр необходим для корректной работы kube-proxy. |
net.bridge.bridge-nf-call-iptables |
1 |
Разрешает фильтрацию трафика с помощью iptables. Параметр необходим для корректной работы kube-proxy. |
net.core.netdev_max_backlog |
5000 |
Максимальное количество пакетов в очереди на обработку. |
net.core.rmem_max |
16777216 |
Максимальный размер приемного буфера в байтах. |
net.core.somaxconn |
1000 |
Максимальное количество соединений в очереди. |
net.core.wmem_max |
16777216 |
Максимальный размер пересылочного буфера в байтах. |
net.ipv4.conf.all.forwarding |
1 |
Разрешает перенаправление IPv4-пакетов между сетевыми интерфейсами. Равнозначно параметру net.ipv4.ip_forward . |
net.ipv4.ip_local_port_range |
"32768 61000" |
Диапазон портов для исходящих TCP- и UDP-соединений. |
net.ipv4.neigh.default.gc_thresh1 |
16384 |
Нижний порог количества ARP-записей, после которого система начнет удалять старые записи. |
net.ipv4.neigh.default.gc_thresh2 |
28672 |
Средний порог количества ARP-записей, после которого система запустит очистку памяти. |
net.ipv4.neigh.default.gc_thresh3 |
32768 |
Предельно допустимое количество ARP-записей. |
net.ipv4.tcp_max_syn_backlog |
8096 |
Максимальное количество SYN-соединений в очереди. |
net.ipv4.tcp_no_metrics_save |
1 |
Запрещает сохранение TCP-метрик закрытых соединений и их повторное использование для новых соединений. |
net.ipv4.tcp_rmem |
"4096 12582912 16777216" |
Размеры приемного буфера для входящих TCP-пакетов в байтах: "<минимальный> <по умолчанию> <максимальный>" . |
net.ipv4.tcp_slow_start_after_idle |
0 |
Запрещает использование окна перезагрузки (congestion window, CWND) и алгоритма медленного старта для TCP-соединений. |
net.ipv4.tcp_tw_reuse |
1 |
Разрешает повторное использование исходящих TCP-соединений в состоянии TIME-WAIT . |
net.ipv4.tcp_wmem |
"4096 12582912 16777216" |
Размеры пересылочного буфера для исходящих TCP-пакетов в байтах: "<минимальный> <по умолчанию> <максимальный>" . |
net.netfilter.nf_conntrack_max |
<кол-во ядер * 131072> или 524288 |
Максимальное количество отслеживаемых соединений в таблице conntrack. Рассчитывается по формуле: «количество выделенных CPU-ядер» * 131072, но не менее 524288 . |
net.nf_conntrack_max |
<кол-во ядер * 131072> или 524288 |
Максимальное количество отслеживаемых соединений в таблице conntrack для старых версий ядра. Рассчитывается по формуле: «количество выделенных CPU-ядер» * 131072, но не менее 524288 . |
vm.dirty_background_ratio |
5 |
Доля системной памяти в процентах, которую допустимо занимать “грязными” страницами (dirty pages), прежде чем начнется запись на диск в асинхронном режиме. |
vm.dirty_expire_centisecs |
12000 |
Продолжительность периода в сотых долях секунды, пока “грязная” страница (dirty page) может оставаться в системной памяти, после чего она должна быть записана на диск. |
vm.dirty_ratio |
80 |
Доля системной памяти в процентах, которую допустимо занимать “грязными” страницами (dirty pages), прежде чем все процессы остановятся и будет выполнен сброс данных на диск. |
vm.min_free_kbytes |
131072 |
Минимальный объем свободной памяти в килобайтах, который резервируется ядром для выполнения критических операций. |
vm.overcommit_memory |
1 |
Разрешает избыточное выделение памяти (memory overcommitment). |
vm.swappiness |
0 |
Запрещает использование файла подкачки. |