У меня есть машина Linux, которая сообщает, что почти вся ее память и подкачка используются, но я не могу определить какие-либо процессы, использующие значительный объем памяти на машине. У нас работает ядро Linux 2.6.32-431.40.2.el6.x86_64 , созданное без изменений из srpm RHEL. Это физическая, а не виртуальная система; Dell C6100 с двумя 6-ядерными процессорами Intel X5650. Система работала в течение 12 дней, и здесь используется память и подкачка.

Mem:  49416180k total, 48890424k used,   525756k free,    18300k buffers
Swap: 12582908k total, 12582908k used,        0k free,   727252k cached

Я выполнил следующие команды и получил следующие выходные данные, ни один из которых, кажется, не указывает, что какой-либо процесс на машине потребляет значительный объем памяти:

ps -eo pid,args,pmem --sort pmem 

Вот полный вывод этой команды ps на Pastebin.

Я также запустил slabtop -o и cat /proc/meminfo и вот полный вывод этих команд на Pastebin.

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

2 ответа2

0

Причиной этой проблемы оказалась ошибка (LU-5726) в одном из модулей ядра Luster, работающих в системе. Это приводило к утечке памяти ядром каждый раз, когда файл удалялся из файловой системы Luster, которую размещал компьютер. Обновление до Luster 2.5.4 (в котором исправление было объединено) решило проблему.

Цитата из сообщения об ошибке (которая была не моей, а моей):

Описание:

При удалении большого количества файлов использование памяти на сервере MDS значительно возрастает. Попытки восстановить память путем удаления кэшей приводят только к освобождению части памяти. Использование буфера продолжает расти до тех пор, пока сервер MDS не начнет OOMing.

Скорость, с которой увеличивается использование буфера, кажется различной, но похоже, что она может быть основана на количестве клиентов, которые удаляют файлы, и скорости, с которой файлы удаляются.

В ответ на патч сообщалось, что:

Мы только что применили исправление сегодня к нашей производственной файловой системе (Luster 2.4.3) и сейчас выполняем некоторые серьезные чистки. Я собрал некоторую информацию об использовании памяти. До патча казалось, что в росте памяти преобладает «Неактивно (файл)» в /proc /meminfo. Я удалил кеш на сервере MDS (echo 3> /proc /sys /vm /drop_caches) и собирал неактивное (файловое) использование каждую минуту:

неактивен (файл): 1146656 кБ ..... Число сначала быстро увеличивалось, но затем немного выровнялось. Просто чтобы перепроверить, я снова сбросил кеш:

Неактивно (файл): 401152 КБ ....

У нас такое же поведение, и что более важно, мы, кажется, возвращаем память из Inactive (файл). Я также проверил MemFree и Buffers до / после удаления кэшей:

(До) MemTotal: 66053640 кБ MemFree: 51291028 кБ Буферы: 10685976 кБ

(После) MemTotal: 66053640 кБ MemFree: 63239432 кБ Буферы: 198148 кБ

Использование буфера упало ниже 200 МБ. Учитывая скорость, с которой мы очищаемся, этого никогда бы не произошло до применения патча.

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

Дополнительно

Я снова проверил использование памяти MDS этим утром:

MemTotal: 66053640 кБ MemFree: 5568288 кБ Буферы:
55504980 КБ Активен: 22374284 КБ Неактивен: 33260116 КБ

После того как я уронил кеши:

MemTotal: 66053640 кБ MemFree: 63146420 кБ Буферы:
59788 кБ Активен: 57960 кБ Неактивен: 93452 КБ

Похоже, патч успешен.

https://jira.hpdd.intel.com/browse/LU-5726

0

Из того, что я могу видеть здесь, является то, что это кэширование диска Linux. Ваша память просто в порядке, когда процесс нуждается в нем, он может просто использовать его.

Более подробная информация об этом здесь:http://www.linuxatemyram.com/

Единственное, в чем я не слишком уверен, это использование SWAP. Я не видел такого высокого использования ни на одной из моих машин.

erik@xenon ~] $ free -m total used free shared buffers cached Mem: 7883 7756 126 0 201 5702 -/+ buffers/cache: 1852 6030 Swap: 8068 11 8057

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .