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

Как я могу измерить фактическое использование памяти запущенными процессами?

Возможный дубликат:
Значение строки буферов / кеша в выводе free

У меня два сервера, server1 и server2. Оба они - идентичные блейд-серверы HP, работающие под одной и той же ОС (RHEL 5.5). Вот результат free для них обоих:

### server1:
             total       used       free     shared    buffers     cached
Mem:       8017848    2746596    5271252          0     212772    1768800
-/+ buffers/cache:     765024    7252824
Swap:     14188536          0   14188536

### server2:     
             total       used       free     shared    buffers     cached
Mem:       8017848    4494836    3523012          0     212724    3136568
-/+ buffers/cache:    1145544    6872304
Swap:     14188536          0   14188536

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

Но оба работают под одной и той же ОС, и, если я правильно помню, я настроил обе с одинаковыми параметрами, когда они были установлены. Я сделал diff на /etc/sysctl.conf и они идентичны.

Проблема в том, что я собираю данные об использовании памяти и других показателях за определенный период времени (например, vmstat, iostat и т. Д.), Пока в системе создается нагрузка. Память, используемая для кеширования, сбивает мои расчеты с результатами.

Как я могу измерить фактическое использование памяти моими запущенными процессами, а не использование памяти ОС для кэширования? Является used - (buffers + cached) действительный способ измерить это?

Это действительно не проблема ... Вы что-то пытаетесь решить?

Другое предложение об освобождении кеша страниц, inodes и dentries с помощью параметра drop_caches подсистемы виртуальной машины является подходящим. Попробуйте сначала.

Видеть: http://www.linuxinsight.com/proc_sys_vm_drop_caches.html для фона и контекста.

Если вам действительно интересно, что потребляет вашу оперативную память или дисковый кеш, вы можете посмотреть утилита vmtouch или посмотрите вверху и отсортируйте по использованию памяти (введите «M»). Бег pmap -x против результирующих самых верхних PID может дать вам представление о том, что находится в системе виртуальной памяти (кэширования).

Можете ли вы очистить кеш с помощью

синхронизация; эхо 3> / proc / sys / vm / drop_caches

а затем протестируйте его, используя

free -t -m