상자에는 96GB RAM이 있으며 스왑은 없습니다.
# free -m
total used free shared buffers cached
Mem: 96714 85762 10952 0 94 2185
-/+ buffers/cache: 83482 13232
Swap: 0 0 0
85GB 메모리를 사용하고 있는 것 같은데 최상위 명령어에서 sort by를 하면%MEM
메모리는 32GB만 사용하고 나머지는 어디로 가나요?
어떤 아이디어가 있나요?
편집하다
# cat /proc/meminfo
MemTotal: 99036140 kB
MemFree: 10901516 kB
Buffers: 126816 kB
Cached: 2355968 kB
SwapCached: 0 kB
Active: 35103352 kB
Inactive: 2973732 kB
Active(anon): 34352040 kB
Inactive(anon): 1793248 kB
Active(file): 751312 kB
Inactive(file): 1180484 kB
Unevictable: 1892 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 8864 kB
Readahead: 0 kB
Writeback: 0 kB
AnonPages: 35596308 kB
Mapped: 693268 kB
Shmem: 549000 kB
Slab: 48846688 kB
SReclaimable: 48771520 kB
SUnreclaim: 75168 kB
KernelStack: 9864 kB
PageTables: 108668 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 49518068 kB
Committed_AS: 41937368 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 500436 kB
VmallocChunk: 34290219936 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 7252 kB
DirectMap2M: 100620288 kB
답변1
총 메모리 = 사용 가능한 메모리 + 캐시/버퍼 + 활동 + 비활성
= 10901516 + 126816 + 2355968 + 35103352 + 2973732
= 51461384 KB
= 49 GB
누락된 메모리 = 96GB - 49GB = 47GB 누락된 메모리는 태블릿 메모리(48846688kB)와 거의 같습니다. 일부 커널 모듈에서 메모리가 누출되는 것으로 추측됩니다.
추가 조사를 위해 /proc/slabinfo 및 labtop 명령 출력을 인쇄하고, vmware에서 실행 중인 경우 vmware-toolbox-cmd stat bubble 및 vmware-toolbox-cmd stat memlimit의 출력도 인쇄하십시오.
편집하다
인터넷에서 검색해보니 48646536kB를 소비하는 dentry 커널 모듈이 있는 것 같습니다.https://serverfault.com/questions/561350/unusually-high-dentry-cache-usage이는 Libcurl과 함께 번들로 제공되는 NSS(Network Security Services) 라이브러리에서 문제가 발생함을 나타냅니다.
최소한 nss-softokn(nss-utils에 대한 필수 종속성이 있음)만 업그레이드하면 됩니다. 이점을 얻으려면 libcurl을 사용하는 프로세스에 대해 환경 변수 NSS_SDB_USE_CACHE를 설정해야 합니다. 이 환경 변수가 있으면 존재하지 않는 파일에 대한 비용이 많이 드는 검사를 건너뛸 수 있습니다. "
시도해 보고 알려주세요.