VMware虚拟机卡顿(虚拟机卡死)(调整所有虚拟机内存使其适应预留的主机 RAM (F)、默认进程优先级、不允许使用内存页面修整功能(M))

文章目录

参考文章:虚拟机很卡,但是主机不卡该咋办?

设置

编辑------首选项------内存------额外内存------调整所有虚拟机内存使其适应预留的主机 RAM (F)(我把这个勾上了)

在 VMware 或其他虚拟化平台中,系统管理员可以通过多种方式配置虚拟机的内存,以优化资源使用和系统性能。您提到的三个选项分别有不同的作用和影响:

  1. 调整所有虚拟机内存使其适应预留的主机 RAM (F):这个选项通常意味着虚拟机管理程序会尝试在不超过主机总RAM的限制下,动态地调整虚拟机的内存分配。这样做可以确保所有运行的虚拟机能够适应主机上的物理内存限制,减少内存不足的情况。这种设置下,虚拟机的内存分配更加严格,通常不会进行大量的内存交换(swapping),从而保持较高的性能。

  2. 允许交换部分虚拟机内存 (S):这个选项允许虚拟机管理程序在内存资源紧张时,将部分虚拟机的内存内容交换到磁盘上。这种方式可以在物理内存不足时,通过使用磁盘空间作为"虚拟内存"来增加可用内存,从而允许更多的虚拟机同时运行。但是,由于磁盘读写速度远低于RAM,这会导致性能下降。

  3. 允许交换大部分虚拟机内存 (M):与上一个选项类似,这个选项允许更多的虚拟机内存被交换到磁盘。这种设置在物理内存极其有限,但需要运行大量虚拟机的情况下比较有用。不过,频繁的内存交换会导致显著的性能损失,因为虚拟机需要不断地从磁盘读取数据来补充内存不足。

在选择这些设置时,需要权衡虚拟机的数量和性能需求。如果主机的物理内存足够,建议尽量减少内存交换,以保持较高的性能。如果物理内存有限,但又需要运行多个虚拟机,可以考虑允许更多的内存交换,同时需要接受相应的性能下降。

我选择勾选"调整所有虚拟机内存使其适应预留的主机 RAM (F)"

编辑------首选项------优先级------默认进程优先级

在 VMware 虚拟化环境中,"默认进程优先级" 设置允许管理员指定虚拟机进程在主机操作系统中的优先级。这有助于控制虚拟机在主机资源竞争中的表现,特别是当多个虚拟机或其他应用程序同时运行时。

您提到的两个选项,"抓取的输入内容(G): 正常" 和 "取消抓取的输入内容(U): 正常",具体含义如下:

  1. 抓取的输入内容 (G): 这可能是指当虚拟机抓取或捕捉到用户输入(如键盘、鼠标操作)时的处理方式。"正常" 表示虚拟机处理这些输入的优先级设置为正常,即不会特别增加或减少处理这些输入的资源分配优先级。

  2. 取消抓取的输入内容 (U): 这可能是指当用户输入不再直接送往虚拟机(例如,当用户停止与虚拟机的交互,将控制返回给宿主机操作系统时)的处理方式。同样地,"正常" 表示在这种情况下虚拟机的处理优先级也是正常。

这两个设置通常反映了虚拟机在处理用户交互时的资源分配策略。设置为"正常"意味着虚拟机在这些情况下不会获得特别的处理优先级,但也不会被降级,保持与其他进程相同的优先级。

最后,"虚拟机的本地设置将覆盖这些全局设置" 表示如果在虚拟机的具体配置中对这些设置进行了修改,那么这些个别设置将优先于全局设置。这为管理员提供了灵活性,可以根据每个虚拟机的具体需求来调整优先级设置。

我选择默认不动,怕影响宿主机。

虚拟机------设置------选项------高级------不允许使用内存页面修整功能(M)

