Неожиданно высокое использование памяти в Ubuntu 22.04.3 LTS

Вопрос или проблема

Я заметил, что моя система, кажется, использует оперативную память намного быстрее, чем я ожидал. Когда это происходит, я замечаю, что она немного замедляется, и вентилятор начинает работать более активно (хотя, возможно, это отдельная проблема?). Я пытался искать в Google, чтобы понять, что происходит (например, я наткнулся на Высокое использование памяти, которое нельзя отследить по службе или приложению и https://www.linuxatemyram.com/), но еще не нашел удовлетворительного ответа. Какие причины могут быть у моего компьютера для использования гораздо большего объема памяти (ближе к 100% ОЗУ и свопа), чем сообщает работающие приложения?

В данный момент free -m выдает

               total        used        free      shared  buff/cache   available
Mem:           15337       14538         386          14         411         454
Swap:          20480       15442        5038

Грубая оценка объема памяти, используемой моими работающими приложениями (вычислена с помощью ps -o %mem ax | tail -n +2 | paste -sd+ | bc), составляет 47.6%. Также, если я открою Диспетчер задач и попробую вручную сложить значения в колонке Память, я снова не получаю значение, близкое к общему отчетному объему используемой памяти.

Запуск arcstat -a выводит

    time  hits  miss  read  hit%  miss%  dhit  dmis  dh%  dm%  phit  pmis  ph%  pm%  mhit  mmis  mread  mh%  mm%  arcsz  size     c   mfu   mru  mfug  mrug  eskip  el2skip  el2cach  el2el  el2mfu  el2mru  el2inel  mtxmis  dread  pread  grow  need  free  avail  waste
13:14:22     0     0     0     0      0     0     0    0    0     0     0    0    0     0     0      0    0    0   5.0K  5.0K  479M     0     0     0     0      0        0        0      0       0       0        0       0      0      0     1     0  830M   235M      0

Результаты запуска arc_summary можно найти здесь. Я разместил это в pastebin, поскольку askubuntu ограничивает количество символов в этом вопросе.

Я не могу сказать, что знаю, как разобрать все эти выводы, но, на мой наивный взгляд, это не похоже на то, что много памяти используется кэшами ARC (по крайней мере, строка текущего размера ARC сообщает о небольшом числе). Также zfs get comprresion не выдает никакого вывода.

Точно так же, запуск df -hl -t"tmpfs" выдает следующее, что снова не кажется объясняющим много моего “недостающего” использования памяти.

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.5G  4.0M  1.5G   1% /run
tmpfs           7.5G  260K  7.5G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           7.5G     0  7.5G   0% /run/qemu
tmpfs           1.5G  228K  1.5G   1% /run/user/1000

Если это поможет, cat /proc/meminfo выводит

MemTotal:       15705548 kB
MemFree:          672004 kB
MemAvailable:     838776 kB
Buffers:            2060 kB
Cached:           329484 kB
SwapCached:       258588 kB
Active:          3268524 kB
Inactive:        3574140 kB
Active(anon):    3095044 kB
Inactive(anon):  3439264 kB
Active(file):     173480 kB
Inactive(file):   134876 kB
Unevictable:         340 kB
Mlocked:             340 kB
SwapTotal:      20972540 kB
SwapFree:        4630972 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:               452 kB
Writeback:             0 kB
AnonPages:       6253600 kB
Mapped:           191184 kB
Shmem:             22852 kB
KReclaimable:     194792 kB
Slab:             588360 kB
SReclaimable:     194792 kB
SUnreclaim:       393568 kB
KernelStack:       75888 kB
PageTables:       194976 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    28825312 kB
Committed_AS:   46712256 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      231560 kB
VmallocChunk:          0 kB
Percpu:            19776 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 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:    11380384 kB
DirectMap2M:     4728832 kB
DirectMap1G:           0 kB

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

Дайте знать, если есть что-то еще, что я могу сделать, чтобы помочь понять, что происходит.

Хотя я не отслеживаю все детали, у меня была такая же проблема, и я попытался отредактировать файл /etc/sysctl.conf, чтобы добавить vm.swappiness=15 и vm.watermark_boost_factor=0. Это немного помогло (например, сейчас он занимает 1.5-2 Гига свопа, но почти 50% ОЗУ, как и раньше), но не настолько. Так что мне все еще нужно лучшее решение.

Ответ или решение

Неожиданно высокая загрузка памяти в Ubuntu 22.04.3 LTS: Возможные причины и решения

Введение

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

1. Анализ ситуации

На основании предоставленного вами вывода команды free -m, можно увидеть следующее:

  • Всего памяти: 15,3 ГБ
  • Используемая память: 14,5 ГБ
  • Свободно: 386 МБ
  • Свин (Swap): 20 ГБ, из которых используется 15,4 ГБ.

Вы также отметили, что оценочное использование памяти вашими приложениями составляет около 47,6%. Это говорит о том, что ваш система использует значительную часть памяти, которая не отображается в списках активных приложений.

2. Возможные причины высокой загрузки памяти

2.1 Кэширование

Система Linux активно использует память для кэширования, что может занимать значительный объем оперативной памяти. Данные из cat /proc/meminfo показывают, что объем кэша (Cached) составляет 329 МБ, но очевидно, что эффективное использование памяти системой может приводить к занятию памяти под другие нужды.

2.2 Своп-использование

Ваша система использует значительный объем свопа, что указывает на то, что операционная система находит нужные данные в свопе вместо оперативной памяти. Это является признаком того, что в оперативной памяти не хватает ресурсов для обработки активных процессов.

2.3 Опробование параметров системного контроля

Вы упомянули, что изменили параметры в sysctl.conf, установив vm.swappiness=15 и vm.watermark_boost_factor=0. Эти настройки помогают системе более агрессивно освобождать память и использовать своп, однако, они могут не решить проблему, если основная причина кроется в недостатке оперативной памяти для рабочих процессов.

3. Варианты решений

3.1 Оптимизация системы

  • Обновление и удаление ненужных приложений: Проверьте, какие программы работают в фоновом режиме, и удалите или отключите те из них, которые вы не используете.
  • Мониторинг загрузки памяти: Используйте инструменты, такие как htop или glances, для более детального анализа использования ресурсов. Это позволит вам увидеть не только использование памяти, но и другие важные метрики.

3.2 Увеличение объема памяти

Если вы часто сталкиваетесь с высокой загрузкой памяти, возможно, вам стоит рассмотреть возможность увеличения объема оперативной памяти. Замена или добавление модулей памяти может значительно улучшить общую производительность системы.

3.3 Настройка параметров ядра

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

  • Увеличьте значение параметров vm.min_free_kbytes и vm.overcommit_ratio, если ваше оборудование позволяет это сделать.

Заключение

Высокая загрузка памяти в Ubuntu 22.04.3 LTS может быть связана как с особенностями работы системного кэширования и управления свопом, так и с необходимостью оптимизации приложений или увеличения аппаратных ресурсов. Регулярный мониторинг системы и ее оптимизация помогут обеспечить более стабильную и быструю работу. Если проблема сохраняется, стоит рассмотреть возможность привлечения специалистов для более глубокого анализа конфигурации и устранения неполадок.

Оцените материал
Добавить комментарий

Капча загружается...