Память заполнена, в основном принята & ldquo; shared & rdquo ;, GUI не отвечает

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

Моя проблема в том, что после некоторого времени безотказной работы (через несколько дней) оперативная память на моем настольном компьютере (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

=> no change (swap отключен в любом случае)

Поразительная разница во всех выводах 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

Любые другие идеи?

1
задан 26 November 2017 в 14:46

4 ответа

Эта строка

udev 7.8G 7.8G 0 100% /dev

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

total used free shared buff/cache available Mem: 16326212 3258332 7929904 1177272 5137976 10981178 Swap: 0 0 0
1
ответ дан 18 July 2018 в 02:33

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

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

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

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

Еще одна вещь - вы должны включить swap.

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

0
ответ дан 18 July 2018 в 02:33

Эта строка

udev 7.8G 7.8G 0 100% /dev

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

total used free shared buff/cache available Mem: 16326212 3258332 7929904 1177272 5137976 10981178 Swap: 0 0 0
1
ответ дан 24 July 2018 в 17:35

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

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

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

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

Еще одна вещь - вы должны включить swap.

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

0
ответ дан 24 July 2018 в 17:35
  • 1
    Это firefox и хром, заполняющий память. Я знаю, что люди рекомендуют обменять - еще 16 ГБ (- RAM-диск) должно быть достаточно, поэтому я бы предпочел пойти. Фактически, невосприимчивость начинается с процесса kswapd0. – fuenfundachtzig 26 November 2017 в 19:20
  • 2
    Так это отвечает на ваш вопрос? – Tomáš Pospíšek 26 November 2017 в 22:14
  • 3
    Боюсь, что нет. – fuenfundachtzig 27 November 2017 в 20:26
  • 4
    Тогда, боюсь, я не могу понять, каков ваш реальный вопрос. Вы спрашиваете и «Память заполнена, в основном принята« общим », GUI не отвечает». Теперь вы знаете, что использует память: браузер. Вы также знаете, какая машина становится невосприимчивой: из-за замены. Вы видите, что большая часть памяти используется «общим»: в процессах браузера используется много разделяемой памяти. Итак, чего не хватает? Вы должны быть в состоянии узнать, кто использует, сколько разделяемой памяти с smem, ps auxw и когорты AFAIK. – Tomáš Pospíšek 28 November 2017 в 11:53
  • 5
    В настоящее время я пытаюсь уменьшить размер /dev/shm, чтобы убедиться, что это позволяет избежать проблемы с нехваткой памяти. – fuenfundachtzig 28 November 2017 в 12:32

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

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