RAM: занятая, свободная, доступная

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

RAM: занятая, свободная, доступная

Непрочитанное сообщение Olej » 12 ноя 2021, 22:07

Эта тема перешла сюда в продолжение swap ...
Olej писал(а):
12 ноя 2021, 15:21
- RAM дофигища... (96Gb физической RAM, из которой свободно только ~500Mb )
Возможно это из-за того, что много памяти занято под буфера...
Вот что говорит (перевод мой, как есть):

Код: Выделить всё

olej@nvme:~$ man free
...
Отображаемые столбцы:
       - total (всего) Общая установленная память (MemTotal и SwapTotal в /proc/meminfo)
       - использовано (занято) Используемая память (рассчитывается как общая - свободная - буферы - кеш)
       - свободная Неиспользуемая память (MemFree и SwapFree в /proc/meminfo)
       - разделяемая память (общая), используемая (в основном) tmpfs (Shmem в /proc /meminfo)
       - буферы Память, используемая буферами ядра (буферы в /proc/meminfo)
       - cache Память, используемая кешем страниц и блоками (кэшируется и заявляется в /proc/meminfo)
       - буфф / кеш - Сумма буферов и кеша
       - доступно (avail) - Оценка того, сколько памяти доступно для запуска новых приложений без подкачки. В отличие от данных,
       предоставляемых кешем или свободными полями, это поле учитывает кеш страниц, а также то, что не все блоки
       восстанавливаемой памяти будут освобождены из-за использования элементов (MemAvailable в /proc/meminfo, 
       avail ‐ работает на ядрах 3.14, эмулируется на ядрах 2.6.27+, в остальном то же, что бесплатно) 
       ...
Это на совсем другом компьютере:

Код: Выделить всё

olej@nvme:~$ free -mw
              всего        занято        свободно      общая     буферы       временные   доступно
Память:       15876        5840         214         687        2129        7692        9022
Подкачка:        2303           9        2294
Снимок экрана от 2021-11-12 21-06-23.png
Снимок экрана от 2021-11-12 21-06-23.png (77.99 КБ) 1059 просмотров
Как следует из GUI системного монитора: 6.7Gb занято из 15.5Gb и "временные данные" 7.6Gb ... Это очень соответствует: 5840 (+9? swap), 15876, 7692 из вывода free.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: RAM: занятая, свободная, доступная

Непрочитанное сообщение Olej » 15 ноя 2021, 13:38

Olej писал(а):
12 ноя 2021, 22:07
- RAM дофигища... (96Gb физической RAM, из которой свободно только ~500Mb )

Код: Выделить всё

olej@R420:~$ df
Файл.система   1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev            49422704            0 49422704            0% /dev
tmpfs            9894148         2092  9892056            1% /run
/dev/sda5      114335908     36776508 72164496           34% /
tmpfs           49470736       550208 48920528            2% /dev/shm
tmpfs               5120            4     5116            1% /run/lock
tmpfs           49470736            0 49470736            0% /sys/fs/cgroup
/dev/nvme0n1p1 239315456    190829644 36259560           85% /home
/dev/sdb2      239839744    187182788 40430732           83% /home/olej/Загрузки
/dev/sda1         523248         3312   519936            1% /boot/efi
tmpfs            9894144           92  9894052            1% /run/user/1000
/dev/sdc1      614271992    554742160 28256924           96% /run/timeshift/backup

Код: Выделить всё

olej@R420:~$ free
              всего        занято        свободно      общая  буф./врем.   доступно
Память:    98941476    19338516      446492      724792    79156468    78017012
Подкачка:           0           0           0
98941476 ÷ 2 = 49470738 и это соответствует размеру => /dev/shm
Понимание /dev/shm
Размер tmpfs по умолчанию равен половине RM. Если ваша физическая память равна 1024M, то размер tmpfs по умолчанию составляет 512M. В нормальных условиях он настроен на размер меньше физической памяти. Размер конфигурации tmpfs на самом деле не занимает эту память.Если в каталоге /dev/shm / нет файла, то занимаемая им память фактически равна 0 байтам, если это максимум 1 ГБ, в нем содержится 100 МБ файлов, а остальные 900M все еще может использоваться другими приложениями, но занимаемая им память 100M не будет разделяться системой.

