Память, используемая неизвестными процессами на OEL6 - без кэша и slabcache

Я перерыл, "Где моя память Linux?" вопросы, но я не мог найти подобный сценарий для своего вида утечки:

  • OEL 6.3 x86_64 Linux с 6 ГБ RAM
  • без любого моего основного выполнения компонентов (2 кота, MySQL, Основанный на гризли веб-контейнер) существует приблизительно 2.3 ГБ памяти, которую съела некоторая неизвестная часть системы
  • едва afew МБ filecache
  • едва afew кэш плиты МБ
  • даже после перезагрузки
  • система является виртуальным хостом на VMware

Вот главный вывод, заказанный 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 концерта здесь, ценится!

2
задан 1 August 2014 в 17:05
2 ответа

Одна вещь, которую многие упускают, особенно при запуске Tomcat и других Java-приложений на VMware, это влияние, которое это программное обеспечение оказывает на распределение памяти VMware.

Итак, во-первых:

  • У вас есть доступ к управлению vSphere или vCenter для хоста/кластера?
  • Установлены ли у вас инструменты VMware?

Я часто вижу необъяснимые проблемы с памятью внутри ВМ Linux при следующих условиях:

  • Экстремальное превышение оперативной памяти на уровне хоста.
  • Тяжелое вздутие памяти на хосте/кластере.
  • Если на ВМ имеются ограничения оперативной памяти. (например, на ВМ выделено 6 Гб, но с лимитом на 4 Гб на хосте)
  • Плохой пул ресурсов/дизайн разделов.

В основном, вам нужно искать разногласия на уровне хост/кластер.

Пример этого:
vSphere education - Каковы недостатки настройки ВМ с *too* большим количеством оперативной памяти?

1
ответ дан 3 December 2019 в 12:52

попробуйте

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% точность, но я думаю, что достаточно хорошо для вашей "проблемы".

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

.
0
ответ дан 3 December 2019 в 12:52

Теги

Похожие вопросы