이게 정상인가요? 이렇게 높은 버퍼를 본 적이 없나요?
$ cat /proc/meminfo
MemTotal: 16332808 kB
MemFree: 1112264 kB
Buffers: 10630124 kB
Cached: 699400 kB
SwapCached: 0 kB
Active: 3262924 kB
Inactive: 8132004 kB
Active(anon): 27464 kB
Inactive(anon): 38888 kB
Active(file): 3235460 kB
Inactive(file): 8093116 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 525308 kB
SwapFree: 525308 kB
Dirty: 40 kB
Writeback: 0 kB
AnonPages: 65412 kB
Mapped: 11300 kB
Shmem: 940 kB
Slab: 3674368 kB
SReclaimable: 3652612 kB
SUnreclaim: 21756 kB
KernelStack: 1496 kB
PageTables: 3340 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8691712 kB
Committed_AS: 594304 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 102232 kB
VmallocChunk: 34359634044 kB
HardwareCorrupted: 0 kB
DirectMap4k: 2048 kB
DirectMap2M: 16691200 kB
답변1
이는 정상적인 현상은 아니지만 수행 중인 작업에 따라 발생할 수 있습니다. ~에 따르면proc 파일 시스템에 대한 커널 문서, "버퍼"는 캐시된 원시 디스크 데이터에 사용되는 메모리 양이고, "캐시"는 캐시된 파일 데이터에 사용되는 메모리 양입니다.
일반적으로 버퍼는 캐시보다 훨씬 작아야 하지만 직접 디스크 IO를 많이 수행하는 경우 버퍼 벌룬을 만들 수 있습니다. 나는 달리기를 통해 상당한 체중을 늘릴 수 있었다 sudo dd if=/dev/sda of=/dev/null bs=1M count=16384
. 내 결과는 다음과 같습니다.
$ cat /proc/meminfo
MemTotal: 16435344 kB
MemFree: 187388 kB
Buffers: 5655192 kB
Cached: 8473748 kB
SwapCached: 0 kB
Active: 7141492 kB
Inactive: 8228596 kB
Active(anon): 1073180 kB
Inactive(anon): 169312 kB
Active(file): 6068312 kB
Inactive(file): 8059284 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4192928 kB
SwapFree: 4192928 kB
Dirty: 36 kB
Writeback: 0 kB
AnonPages: 1241160 kB
Mapped: 437492 kB
Shmem: 1336 kB
Slab: 256696 kB
SReclaimable: 206660 kB
SUnreclaim: 50036 kB
KernelStack: 3160 kB
PageTables: 12224 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 12410600 kB
Committed_AS: 3064896 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 306540 kB
VmallocChunk: 34359429104 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 58816 kB
DirectMap2M: 16717824 kB
블록 IO를 많이 하는 프로그램이 있나요?