Я перерыл, "Где моя память Linux?" вопросы, но я не мог найти подобный сценарий для своего вида утечки:
Вот главный вывод, заказанный RES desc:
top - 15:57:26 up 3:26, 1 user, load average: 0.27, 0.26, 0.76
Tasks: 192 total, 1 running, 191 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 5993276k total, 2257256k used, 3736020k free, 23772k buffers
Swap: 4063224k total, 89644k used, 3973580k free, 98960k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3236 root 20 0 123m 8384 1520 S 0.0 0.1 0:01.05 Xorg
3373 gdm 20 0 369m 3840 2464 S 0.0 0.1 0:00.69 gdm-simple-gree
3358 gdm 20 0 337m 2916 1940 S 0.0 0.0 0:05.30 gnome-settings-
16380 root 20 0 157m 2708 2192 S 0.0 0.0 0:00.01 su
20174 root 20 0 157m 2704 2192 S 0.0 0.0 0:00.01 su
свободный-m:
-/+ buffers/cache: 2083 3769
/proc/meminfo для плиты:
MemTotal: 5993276 kB
MemFree: 3722140 kB
Slab: 50724 kB
Любая подсказка при обнаружении, что ест это 2 концерта здесь, ценится!
Одна вещь, которую многие упускают, особенно при запуске Tomcat и других Java-приложений на VMware, это влияние, которое это программное обеспечение оказывает на распределение памяти VMware.
Итак, во-первых:
Я часто вижу необъяснимые проблемы с памятью внутри ВМ Linux при следующих условиях:
В основном, вам нужно искать разногласия на уровне хост/кластер.
Пример этого:
vSphere education - Каковы недостатки настройки ВМ с *too* большим количеством оперативной памяти?
попробуйте
grep VmPea /proc/*/status|sort -n -k+2 |tail
, как написано полиномом в ссылке ниже
serverfault почти нет свободной памяти
Вы ведь читали Serverfault Canonical question about Memory use in linux , верно?
Кроме того, вы можете добавить потоки в top
, нажав H (по крайней мере, для меня на ubuntu 12.04)
Для дополнительной отладки:
ищите ps_mem.py
один Python скрипт памяти
С его помощью вы можете увидеть, какой процесс на самом деле использует оперативную память (приватную/обменную). Не 100% точность, но я думаю, что достаточно хорошо для вашей "проблемы".
Есть много других способов действительно обнаружить проблему, но я предлагаю сначала проверить, действительно ли она используется чем-то, а не просто буферизируется, что совершенно нормально.
.