Память заполнена, в основном занята "разделяемой", графический интерфейс не отвечает

Есть миллионы таких вопросов, но ни один из них не имеет ответа, который мне подходит. Возможно, моя система просто неправильно настроена.

Моя проблема в том, что после некоторого времени безотказной работы (несколько дней) оперативная память на моем настольном компьютере (Ubuntu 16.04 LTS) полностью заполняется, и графический интерфейс пользователя начинает отставать и перестает отвечать на запросы.

Выход из free:

              total        used        free      shared  buff/cache   available
Mem:       16326212     5633804      395072    10026328    10297336      184458
Swap:             0           0           0

Что не помогает это:

sync; sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'

=> практически без изменений в вышеуказанных цифрах

swapoff -a

=> Без изменений (своп все равно отключен)

Разительная разница во всех выходах free в связанных вопросах, что большая часть моей памяти занята shared,

Тем не мение, ipcs -m | awk '{sum+=$5} END{print sum}' дает число только около 213 МБ.

Возможно связано: у меня есть несколько путей, сопоставленных с RAM-диском (из /etc/fstab):

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 
tmpfs /var/log/apt tmpfs defaults,noatime 0 0

но там, похоже, нет никаких проблем:

Filesystem           Size  Used Avail Use% Mounted on
tmpfs                1.6G   22M  1.6G   2% /run
tmpfs                1.6G  132K  1.6G   1% /run/user/1000
tmpfs                5.0M  4.0K  5.0M   1% /run/lock
tmpfs                7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs                7.8G   12M  7.8G   1% /var/tmp
tmpfs                7.8G  1.7M  7.8G   1% /var/log
tmpfs                7.8G  143M  7.7G   2% /dev/shm
tmpfs                7.8G  8.0K  7.8G   1% /var/log/apt
tmpfs                7.8G  878M  7.0G  12% /tmp
...

кроме возможно

udev                 7.8G  7.8G     0 100% /dev

Есть еще идеи?

2 ответа

Эта линия

udev                 7.8G  7.8G     0 100% /dev

был действительно отличительной чертой проблемы. Это крепление никогда не должно быть заполнено на 100 %. Прочитав высокое использование памяти SHMem! я нашел это bootchart заполнил это полностью. После удаления bootchart и удаление /dev/.bootchart все возвращается на круги своя, включая shared использование памяти:

              total        used        free      shared  buff/cache   available
Mem:       16326212     3258332     7929904     1177272     5137976    10981178
Swap:             0           0           0

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

Вы можете узнать, что использует какой объем памяти с smem, Там в smem упакован для Ubuntu 17.x здесь: https://packages.ubuntu.com/artful/smem. Зависит только от python а также python-matplotlib, которые доступны на Ubuntu 16.x. Таким образом, вы сможете загрузить пакет smm и установить его с dpkg -i smem_1.4-2_all.deb,

После установки вы можете просто запустить smem и увидим, какой процесс использует сколько памяти.

Как только вы узнаете, что заполняет память, вы можете просто остановить этот процесс. F.ex. помогает закрытие вкладок в браузере. Также остановка и запуск браузера могут помочь освободить часть памяти.

Еще одна вещь - вы должны включить своп. Своп расширит вашу доступную память.

Еще одна вещь - поскольку - по-видимому - вы не используете swap, то "графический интерфейс начинает отставать и перестает отвечать на запросы / становится непригодным для использования", вероятно, вызвано не переполнением памяти, а каким-либо процессом, слишком много обращающимся к диску (мне кажется, что мне нужно запустить резервное копирование, перестроить базу данных mlocate или использовать слишком много ресурсов процессора. Вы должны быть в состоянии диагностировать "чрезмерную загрузку процессора" с top и слишком много использования ввода-вывода с iotop (apt-get install iotop).

Другие вопросы по тегам