除了重新启动之外,还有更有效的方法来整理 Linux 内存碎片吗?

除了重新启动之外,还有更有效的方法来整理 Linux 内存碎片吗?

我正在运行 Gentoo Linux,内核为 4.4.8-hardened-r1、QEMU-KVM 版本 2.5.1 和 3227 MB 系统可见 RAM(不考虑 BIOS 和我的 AMD APU 显卡占用的 RAM)。我有一个使用 2.8 GB 内存的虚拟机,出于性能原因,它必须使用大页运行,并且在使用我的系统执行其他任务一段时间后,我必须重新启动系统,因为系统无法为我的虚拟机分配足够的大页。网上关于 Linux 内存管理的粗略阅读表明,当我的内存分配碎片化并且系统无法为所有这些大页找到至少 2.8 GB 的连续可用内存时,就会发生这种情况,并且 Linux 的内存管理在 99% 的情况下对于正常情况来说是完全正常的进程,但似乎我刚刚遇到了 Linux 内存管理不足的 1% 边缘情况。

是否可以对我的内存进行“碎片整理”,以便能够在无需重新启动整个系统的情况下获取所有内存?

相关内容