4TB 시스템의 Redhat 7.6: 1TB 이상 사용할 수 없습니다.

4TB 시스템의 Redhat 7.6: 1TB 이상 사용할 수 없습니다.

Redhat 7.6을 실행하는 4-CPU/72-코어, 4TB 메모리 시스템이 있습니다.

/proc/cmdline보여주다:

BOOT_IMAGE=/vmlinuz-3.10.0-957.5.1.el7.x86_64 ... ro crashkernel=auto rd.lvm.lv=vg00/lswap nomodeset rhgb quiet LANG=en_US.UTF-8

작업을 실행할 때 이 머신에 1TB 이상의 메모리를 할당할 수 없습니다. 할당된 메모리를 사용하여 이를 재현할 수 있었습니다 stress-ng. 예를 들어 현재 상태는 다음과 같습니다.

              total        used        free      shared  buff/cache   available
Mem:           3.9T        279G        2.2T         34G        1.4T        3.6T
Swap:          127G        849M        127G

1TB 이상을 사용하기 위해 스트레스-ng를 사용하여 메모리를 할당하려고 하면 오류가 발생합니다. 이 명령은 잘 작동합니다.

stress-ng -m 60 --vm-bytes 700G -t 180s

메모리가 최대 980GB 정도 되는 것을 확인했습니다. 하지만 조금 더 할당하면 mmap이 실패합니다.

stress-ng -m 60 --vm-bytes 800G -t 180s
stress-ng: info:  [90100] dispatching hogs: 60 vm
stress-ng: error: [90457] stress-ng-vm: gave up trying to mmap, no available memory

그리고 free디스플레이 사용량은 최대 1TB에 이릅니다. 사용량은 1TB를 초과한 적이 없습니다.

사용자 메모리를 1.0TB로 제한할 수 있는 커널 구성이나 기타 요소를 고려해야 합니까? 시간이 지남에 따라 이 buff/cache값은 3.0T로 증가하고 결코 해제되지 않습니다. 아마도 커널이 사용자 프로세스가 해당 값에 들어가는 것을 허용하지 않기 때문일 것입니다.

관련 정보