У меня есть небольшой экземпляр 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
В основном вы хотите посмотреть на свободный столбец строки буферов / кеша, поэтому у вас есть около 1.3G
бесплатно - наверное, вы в хорошей форме.
Знаменитая страница для этого «Помогите! Linux съел моего Барана!» в http://www.linuxatemyram.com/ .
Проще говоря, Linux будет использовать оперативную память для кеширования файлов и сортировки, чтобы доставлять их быстрее. Если программе действительно нужна оперативная память, она будет брать ее из кеша - но почему бы не использовать оперативную память, пока она может?
ps aux|less
дает процент памяти, используемой на процесс, и может немного помочь.