Вопрос или проблема
Ubuntu 20.04.3 LTS использует много памяти (10.1 ГБ из 12 ГБ ОЗУ). ОЗУ заполняется со временем и достигает опасно высокого уровня использования, даже когда я использую только 2 приложения.
Я пытался следовать другим рекомендациям, опубликованным на этом форуме по аналогичным проблемам. Я запускал htop
и top
, но они не возвращают полезную информацию, то есть показывают, что Chrome и Discord используют наибольшее количество ОЗУ – всего 2-4% каждый. Java, MySQL, Apache, как я читал, обычно являются виновниками высокого использования ОЗУ, но Java даже не запущена, а другие перечисленные процессы едва используют 0.1% ОЗУ.
Еще одна вещь, которую я заметил, заключается в том, что при закрытии Chrome использование памяти мгновенно падает с 10.1 ГБ до всего 1.7-2 ГБ. Я не понимаю этого, потому что, согласно htop
, Chrome использует всего около 2% памяти.
2-4% не должны занимать всю память, поэтому я запустил free -m
и обнаружил, что использование buff/cache
и shared
очень высоко – 8.8 ГБ и 7.2 ГБ соответственно. Что это такое и почему они используют так много памяти? Система зависает и ведет себя очень медленно во время использования. Использование ЦП также не очень высоко – достигает максимума в 22% время от времени.
Вот результаты моего free -m
При открытии Монитора системы,
Мои результаты htop
и top
соответственно,
Как уже упоминалось, я использую Ubuntu 20.04.3 LTS. Версия ядра 5.11.0-41-generic
Пожалуйста, помогите. Мне все труднее использовать компьютер.
Копирую комментарий @Devvrath в ответ, поскольку он уже 3 года как и еще не был преобразован.
@Devvrath установил пакет preload
, и после его деинсталляции их проблема исчезла.
preload
– это демон, который отслеживает/анализирует приложения, которые запускают пользователи, и пытается сохранять данные в кэше, чтобы улучшить время запуска этих приложений.
Из документации preload (выделение мое):
Значения по умолчанию для формулы использования памяти приводят к:
max (0,−10% × model.memtotal + 100% × model.memfree) + 30% × model.memcached
что по сути означает: используйте всю свободную память, за исключением десяти процентов
от общей памяти, и тридцати процентов памяти, уже используемой для кэшей.
Когда система находится в стабильном состоянии, свободной памяти остается мало,
поскольку ядро использует большую часть свободной памяти для
кэширования. С другой стороны, во время загрузки свободной памяти много,
а кэшированной – мало. Учитывая это, управляющие элементы model.memfree и
model.memcached позволяют настраивать агрессивность preload во время
процесса загрузки и в стабильном состоянии достаточно отдельно.
Как указано в этом ответе, потенциальным недостатком preload
является то, что ОЗУ, которое он потребляет, отнимает от пула “неиспользуемого” ОЗУ, которое ядро может иначе использовать для своих собственных кэширования. В зависимости от вашей конкретной ситуации/шаблонов использования (и настройки параметров конфигурации preload
), preload
может помочь или навредить производительности.
Ответ или решение
Решение проблемы высокой загрузки памяти в Ubuntu 20.04.3 LTS
Если вы столкнулись с проблемой высокой загрузки памяти в Ubuntu 20.04.3 LTS, в частности, с использованием 10.1 ГБ из 12 ГБ оперативной памяти, даже при запуске всего двух приложений, не стоит паниковать. Мы рассмотрим несколько ключевых аспектов, которые помогут диагностировать и решить эту проблему.
1. Понимание статистики памяти
Прежде всего, важно понимать, что использование оперативной памяти не всегда является признаком проблемы. Команда free -m
, которую вы выполнили, показывает следующее:
- buff/cache: Это пространство, используемое для кэширования данных, которые могут быть полезны в будущем. Высокое значение здесь нормально и помогает ускорить работу системы, так как позволяет избежать повторных загрузок данных с диска. Когда система нуждается в памяти, она может высвободить эту кэшированную память для других процессов.
- shared: Эта область определяет количество памяти, используемой несколькими процессами одновременно. Значительное значение здесь также может быть нормальным.
Таким образом, если buff/cache
и shared
занимают 8.8 ГБ и 7.2 ГБ соответственно, это не обязательно свидетельствует о проблеме, так как такая память может быть освобождена по мере необходимости.
2. Анализ активных процессов
Вы упомянули, что htop
и top
показывают, что Chrome и Discord используют лишь 2-4% оперативной памяти. Это может быть связано с тем, что браузер Chrome может выделять и использовать память динамически, в зависимости от количества открытых вкладок и активных расширений.
Попробуйте следующие шаги:
- Проверьте активные расширения в Chrome: Некоторые расширения могут потреблять значительное количество ресурсов.
- Используйте встроенный диспетчер задач Chrome: Нажмите Shift + Esc в браузере для открытия диспетчера задач, чтобы увидеть, какие вкладки или расширения потребляют больше всего памяти.
3. Безопасное отключение и тестирование программного обеспечения
Пакет preload
, который вы упомянули, может негативно сказываться на общей производительности, если его настройки не оптимизированы для вашего случая использования. Попробуйте временно удалить этот пакет с помощью команды:
sudo apt remove preload
После удаления проверьте, снизилось ли использование памяти и улучшилась ли производительность системы.
4. Перезагрузка и управление памятью
Если система работает медленно, а использование ресурсов колеблется, перезагрузка может помочь очистить временные данные и освободить загруженную память.
Также можете использовать команду sudo sysctl -w vm.drop_caches=3
для очистки кэша (это временная мера и кэш будет заполнен заново по мере работы системы).
5. Обновление системы и ядра
Поскольку вы используете ядро 5.11.0-41-generic, проверьте наличие обновлений. Иногда более новые версии ядра или программ обрабатывают управление памятью более эффективно:
sudo apt update && sudo apt upgrade
Заключение
Если после выполнения указанных шагов проблема с высокой загрузкой памяти продолжается, возможно, имеет смысл рассмотреть возможность переустановки системы в более оптимизированной конфигурации или протестировать оборудование на предмет неисправностей. Отследите состояние оперативной памяти с помощью инструментов мониторинга, таких как vmstat
и smem
.
Следуя данным рекомендациям, вы сможете повысить производительность вашего компьютера на Ubuntu 20.04.3 LTS и уменьшить использование оперативной памяти.