free
호스트 컴퓨터가 있고 명령의 출력과 .txt 파일의 내용을 비교할 때 메모리 사용률이 확실하지 않습니다 /proc/meminfo
. 버퍼 + 캐시가 두 소스 간에 일치하지 않는 것 같습니다.
[kbrandt@ny-chsearch01]~% free -k
total used free shared buff/cache available
Mem: 24506972 18074768 572836 124 5859368 5996392
Swap: 4194300 130044 4064256
[kbrandt@ny-chsearch01]~% cat /proc/meminfo
MemTotal: 24506972 kB
MemFree: 575808 kB
MemAvailable: 5996136 kB
Buffers: 3140 kB
Cached: 380032 kB
SwapCached: 61344 kB
Active: 16305144 kB
Inactive: 1860568 kB
Active(anon): 15990712 kB
Inactive(anon): 1791952 kB
Active(file): 314432 kB
Inactive(file): 68616 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4194300 kB
SwapFree: 4064256 kB
Dirty: 24 kB
Writeback: 0 kB
AnonPages: 17721372 kB
Mapped: 91608 kB
Shmem: 124 kB
Slab: 5472968 kB
SReclaimable: 5407820 kB
SUnreclaim: 65148 kB
KernelStack: 5568 kB
PageTables: 39784 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16447784 kB
Committed_AS: 18211456 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 231460 kB
VmallocChunk: 34359310332 kB
HardwareCorrupted: 0 kB
AnonHugePages: 17414144 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 91968 kB
DirectMap2M: 25073664 kB
man free
설명하다:
버퍼와 캐시의 버퍼/캐시 합계
그러나 위의 출력에서 볼 수 있듯이 예라고 free
대답 buff/cache
하지만 5859368
의 출력과 의 출력은 더 적습니다.Buffers
Cached
/proc/meminfo
호스트 시스템에는 CentOS Linux release 7.4.1708 (Core)
커널이 함께 제공됩니다 3.10.0-693.21.1.el7.x86_64
. 호스트 시스템에서 메모리의 주요 소비자는 elasticsearch(java)입니다.
누구든지 이 차이점을 설명할 수 있나요?
답변1
매뉴얼 페이지를 자세히 살펴보면 메모리는 "Slab" 섹션입니다 man free
.
cache Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)
태블릿에 대해 자세히 알아보려면 다음을 참조하세요.SlabInfo 관리 페이지:
요약: cat /proc/slabinfo
설명: Linux 커널에서 자주 사용되는 개체(버퍼 헤더, 인덱스 노드, 디렉터리 항목 등)에는 자체 캐시가 있습니다. /proc/slabinfo 파일은 이러한 캐시에 대한 통계를 제공합니다.
그러니까 일반적으로 캐시이기 때문에 Slab을 채워도 괜찮습니다. 우려되는 부분 중 하나는 복구할 수 없는 큰 금액일 수 있습니다( SUnreclaim
). 이는 다음에서 볼 수 있습니다 /proc/meminfo
:
[root@ny-chsearch01 ~]# grep -i S.*recl /proc/meminfo
SReclaimable: 5320344 kB
SUnreclaim: 64756 kB
사용 가능한 메모리를 추정하려면 최신 3.14 커널이 이전 Total-Buffer-Cache보다 더 정확한 추정치를 갖습니다 MemAvailable
./proc/meminfo
배포판에서 이식 가능한 사용 가능한 메모리 양을 얻는 방법은 무엇입니까?자세한 내용은.