Я получаю противоречивую информацию об использовании памяти виртуализированным сервером. Самая тревожная информация такова:
Обратите внимание, что серверу выделено только 4 ГБ ОЗУ, хотя зафиксировано 12 ГБ.
Кроме того, если я бегу ps aux | grep httpd
Получаю следующее:
root 1566 0.1 9.5 580392 375540 ? Ss Jun18 96:15 /usr/local/apache/bin/httpd -k start -DSSL
root 4212 0.0 9.4 580388 371948 ? S 08:01 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 7674 0.6 9.5 580392 373600 ? S 08:26 0:02 /usr/local/apache/bin/httpd -k start -DSSL
nobody 10894 0.6 9.5 580532 373508 ? S 08:28 0:01 /usr/local/apache/bin/httpd -k start -DSSL
nobody 11668 0.6 9.5 580392 373600 ? S 08:29 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 11669 0.6 9.5 580392 373512 ? S 08:29 0:01 /usr/local/apache/bin/httpd -k start -DSSL
nobody 11975 0.6 9.5 580392 373492 ? S 08:29 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 12108 0.7 9.5 580392 373492 ? S 08:29 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 12993 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13080 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13211 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13496 0.6 9.5 580392 373520 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13497 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13829 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13858 0.6 9.5 580392 373492 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 13963 0.6 9.5 580392 373484 ? S 08:30 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14070 0.7 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14290 0.6 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14404 0.6 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14745 0.6 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14850 0.6 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 14957 0.5 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15061 0.6 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15174 0.8 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15228 0.6 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15263 0.4 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15264 0.5 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15290 0.7 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15291 0.5 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15294 0.4 9.5 580392 373484 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15296 0.6 9.5 580392 373492 ? S 08:31 0:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody 15401 0.5 9.5 580392 373484 ? S 08:32 0:00 /usr/local/apache/bin/httpd -k start -DSSL
root 15506 0.0 0.0 103228 840 pts/0 S+ 08:32 0:00 grep httpd
Это составляет более 294,5% используемой памяти.
top
дает аналогичные результаты.
Однако, если я убегу free -m
Я получаю это:
total used free shared buffers cached
Mem: 3831 3647 184 0 257 2358
-/+ buffers/cache: 1031 2799
Swap: 4031 29 4002
Мне это кажется нормальным, никаких признаков переполнения памяти.
Сервер относительно быстрый, нет необычных простоев / медлительности, и я бы хотел, чтобы это было так. Аномальные показания - просто аномалия или что-то более серьезное?
У тебя достаточно памяти. У вас возникнут проблемы с памятью, если ваша используемая память превысит максимальный объем, а количество буферов и кеширования будет очень низким, использование SWAP будет прервано, тогда у вас, вероятно, возникнут проблемы со свободной оперативной памятью. Из твоего поста все ок ....
Это простое объяснение того, что такое фиксированная память:
Committed_AS: An estimate of how much RAM you would need to make a 99.99% guarantee that there never is OOM (out of memory) for this workload. Normally the kernel will overcommit memory. That means, say you do a 1GB malloc, nothing happens, really. Only when you start USING that malloc memory you will get real memory on demand, and just as much as you use. So you sort of take a mortgage and hope the bank doesn't go bust. Other cases might include when you mmap a file that's shared only when you write to it and you get a private copy of that data. While it normally is shared between processes. The Committed_AS is a guesstimate of how much RAM/swap you would need worst-case.
Вот объяснение дыры http://www.redhat.com/advice/tips/meminfo.html
Так что проблем с памятью нет, все в порядке, показания нормальные.
В вашей модели apache используется общая память, это нормально. ps / top не покажет вам точное использование, это непростая задача. Пытаться http://www.pixelbeat.org/scripts/ps_mem.py