Slash-Zn
@Slash-Zn

Как снизить нагрузку на оперативную память в Linux (VPS)?

Здравствуйте.
Оперативная память: 991 MiB
ОС: Ubuntu 16
Nginx + Apache (php)

Проблема в том, что оперативная память постоянно заполняется, заполняется мгновенно, за 20 минут может забиться 300 мегабайт. Как только остается свободного места ~70 мегабайт, так могу получить падение сайта и ошибку в логе такого вида:
[Fri May 11 16:04:32.369104 2018] [mpm_itk:error] [pid 3620] child died with signal 7

На данный момент добавил в планировщик команду (каждые 20 минут):
sync; echo 3 > /proc/sys/vm/drop_caches
Но это мне кажется плохим решением...
На утечку памяти в PHP, думаю, грешить не стоит, так как посещаемость не большая, да и за 20 минут, 300 mb наврятли бы утекло...

Подскажите, как можно снизить нагрузку на оперативку? Или хотя бы сделать, чтобы в памяти всегда оставалось свободное место, пусть даже 300 mb.

free -m на момент написания поста:
total        used        free      shared  buff/cache   available                                    
Mem:            991         518         198          87         275         233                                    
Swap:             0           0           0

Спасибо.
  • Вопрос задан
  • 373 просмотра
Реклама
Реклама
Пригласить эксперта
Ответы на вопрос 3
  • @Reversaidx
    Встряли ошибки связаны, при недостатки памяти вызывается OOMKiller, у вас такого нет.
    То что параметр free уменьшается не является ошибкой проблемой или чем-то особенным(это нормально для ОС Linux из-за активного кэширования).
    Я бы в первую очередь удалил бы устаревший ITK вместо него поставил Prefork, ограничил максимальное количество клиентов к веб серверу. Если установлены модули прекомпиляции по типу Xcache можно попробывать их удалить(в случае Xcache попытаться заменить на Opcache)
    Ответ написан
  • @SyavaSyava
    Есть деловое предложение? Пишите, почта в профиле!
    У вас же написано: free 548
    Т.е. больше половины оперативной памяти свободно.
    Из этих 548 большая часть обычно занята дисковым кешем, что бы не простаивала зря.
    При необходимости в выделении памяти какой-либо программе этот кэш будет удалён и нужное количество памяти будет выделено.
    Это особенность работы с памятью под Linux, подробнее можете почитать в сети.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Реклама