Differences
This shows you the differences between two versions of the page.
proxmox:proxmox_ksmd_high_cpu_load [2019/11/12 06:58] – created admin | proxmox:proxmox_ksmd_high_cpu_load [2019/11/12 07:43] (current) – [Решение] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Проблема ====== | ||
+ | На хосте **Proxmox** (многих версий, | ||
+ | ====== Решение ====== | ||
+ | Очевидно - решение в тонкой настройке демона **ksmd**, который занимается поиском и слиянием (merging) страниц памяти с одинаковым содержимым для высвободжения памяти. Настройки демона хранятся в файле **/ | ||
+ | Помогает увеличение интервала **KSM_SLEEP_MSEC** до 100 милисекунд: | ||
+ | KSM_SLEEP_MSEC=100 | ||
+ | Значение остальных параметров: | ||
+ | * **KSM_MONITOR_INTERVAL** - временной интервал в секундах между сканированиями. | ||
+ | * **KSM_SLEEP_MSEC** - временной интервал в милисекундах между сканированиями кусков по 16Gb. текущее значение можно найти тут: **/ | ||
+ | * **KSM_NPAGES_BOOST** - число страниц, | ||
+ | * **KSM_NPAGES_DECAY** - число страниц, | ||
+ | * **KSM_NPAGES_MIN** - минимальное число страниц памяти, | ||
+ | * **KSM_NPAGES_MAX** - максимальное число сканируемых страниц | ||
+ | * **KSM_THRES_COEF** - порог количества свободной памяти в процентах, | ||
+ | * **KSM_THRES_CONST** - порог количества свободной памяти в килобайтах, | ||
+ | Текущий размер страницы памяти можно получить так: | ||
+ | getconf PAGE_SIZE | ||
+ | На сервере с объемом памяти 32Gb я использую такие значения: | ||
+ | KSM_SLEEP_MSEC=1000 | ||
+ | KSM_THRES_COEF=50 | ||
+ | Перезапустить демон **ksmd** можно такой командой: | ||
+ | sudo service ksmtuned restart |