Linux에서 설명되지 않은 사용된 메모리

Linux에서 설명되지 않은 사용된 메모리

내 서버는 커널 4.18을 실행 중이고 일부 메모리가 즉시 누락된 것 같습니다. 일반적인 원인(커널 슬래브 메모리, 페이지 캐시)은 제외되었습니다.

대략 6GB 정도가 사용되는데(MemTotal - MemAvailable) 프로세스와 커널보드, shmem에서 사용하는 공간을 모두 합하면 겨우 1GB에 불과합니다. 콜드 스타트 ​​이후입니다. 나머지 5명은 어디로 갔을까요?

가장 이상한 점은 동일한 애플리케이션을 실행하는 동일한 서버가 있고 MemAvailable이 실제로 거기보다 5GB 더 높다는 것입니다.

# ps fauxw | sed 1d | awk '{ x += $6 } END { print x }'
757368

# cat /proc/meminfo 
MemTotal:       32826040 kB
MemFree:        26493788 kB
MemAvailable:   26322932 kB
Buffers:           11948 kB
Cached:            72584 kB
SwapCached:            0 kB
Active:           247756 kB
Inactive:          41348 kB
Active(anon):     204952 kB
Inactive(anon):     1012 kB
Active(file):      42804 kB
Inactive(file):    40336 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        204632 kB
Mapped:            33052 kB
Shmem:              1396 kB
Slab:             219376 kB
SReclaimable:      30744 kB
SUnreclaim:       188632 kB
KernelStack:       18960 kB
PageTables:        12548 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    16413020 kB
Committed_AS:    4565744 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      186396 kB
DirectMap2M:     9152512 kB
DirectMap1G:    26214400 kB

답변1

내 질문에 대답하려면 다음을 수행하십시오.

결국 메모리 사용량이 네트워크 인터페이스 링 크기(ethtool -G)의 다양한 설정과 관련이 있다는 사실을 발견했습니다. 이 호스트의 RX 및 TX 수는 4096개로 늘어났으며 각각 6개의 10G NIC와 많은 대기열(56 vcore)을 포함하여 GB 메모리를 사용하게 되었습니다.

하지만 여전히 이상한 점은 메모리 사용량이 /proc/ 정보 어디에도 표시되지 않는 것 같습니다.

관련 정보