问题描述
我们有一个由 LSF 管理的机器群,包括一些最近从 1.5TB 升级到 2.0TB 的机器。升级后,我们开始遇到以前没有遇到的内存分配失败。这些系统是双核 AMD Epyc 7F72,因此总共 48 个内核。他们运行 Centos 7.9,内核为 3.10.0-1160.el7.x86_64。 HT 被禁用。一个典型的作业会在单核上消耗 100GB-200GB 的内存。
我们看到的症状是,我们通常无法在 2.0TB 的总内存中分配超过 1.0TB 的内存。剩余的 1.0TB 似乎被缓存消耗了,但即使我删除缓存我们仍然无法访问它:
$ free -h
total used free shared buff/cache available
Mem: 2.0T 948G 208G 18M 846G 1.0T
Swap: 0B 0B 0B
$ stress-ng -m 10 --vm-bytes 300G -t 60s
stress-ng: info: [15260] dispatching hogs: 10 vm
stress-ng: error: [15275] stress-ng-vm: gave up trying to mmap,no available memory
stress-ng: error: [15277] stress-ng-vm: gave up trying to mmap,no available memory
stress-ng: error: [15276] stress-ng-vm: gave up trying to mmap,no available memory
[root]# sync; echo 3 > /proc/sys/vm/drop_caches
[root]# free -h
total used free shared buff/cache available
Mem: 2.0T 953G 1.0T 18M 6.8G 1.0T
Swap: 0B 0B 0B
$ stress-ng -m 10 --vm-bytes 300G -t 60s
stress-ng: info: [15972] dispatching hogs: 10 vm
stress-ng: error: [15987] stress-ng-vm: gave up trying to mmap,no available memory
stress-ng: error: [15986] stress-ng-vm: gave up trying to mmap,no available memory
stress-ng: error: [15988] stress-ng-vm: gave up trying to mmap,no available memory
是否需要做一些特殊的事情来访问可用的全部内存?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)