$ sudo smem -t -m > m; head -n5 m; echo; tail m
Map PIDs AVGPSS PSS
/dev/dri/card0 2 0 0
/dev/shm/org.chromium.0P27rF 1 0 0
/dev/shm/org.chromium.1LwGBc 1 0 0
/dev/shm/org.chromium.23Bqe3 1 0 0
/dev/shm/org.mozilla.ipc.23887.6343 2 6772 13544
/dev/shm/org.mozilla.ipc.23935.491 2 6772 13544
/memfd:gdk-wayland 6 2890 17344
/SYSV00000000 6 3759 22556
/usr/lib64/firefox/libxul.so 14 8711 121956
/i915 4 38494 153976
[heap] 208 3201 665971
<anonymous> 222 15859 3520738
-----------------------------------------------------------------
1698 20333 280628 5056008
"[힙]"(666M)을 제외하고 이 시스템에서 3.5GB "<anonymous>" 메모리 사용량은 얼마입니까?
전체 Shmem
(모든 tmpfs 파일 및보석 버퍼)는 약 608M("608004kB")에 "만"입니다.
$ uname -r # Kernel version
5.0.17-200.fc29.x86_64
$ cat /proc/meminfo
MemTotal: 8042664 kB
MemFree: 426436 kB
MemAvailable: 2521060 kB
Buffers: 266884 kB
Cached: 2576424 kB
SwapCached: 14624 kB
Active: 4242740 kB
Inactive: 2647644 kB
Active(anon): 3097748 kB
Inactive(anon): 1561596 kB
Active(file): 1144992 kB
Inactive(file): 1086048 kB
Unevictable: 203436 kB
Mlocked: 13700 kB
SwapTotal: 2097148 kB
SwapFree: 1472816 kB
Dirty: 112 kB
Writeback: 0 kB
AnonPages: 4241276 kB
Mapped: 760472 kB
Shmem: 608004 kB
KReclaimable: 165768 kB
Slab: 332388 kB
SReclaimable: 165768 kB
SUnreclaim: 166620 kB
KernelStack: 21552 kB
PageTables: 47628 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6118480 kB
Committed_AS: 15395448 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 3424 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1796096 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 483892 kB
DirectMap2M: 7782400 kB
DirectMap1G: 1048576 kB
답변1
필터링할 수 있습니다.
$ sudo smem -t -M "<anonymous>" > M; head -n5 M; echo; tail M
PID User Command Swap USS PSS RSS
2098 alan /usr/libexec/gdm-wayland-se 232 0 0 0
11759 alan-sysop /usr/libexec/gdm-wayland-se 232 0 0 0
2306 alan /usr/libexec/ibus-dconf 244 4 4 4
2322 alan /usr/libexec/xdg-permission 232 4 4 4
23887 alan /usr/lib64/firefox/firefox 0 67508 67508 67508
20206 alan /usr/lib64/firefox/firefox 0 67960 67960 67960
25791 alan-sysop /usr/lib64/firefox/firefox 0 68176 68176 68176
2673 alan /usr/bin/gnome-software --g 50184 125620 125620 125620
2220 alan /usr/bin/gnome-shell 16768 139076 139076 139076
25686 alan-sysop /usr/lib64/firefox/firefox 0 212396 212396 212396
19977 alan /usr/lib64/firefox/firefox 0 250900 250900 250900
21812 qemu /usr/bin/qemu-system-x86_64 0 1813964 1813964 1813964
-------------------------------------------------------------------------------
221 11 195308 3471748 3472326 3473492
가장 큰 사용자는 QEMU 가상 머신입니다. 그러나 이는 절반에 불과합니다. 다양한 프로그램이 이러한 메모리를 사용합니다. 전체 목록(파일에 쓰기)을 보면 , , 및 을 포함한 M
수많은 레거시 프로그램이 보입니다 .crond
atd
agetty
bash
malloc()
직접 할당을 사용하는 대규모 할당(4096바이트 페이지 이상)을 반영할 수 있습니다 mmap()
.
[heap]
따라서 의 특별한 하위 집합 으로 생각하는 것이 가장 좋습니다 <anonymous>
. 그리고 <anonymous>
이것이 이상한 일이라고 생각하지 마십시오 .