Как узнать куда девается оперативная память в Linux?

Не могу понять, куда теряется память.
Дело в том, что сумма по процессам в ps показывает одно, а доступная память (считал как inactive+free+cached) - совсем другое.

Разница в 10 гигабайт. Есть подозрение, что что-то течет, но при этом память не освобождает, даже после завершения процесса.

Сбор памяти проверял простым кодом на bash

#!/bin/sh 

d=`date +%F_%H` 
f=/root/vm_utilize/$d.log 

ps axu | awk '{print $11 " " $5}' | grep -v ' 0$' | grep -v VSZ >> $f 

sum=0 
for i in  `ps axu | awk '{print $5}' | grep -v VSZ`; do 
  sum=$(($sum + $i)) 
done 
echo $sum >> $f


UPD:
slabtop помог увидеть:
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
21155820 21155820 100% 0.19K 1057791 20 4231164K dentry

Это очень много!
Описание проблемы нашел вот здесь -serverfault.com/questions/561350/unusually-high-de...
Обновил в итоге libcurl.

Вопрос закрыт.
Описано тут:
forum.openvz.org/index.php?t=msg&goto=48093&

Там есть решение:
sync && echo 2 >/proc/sys/vm/drop_caches

Дополнительно обсуждалось тут:
Вся память постепенно уходит под Cached
linsovet.org.ua/content/linux-flush-system-caches
  • Вопрос задан
  • 4806 просмотров
Решения вопроса 1
@relsy Автор вопроса
Чтобы развеять сомнения.
Вот пример (free или cat /proc/meminfo):
MemTotal: 32 880 924 kB

MemFree: 12 564 540 kB
Buffers: 366 052 kB
Cached: 4 967 724 kB
Inactive: 2 853 512 kB

Итого - свободно 20 385 776
Сумма по процессам при этом - 8 839 420 kB (считал через ps - код написал выше). Куда-то делась еще ~4 Гб памяти.
Как думаете - в чем тут изъян?

===============================
UPD
Вопрос закрыт.
Описано тут:
forum.openvz.org/index.php?t=msg&goto=48093&

Там есть решение:
sync && echo 2 >/proc/sys/vm/drop_caches

Дополнительно обсуждалось тут:
Вся память постепенно уходит под Cached
linsovet.org.ua/content/linux-flush-system-caches
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
fadeev2010
@fadeev2010
Работаю в planiro.com
Почему top и free показывают, что память занята, если это не так?

www.linuxatemyram.ru
Ответ написан
Комментировать
edinorog
@edinorog
Троллей не кормить!
самое забавное в этих советах что ты реально не можешь проверить где утечка, а где мусор который система видите ли решила перенести в оперативку ;). про андроид тоже часто пишут что он освободит память по мере необходимости .. наступает необходимость и твой телефон решает перезагрузиться ... потому-что ему видите ли памяти не хватает даже на системные задачи.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
www.linuxatemyram.ru
welinux.ru/post/2388

Ну и посчитали вы, вероятно, неправильно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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