Код: Выделить всё

olej@R420:~$ mount | grep  tmpfs
udev on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=49422704k,nr_inodes=12355676,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=9894148k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=9894144k,mode=700,uid=1000,gid=1000)
Но при большой RAM, 96Gb, этого tmpfs может быть излишне много ... и хотя это и не ограничивает (динамически) доступную память,
доступно 78017012, но исходя из малой свободной памяти (446.492Mb) начинается слишком рано использование swap исходя из /proc/sys/vm/swappiness=5

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: RAM: занятая, свободная, доступная

Непрочитанное сообщение Olej » 15 ноя 2021, 13:42

Olej писал(а):
15 ноя 2021, 13:38
Но при большой RAM, 96Gb, этого tmpfs может быть излишне много ... и хотя это и не ограничивает (динамически) доступную память,
доступно 78017012, но исходя из малой свободной памяти (446.492Mb) начинается слишком рано использование swap исходя из /proc/sys/vm/swappiness=5

Код: Выделить всё

olej@R420:~$ cat /proc/meminfo | head -n 15
MemTotal:       98941476 kB
MemFree:          466924 kB
MemAvailable:   78070992 kB
Buffers:         2696840 kB
Cached:         74890124 kB
SwapCached:            0 kB
Active:         27136360 kB
Inactive:       66779072 kB
Active(anon):   15095260 kB
Inactive(anon):  1960220 kB
Active(file):   12041100 kB
Inactive(file): 64818852 kB
Unevictable:         608 kB
Mlocked:             608 kB
SwapTotal:             0 kB

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: RAM: занятая, свободная, доступная

Непрочитанное сообщение Olej » 15 ноя 2021, 13:54

Olej писал(а):
15 ноя 2021, 13:38
Но при большой RAM, 96Gb, этого tmpfs может быть излишне много ... и хотя это и не ограничивает (динамически) доступную память,
доступно 78017012, но исходя из малой свободной памяти (446.492Mb) начинается слишком рано использование swap исходя из /proc/sys/vm/swappiness=5
Я могу динамически поменять размер /dev/shm (поскольку у меня он сейчас не используется):

Код: Выделить всё

root@R420:/dev/shm# df
Файл.система   1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev            49422704            0 49422704            0% /dev
tmpfs            9894148         2092  9892056            1% /run
/dev/sda5      114335908     36881768 72059236           34% /
tmpfs           49470736       550608 48920128            2% /dev/shm
tmpfs               5120            8     5112            1% /run/lock
tmpfs           49470736            0 49470736            0% /sys/fs/cgroup
/dev/nvme0n1p1 239315456    190860936 36228268           85% /home
/dev/sdb2      239839744    187189456 40424064           83% /home/olej/Загрузки
/dev/sda1         523248         3312   519936            1% /boot/efi
tmpfs            9894144           92  9894052            1% /run/user/1000
/dev/sdc1      614271992    574249652  8749432           99% /run/timeshift/backup

Код: Выделить всё

root@R420:/dev/shm# mount -o size=15000M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm

root@R420:/dev/shm# df
Файл.система   1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev            49422704            0 49422704            0% /dev
tmpfs            9894148         2092  9892056            1% /run
/dev/sda5      114335908     36881768 72059236           34% /
tmpfs           15360000       550608 14809392            4% /dev/shm
tmpfs               5120            8     5112            1% /run/lock
tmpfs           49470736            0 49470736            0% /sys/fs/cgroup
/dev/nvme0n1p1 239315456    190860936 36228268           85% /home
/dev/sdb2      239839744    187189456 40424064           83% /home/olej/Загрузки
/dev/sda1         523248         3312   519936            1% /boot/efi
tmpfs            9894144           92  9894052            1% /run/user/1000
/dev/sdc1      614271992    575406176  7592908           99% /run/timeshift/backup

Код: Выделить всё

root@R420:/dev/shm# free
              всего        занято        свободно      общая  буф./врем.   доступно
Память:    98941476    19163184     1025840      743620    78752452    78173456
Подкачка:           0           0           0
Но при этом меняется размер /dev/shm в составе tmpfs, но сам размер tmpfs = 50% RAM остаётся тот же: 49422704 :-?

Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей