내 메모리는 어디에 사용되고 있나요?

내 메모리는 어디에 사용되고 있나요?

버프/캐시는 28G만 사용합니다.

$free -h
              total        used        free      shared  buff/cache   available
Mem:           188G         87G         72G         17M         28G         72G
Swap:          3.9G          0B        3.9G

이 메모리는 프로세스에서 사용되지 않습니다.

$ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' | head
         0.00 Mb COMMAND
       753.30 Mb /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
       440.66 Mb /usr/lib/polkit-1/polkitd --no-debug
       297.09 Mb /usr/sbin/NetworkManager --no-daemon
       297.00 Mb /usr/bin/python -Es /usr/sbin/tuned -l -P
       216.72 Mb /usr/sbin/ModemManager
       153.12 Mb /usr/sbin/rsyslogd -n
       144.51 Mb /usr/libexec/dconf-service
        87.64 Mb /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
        72.33 Mb /sbin/audispd

87G 사용 - 28G 캐시 = 59G 누락?

고쳐 쓰다:

Gilles에 따르면 .slab 실행 시 슬래브 할당이 표시되지 않습니다 free. slabtop"Slab"에 할당된 메모리를 분석하고 계산한 후 /proc/meminfo슬래브에 할당된 총 메모리를 계산했습니다.

태블릿: 46.8651GB

나머지는 /proc/meminfo에서 찾을 수 있습니다. 내가 올바르게 이해했다면 Free는 inode와 dentry 캐시를 "사용된" 범주에 넣는 것 같습니다.

관련 정보