繁体   English   中英

VM 或 Hypervisor 中的 Linux 内核配置范围

[英]Linux Kernel Config Scopes within VM or Hypervisor

在生产中,我们将部署一个 redis 服务器,需要设置overcommit_memory=1并禁用内核中的透明大页面。

问题是目前我们只有一个巨大的服务器,它要被许多其他应用程序共享。 我们只需要 redis 服务器中的那些内核配置。 我想知道我们是否可以通过为 redis 启动一个专用的 VM 来实现它。 在 docker 中这样做当然没有意义。 我的问题是:

  1. 即使主机操作系统没有相同的配置,这些内核配置是否会在 redis VM 中实际生效? 我对此表示怀疑,因为硬件资源最终是由主机分配的。

  2. redis VM 中的内核配置是否会影响运行其他应用程序的其他 VM? 我认为不会,只是想确认一下。

  3. 为了实现这个目标,我们应该使用什么样的虚拟机或管理程序?

如果没有办法在 VM 中做到这一点,那么为 redis 拥有一个单独的服务器(硬件)是唯一的出路吗?

如果您在虚拟机上运行真正的内核,则 VM 应该能够正确处理过度使用的内存。

  1. 主机服务器将向 VM 授予固定的内存块。 VM 应该按照它认为合适的方式管理该内存,包括过度使用自己的地址空间。

  2. 这不会影响主机上运行的其他应用程序(除了可用内存较少的事实)。 如果是,则说明您的管理程序存在问题。

  3. 这应该适用于任何管理程序。 KVM 是一个很好的起点。

请注意,我还没有真正尝试过——欢迎实验结果!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM