LINUX.ORG.RU

Некорректное заполнение оперативной памяти

 , , ,


0

1

Система debian с окружением mate.

Оперативной памяти: 7,7 Гб

Раздел подкачки: 976 M

Около двух месяцев назад оперативная память стала заполняться некорректно: нагрузка очевидно больше в два и в три раза, чем запущено компонентов. Согласно mate-system-monitor в системе запущены виртуальные машины суммарной памятью на 2,5 Гб оперативы и еще энное количество компонентов графической оболочки: суммарно около 100 М Это соответствует действительности. Вывод ps показывает примерно то же самое.

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

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

В общем, подскажите пожалуйста куда потыкать, потому что так жить нельзя.

Ответ на: комментарий от Nevermind

Какие именно?

Как вариант, раз уж в ‘час икс’ все зависает, использовать утилиты в интерактивном виде, а потом фоткать и выкладывать.
Типа, watch free -m и dmesg -TW.

Имхо, dmesg должен показать приход oom-killer, но в дефолтном линуксе с дефолтным киллером, он приходит с бооольшим опозданием.
Если, конечно, проблема софтовая и мы исключаем железо.

upd. Так же учитываем, что MGLRU появится только в ядре 6.1, а значит возможны зависания и ‘заморозки’, когда начинается резкий сброс данных из памяти на swap, из-за ее нехватки.

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 3)

Около двух месяцев

А вообще, меня в первую очередь эта фраза заинтересовала. Так что же случилось два месяца назад? Было большое обновление системы, или добавлено несколько новых виртуальных машин… или еще что?

krasnh ★★★
()
Ответ на: комментарий от krasnh

В такие моменты, у него все намертво зависает. )

Ну запустите что-то типа:

while sleep 10; do cat /proc/meminfo >~/meminfo; done

— будет раз в 10 секунд записывать содержимое в ~/meminfo.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Я по-всякому попробовал его насиловать, потому что да, комп виснет безбожно, а затем вырубает qemu/kvm, оперативная память разгружается резко. Получилось только после вот такого затыка получить такой /proc/meminfo

MemTotal:        8071108 kB
MemFree:         2489260 kB
MemAvailable:    2604084 kB
Buffers:           17020 kB
Cached:           629984 kB
SwapCached:        38188 kB
Active:          3326820 kB
Inactive:        1947360 kB
Active(anon):    3263100 kB
Inactive(anon):  1712664 kB
Active(file):      63720 kB
Inactive(file):   234696 kB
Unevictable:       17600 kB
Mlocked:              48 kB
SwapTotal:        999420 kB
SwapFree:         737916 kB
Dirty:               308 kB
Writeback:             4 kB
AnonPages:       4604744 kB
Mapped:           230560 kB
Shmem:            348560 kB
KReclaimable:      71316 kB
Slab:             156640 kB
SReclaimable:      71316 kB
SUnreclaim:        85324 kB
KernelStack:        8384 kB
PageTables:        23512 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5034972 kB
Committed_AS:   10751796 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       34940 kB
VmallocChunk:          0 kB
Percpu:             1840 kB
HardwareCorrupted:     0 kB
AnonHugePages:   2359296 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      426780 kB
DirectMap2M:     7884800 kB
DirectMap1G:     1048576 kB
Nevermind
() автор топика
Последнее исправление: Nevermind (всего исправлений: 1)
Ответ на: комментарий от Nevermind

Ну вот у вас после затыка осталось занято около 5,4 ГиБ, что далеко от вашей оценки в 2,5 ГиБ + несколько сотен МиБ на компоненты системы. Как считали?

Имейте в виду, что системный монитор Mate может показывать занимаемую процессом память как RSS - Shared, что в случае значительных показателей для разделяемой памяти может давать неоднозначные результаты.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Как тогда понять, что занимает столько памяти? Дело в том, что это как раз после затыка, и да, 2,5+ Гб это оценка монитора mate, но все процессы, которые, как я знаю, запущены, в нем отражены. Я не понимаю, что занимает целые лишние гигабайты

Nevermind
() автор топика
Ответ на: комментарий от Flotsky

Знаю, автоматическая разметка при установке сделала так:

NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 931,5G  0 disk  
├─sda1           8:1    0   487M  0 part  /boot
├─sda2           8:2    0     1K  0 part  
└─sda5           8:5    0   931G  0 part  
  └─sda5_crypt 254:0    0   931G  0 crypt 
    ├─computer--vg-root
    │          254:1    0 930,1G  0 lvm   /
    └─computer--vg-swap_1

Nevermind
() автор топика
Ответ на: комментарий от Nevermind

2,5+ Гб это оценка монитора mate, но все процессы, которые, как я знаю, запущены, в нем отражены.

Включите в его настройках отображение столбца резидентной памяти.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Сделал. Там ни у одного пункта нет отличия от обычной памяти более чем на пару МиБ

Пы. Сы. - Сейчас virt-manager вовсе занимает 1,1 Гб и… терзают меня смутные сомнения, что я ничего не понял. Видимо, память под virt-manager не соответствует памяти на виртуальные машины? Потому что суммарная оперативная память на включенных машинах 2,5 Гб Но суммарно все равно заняты 6 Гб оперативы

Nevermind
() автор топика
Последнее исправление: Nevermind (всего исправлений: 2)
Ответ на: комментарий от Nevermind

Сейчас virt-manager вовсе занимает 1,1 Гб и… терзают меня смутные сомнения, что я ничего не понял. Видимо, память под virt-manager не соответствует памяти на виртуальные машины?

Там отдельные процессы qemu.

Rootlexx ★★★★★
()