我的笔记本电脑上有很多内存(32Gb),但仍然有可用内存量的问题。我正在使用 linux (Fedora 27),这发生在重新启动后一段时间。
如果您检查空闲输出,发现该内存看起来不错,并且有 19Gb 缓存内存,理论上应该按需释放:
# free -h
total used free shared buff/cache available
Mem: 30G 10G 419M 768M 19G 624M
Swap: 999M 999M 280K
Run Code Online (Sandbox Code Playgroud)
但是我试图启动应该获得 2Gb 内存的虚拟机并得到“无法分配内存”。
查看cat /proc/meminfo,发现大部分缓存的内存都去了Slab-SUnreclaim点:
# cat /proc/meminfo
MemTotal: 32310876 kB
MemFree: 387332 kB
MemAvailable: 624464 kB
Buffers: 15120 kB
Cached: 1379140 kB
SwapCached: 7316 kB
Active: 10350772 kB
Inactive: 1330164 kB
Active(anon): 10028184 kB
Inactive(anon): 1085388 kB
Active(file): 322588 kB
Inactive(file): 244776 kB
Unevictable: 900 kB
Mlocked: 900 kB
SwapTotal: 1023996 kB …Run Code Online (Sandbox Code Playgroud)