Назад | Перейти на главную страницу

Что это означает на веб-сервере Ubuntu, когда «свободное» пространство подкачки почти исчерпано?


www ~: free
             total       used       free     shared    buffers     cached
Mem:          2048       1848        199          0         21        274
-/+ buffers/cache:       1552        496
Swap:         4095       4086          9

На моем производственном веб-сервере Ubuntu, который запускает apache / nginx / MySQL и обслуживает множество веб-клиентов, похоже, что наше свободное пространство подкачки почти полностью израсходовано. Что это значит? Я знаю, что мы должны добавить на сервер больше ОЗУ / памяти, но я хочу знать, насколько это будет плохо, если текущее использование продолжится? Мы собирались подождать до этих выходных, когда закончится место под своп, произойдет ли сбой сервера? Остановить измельчение? Бежать очень медленно?

Это означает, что у вас мало памяти. Если он еще не работает безбожно медленно из-за постоянной активности диска, то у вас может быть какой-то процесс, который выделил память, но не использует ее, а затем ее выгружают. Если он закончится, система начнет несколько случайным образом убивать процессы (ищите OOM killer для множества дискуссий о том, как именно OOM выбирает, что должно умереть).

Итак, каковы некоторые способы решения этой проблемы?

Используйте команду типа top, чтобы выяснить, что использует всю память. Определите, действительно ли пожирателю памяти требуется память или это ошибка. Если это ошибка, попробуйте найти исправление.

Если вы не можете позволить себе отключение для добавления памяти, вы можете проверить, можете ли вы позволить себе короткий сбой, и просто kill kill / перезапустить этот процесс.

С Linux вы можете создавать файлы подкачки, своп не обязательно должен находиться в отдельном разделе. Так что, если вы хотите / вам нужно добавить больше свопа, вы можете сделать это довольно легко без перезагрузки.