在 VMware 的虚拟机配置中,"不允许使用内存页面修整功能(M)" 这个选项关联到内存管理技术中的一项称为"内存页面修整"(Memory Page Trimming)的功能。

内存页面修整 是一种内存管理技术,用于优化虚拟机内存的使用效率。当启用该功能时,虚拟机监控程序(hypervisor)会定期检查虚拟机分配的内存页面,识别并回收那些没有被虚拟机利用的或是空闲的内存页面。这些内存资源随后可以被重新分配给需要更多内存的其他虚拟机或进程,从而提高整体资源利用率。

选择 "不允许使用内存页面修整功能(M)" 通常意味着:

  • 禁用内存修整:这个设置将阻止虚拟机监控程序对该虚拟机进行内存页面的回收和优化处理。这意味着一旦内存被分配给了虚拟机,即使这些内存并未被实际使用,它也不会被系统回收。

  • 性能影响:在某些情况下,禁用内存页面修整可能会有利于提升特定应用的性能,尤其是那些对内存访问速度有极高要求的应用。因为内存修整过程本身可能会引入延迟,而在高性能需求的场景中,这种延迟可能是不可接受的。

  • 资源利用效率:禁用内存页面修整可能会导致物理主机上的内存资源利用率降低,因为未被有效使用的内存无法重新分配给其他可能需要这些资源的虚拟机。

这种设置的选择取决于对虚拟机的特定需求和运行环境的考量。如果内存资源充足或应用对响应时间极为敏感,可以考虑禁用此功能。如果资源较为紧张且需要优化内存使用,通常推荐启用内存页面修整。

如果勾选了"不允许使用内存页面修整功能(M)",那内存分配给了虚拟机,就永远没法释放给宿主机了吗?

选择了"不允许使用内存页面修整功能"后,虚拟机确实会持有它所分配的全部内存,而不会自动将未使用或少用的内存页面释放回宿主机。然而,这并不意味着内存永远无法释放。这里有一些其他方式和场景,通过这些方式可以管理或释放内存:

  1. 虚拟机关闭或重启:当虚拟机被关闭或重新启动时,其占用的所有资源,包括内存,都会被释放回宿主机。

  2. 动态内存管理:虽然禁用了内存页面修整,但如果虚拟化平台支持其他类型的动态内存管理技术(如 VMware 的动态内存分配),则这些技术可以在不同虚拟机之间动态调整内存分配,依然可以在一定程度上优化内存使用。

  3. 手动调整内存配置:管理员可以手动调整虚拟机的内存配置,减少其内存分配,从而将未使用的内存释放回宿主机。

  4. 内存超额分配:在一些虚拟化环境中,即使内存已分配给特定虚拟机,系统仍然可以通过技术如内存超额分配来提高内存使用效率。这种技术允许物理内存总量少于分配给所有虚拟机的内存总和,通过各种管理技术确保内存资源按需分配。

尽管"不允许使用内存页面修整功能"会影响内存的灵活管理,但它主要影响的是内存的实时回收与再分配,而不是内存释放的绝对可能性。管理员应根据具体需求和可用资源来选择最适合的内存管理策略。

我选择不勾选"不允许使用内存页面修整功能(M)",怕影响宿主机。

相关推荐
此生只爱蛋22 分钟前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617928 分钟前
Linux 基础
linux·运维·arm开发
zfj32134 分钟前
sshd除了远程shell外还有哪些功能
linux·ssh·sftp·shell
废春啊41 分钟前
前端工程化
运维·服务器·前端
我只会发热44 分钟前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L1 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
保持低旋律节奏1 小时前
linux——进程状态
android·linux·php
zhuzewennamoamtf1 小时前
Linux I2C设备驱动
linux·运维·服务器
zhixingheyi_tian1 小时前
Linux 之 memory 碎片
linux
邂逅星河浪漫2 小时前
【域名解析+反向代理】配置与实现(步骤)-SwitchHosts-Nginx
linux·nginx·反向代理·域名解析·switchhosts