Веб-серверу не хватает памяти
У меня есть небольшой экземпляр EC2 с 2 гигабайтами памяти, работающий под управлением Fedora Linux.
Обычно я получаю в среднем около 275 просмотров страниц в день, и у меня есть агент мониторинга. Некоторые показатели немного беспокоят с точки зрения свободной памяти.
На прошлой неделе в самой низкой точке у нас было только 30 МБ свободной памяти, сегодня утром она увеличилась примерно до 150 МБ. Hyperic - наш агент мониторинга, который работает на Java. Топ показывает, что его использование памяти составляет всего около 3,4%.
Когда я складываю все процессы httpd, я получаю около 15-20% использования памяти, а mysql - около 1%.
Топ не показывает, куда уходит остальная часть памяти. Что я могу сделать, чтобы выяснить, что вызывает высокое потребление памяти? Это может быть 275 хитов в день? Около 95% нашего кода - это PHP и HTML. MySQL слегка используется из приложения под названием OpenVBX, которое используется только для внутреннего использования.
Если это apache, обновление памяти должно решить нашу проблему, верно?
Любой совет будет огромной помощью, спасибо!
ОБНОВЛЕНИЕ: бесплатно показывает это:
total used free shared buffers cached
Mem: 1718724 1575024 143700 0 234328 969284
-/+ buffers/cache: 371412 1347312
Swap: 917500 1140 916360
2 ответа
По сути, вы хотите посмотреть на свободный столбец строки буферов / кэша, так что у вас есть около 1.3G
бесплатно - вы, вероятно, в хорошей форме.
Знаменитая страница "Помогите! Линукс съел мой баран!" на http://www.linuxatemyram.com/.
Проще говоря, Linux будет использовать оперативную память для кэширования файлов и сортировки, чтобы быстрее доставлять их. Если программе действительно нужен оперативная память, она будет извлекать ее из кэша, но почему бы не использовать оперативную память, пока она может?
ps aux|less
дает процент памяти, используемой на процесс, и может немного помочь.