【发布时间】:2017-07-31 18:36:02
【问题描述】:
目前正在尝试使用 QEMU/KVM 在虚拟化环境中为虚拟机创建高效的动态内存分配。
我的最后一个问题是当来宾虚拟机几乎耗尽内存时,它会使用 OOM Killer 并阻止任何没有足够内存的工作。但我正在做的是,当机器几乎耗尽内存时,我的算法将从其他来宾虚拟机中获取一些空闲内存并将其分配给需要它的机器。
所以我禁用了 swap,ksm 没有运行,最后是 OOM 杀手 正在杀死其他程序。
我已阅读并搜索禁用 OOM 杀手,但我发现禁用它是个坏主意。
所以现在问这里有没有办法我可以将 OOM Killer 延迟 1 或 2 秒并让进程运行,因为我的算法已经为机器分配内存。
或者即使没有内存,进程也可以运行并分配内存,因此我的算法将为该机器分配内存。
【问题讨论】:
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
标签: linux memory memory-management out-of-memory real-time