Я испытываю частые падения производительности моего сервера (влияет как на производительность веб-сервера, так и на ssh). Он может нормально работать весь день, а затем внезапно страницы загружаются в 10 раз медленнее. Через некоторое время он возвращается к нормальной работе. Перезагрузка тоже помогает. Подскажите пожалуйста, как это расследовать? Предварительные требования:
Существует множество возможностей снижения производительности, но наиболее вероятной причиной является нехватка оперативной памяти, что приводит к перестановке системы.
Вы можете использовать free -m
для получения использования памяти, пример вывода:
total used free shared buffers cached
Mem: 3632 2512 1120 0 233 1456
-/+ buffers/cache: 822 2810
Swap: 8192 0 8192
Фактическое свободное место, которое может быть выделено, отображается в строке с -/+ buffers/cache
. Если вы обнаружите, что ваш сервер переключается слишком быстро, вам может потребоваться уменьшить настройку vm.swappiness
. Вы можете найти текущую настройку swappiness, запустив sysctl vm.swappiness
. Диапазон значений от 0 до 100, более низкое значение будет использовать своп позже, более высокое значение заставит ядро использовать своп раньше. Если вы решили установить это значение на 10
, вам нужно будет выполнить следующую команду, чтобы изменить его во время выполнения:
sudo sysctl -w sysctl vm.swappiness=10
Чтобы сделать его постоянным (т.е. после перезагрузки), добавьте строку [ 117] до /etc/sysctl.conf
.