百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

【知识库】关于提高VMwareWorkstations运行速度的终极方案

nanshan 2024-12-15 15:51 17 浏览 0 评论

关于VMwareWorkstations(下称:vmw)的运行速度已经成为很多小伙伴入门后需要解决的最重要的问题,没有之一。很多人和我一样在跑通vm后兴奋没几天就发现,如果把vmw当成生产力工具,总是不尽人意,动不动就会瞬间卡顿一下;

我花了半年时间做了各种观察和测试,现在把测试结果、应用建议给各位大神做个汇报,便于你们后期可以有效、有指向性的去处理具体问题:

第一环节:vmw和同门大哥esxi的对决

怀疑vmw慢的原因开始真的像很多人理解的那样,vmw仅仅是一个个人桌面的沙盒容器,主要应用于各种软件测试,慢是天生的。

我为此专门试了一些大厂的esxi的虚拟机,发现人家的产品果然丝滑,于是我就坚定了这个信念,vmw慢一定是因为这是个桌面软件产品,无法和专业的服务器产品比拟,所以人家的同门师兄esxi很丝滑,而Workstations动不动就卡顿。

我就找了一个周末,花了一下午时间把esxi装好了,信心满满的运行虚拟,结果和之前没啥两样,该怎么卡还是怎么卡。

结论:第一环节失败


第二环节:返回WindowsServer,继续装回vmw,在网上寻求他人的解决办法。

翻遍了互联网,提高vmw的运行速度大约有这么几个主流答案:

1、修改vmw的硬件环境,什么打开cpu的虚拟化、设置内存、调整预留空间、设置优先级选项等等…… 【结论:没毛用】

2、把vm的虚拟机磁盘设置到固态硬盘上运行。【结论:是快了,但是还是卡顿】

3、我怀疑vm虚拟磁盘文件,多文件和单文件的效率优势,官方有句话引起我注意——

既然拆分多个文件可能降低大容量磁盘的性能,那我就用单文件。测试完以后效果并不明显,还是随机的卡。

题外话:vm的那种卡顿让人很无语,还不是那种持续的卡顿,而是随机的零点几秒的卡顿,无论你把机器调整的再快,配置给的再高,它运行速度确实会加快,但是该卡还是卡。会给你造成一种错觉:快也是真的快,卡也是真的卡。好像是两条平行线的事情。


第三环节:我在反思这种卡往往在什么情况下出现的多

1、我觉得既然加了配置速度确实快了,但仍然出现的卡顿会不会和显示方面有关,于是我给服务器装了一块显卡,卡顿还是会出现;

2、我又觉得会不会是磁盘格式问题:于是我把vmw所有的磁盘格式都测试了一遍,没有什么惊喜。

3、我又恍惚的怀疑:人家vm根本不卡,会不会是我远程桌面rdp远程桌面没有设置好呢?这个瞬间被我否定,为啥人家阿里云那些大厂虚拟机就那么丝滑。


第三环节:找到了问题的症结

这个问题已经困扰了我半年时间了,我是把vm当生产力工具的,除了几个vm发布网站对外服务,我还把我编程用的工作环境也改成了云模式,每天在哪儿上班,随便找个能远程桌面的电脑,连上我的云桌面,我就能工作。这种模式已经让我舒服的不要不要的,所以我必须要解决这个随机卡顿的问题。

这一天我在做一个压缩包软件开发的时候,灵光一现,认为这一定还是硬盘的问题,vm磁盘文件无论是单文件还是多文件,本质上就是一个或多个压缩包,vm的虚机执行,其实就是读写这些压缩包(虚拟磁盘文件),逻辑想清楚了,就可以验证了……

从上图可以看到,人家大厂磁盘运行是非常稳定的,平平的一根线,波动非常小。

再看看我的——

我的虚拟磁盘跟吃了伟哥一样兴奋,这就是咱们vmw偶尔随机卡顿的原因,不用我再多解释了吧,我们单机磁盘抖动是正常的,但有一个阈值范围,所以我们一般操作单机感觉不到,但虚拟机的虚拟磁盘就没啥范围了,资源宽松它就就快,资源紧张它就等待就卡,这就是造成大幅度抖动的罪魁祸首。这里说的资源特指当前物理磁盘的I/O的带宽(和你cpu内存没关系)。

大厂使用了高级的磁盘阵列各种措施解决这个问题,我们要解决就还是要本着物美价廉的方案来,谁也没那个实力给家里塞一个磁盘阵列柜;


解决方案一共有两个:

普通对外服务的虚拟机(跑网站、应用)可以不用理它,道理很简单:硬盘就算再慢也快过网络几兆的网络带宽,访问者是感觉不到的。

要解决的是咱自己用的云电脑(生产力工具),这种卡会让强迫症抓狂的……

解决方向有两个:要么是降低磁盘读写的抖动(为每个虚拟机保存最低的磁盘读写资源),两外一个方案是提高磁盘的I/O带宽。

方案1:插入一块全新的硬盘,构建虚拟机的时候选择——

“选择独占整个硬盘”道理很简单,如果你只使用单个分区,其实还是在和别的应用共享磁盘带宽。选择独占以后,其实就已经相当于一台单机了,只是内存CPU还在共享宿主机而已。

这时候你做完系统以后就会发现,你拥有了一个媲美大厂的,操作丝滑的虚拟机,这个方案是vmw里性能最好的方案,但是它毕竟独占了一个硬盘,硬盘虽然不贵,但是机箱资源有限,你说你想多开几个高性能虚机,有几个硬盘位够你用呢?


方案二:多方兼顾的解决方案

给电脑里插入一块M2接口的固态硬盘,这个接口I/O更宽,把它作为缓存盘使用。

1、按照正常模式制作虚拟机系统。

2、做完系统后把虚拟机文件进行分离。一个虚拟机其实有三大部分 虚拟机配置文件、虚拟磁盘文件、和运行后的虚拟内存文件。

3、把配置文件和虚拟内存文件放到你的固态硬盘上,虚拟硬盘文件还放到你现有的普通硬盘上。


N盘是普通机械硬盘,Z盘是M2固态硬盘;


上图就是缓存盘结构,存着某个虚拟机的基本信息和运行时候的虚拟内存,


这个机械硬盘区放的是虚拟磁盘文件。

这种结构的好处是你无需再为了性能给每个虚拟机配置一个独立硬盘,M2缓存盘的加入为原本紧张的磁盘I/O提供了一倍的带宽扩容。

经测试:这样配置以后虚拟机肉眼可见的丝滑了,但偶尔会有极个别的卡顿(毕竟不如独占硬盘那么爽),但是绝对可以接受。

一个误区需要注意:这里主要加强了磁盘的I/O,和磁盘速度没太大关系,所以一块固态不一定能解决问题,但两个固态用上述方案会更好的解决问题,我之所以用机械盘,主要还考虑到数据备份等问题,毕竟便宜。


最后的话:我说的丝滑顺畅也得根据行业区分,我是个程序员,现在跑程序、编译、一般工作都没问题,但如果你是影视工作者、游戏工作者,可能还需要进一步优化,在这半年解决问题的期间,我东撞西撞的意外发现了很多这方面的知识,比如:vm优化好了,还可以继续优化rdp协议的传输、还可以优化vm虚拟的视频流模式等等,最终可以让一个配置很一般的vm跑出媲美单机的运行状态。

有需要Rdp传输优化软件的,我回头发给你们,会使上面的结果更上一层楼。


欢迎留言交流,新问题我也特别愿意和各位一起讨论。

相关推荐

服务器温度监控--lm-sensors(服务器温度怎么看)

lm-sensors是一款linux的硬件监控的软件,可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数据。这些数据我们通常在主板的BIOS也可以看到。当我们可以在机器运行的时候通过...

MySQL版本区别及管理(mysql版本最新版本)

MySQL版本区别及管理一.MySQL5.6与MySQL5.7安装的区别1、cmake的时候加入了bostorg2、初始化时使用mysqld--initialize替代mysql_install...

Linux技术问答系列-NO4(linux必知必会)

一.绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示?切换目录用什么命令?绝对路径:如/etc/init.d当前目录和上层目录:./../主目录:~/切换目录:cd二...

猫盘原版系统开启ssh教程(猫盘原版系统怎么样)

猫盘是之前网上流传许久的矿渣,默认其系统不支持SSH功能,为了能打开其SSH功能,我特意制作操作教程如下:1、到网盘下载相关软件,利用猫盘系统自带功能,将assets放入个人存储目录下,并牢记对应的...

一探究竟——天融信网闸TopRules7000

网闸即:安全隔离与信息交换系统,常用作企业内外网隔离与业务互访用途。相比给服务器加多块网卡跨多个网段来说,网闸提供了更加安全的方式。探究背景:某次,网闸配置新业务,重启设备查看是否生效,结果发现刚重启...

操作系统加固通用Linux篇(linux系统加固常见操作)

1检查是否配置登陆超时时间设置编辑vi/etc/profile文件,配置TMOUT将值设置为低于300.TMOUT=3002检查是否禁止root用户登录FTP设置如下将对应配置文件中,设置roo...

zabbix agent的安装与配置(zabbix-agent安装)

Agent安装rpm-ivhzabbix-agent-3.2.4-1.el6.x86_64.rpm安装完成后,zabbixagent端已经安装完成了,zabbixagent端的配置目录位于/e...

Linux基础命令之计划任务(linux计划任务crontab)

一、计划任务1、at只能执行一次语法:at时间服务:atd必须开启123[root@xuegod163~]#/etc/init.d/atdstatus#查看服务状态atd(pid2...

Secure Delivery Center (SDC)安装指南二:Delivery Hub

免费下载SecureDeliveryCenter2015>7月23日软件分发管理神器SecureDeliveryCenter免费技术交流会,MyEclipse原厂商倾力主讲,敬请关注!...

OpenWrt 常用命令及用法!!(openwrt常用功能)

OpenWrt是一个高度可定制的嵌入式Linux操作系统,常用于路由器等网络设备。以下是一些常见的OpenWrt命令及其详细解释和示例操作:一、系统信息相关命令1.`uname-a``u...

Linux 设置定时任务crontab命令(linux定时任务cron表达式)

看了同事的脚本,发现他用了cron来自检自身的那个程序是否崩溃了,这是有多大的不自信才用这种机制的?点击(此处)折叠或打开$sudocat/var/spool/cron/crontabs/ro...

vCenter纳管ESXI主机出错(vsphere esxi)

vCenter纳管主机的大致步骤为:(1)vc和esxi交换证书,确立信任;(2)esxi把自己的资源信息同步到VC,VC建立清单。(3)VC在esxi建立几个操作用户;(4)然后下发...

从选购到安装 小白也能看懂的超全NAS经验分享

0.篇首语Hello大家好,我是KC,上一篇器材和工作流分享的文章里,有小伙伴问我怎么没有提到NAS?其实是因为前段时间碰巧更换了一台新NAS,折腾了一段时间很多内容还没来及整理和汇总,今天就...

手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?

你在Linux服务器上搭建Sentinel环境时,是不是也遇到过各种报错,要么是启动失败,要么是配置后无法正常访问控制台?看着同事顺利搭建好,自己却一头雾水,别提多着急了!其实,很多互联网大厂...

服务器被暴力破解的解决办法(二)(服务器被攻破严重吗)

上一次,我们说到小王公司服务器遭遇暴力破解,拿到解决方案回公司就开始部署。部署完成后的确起到了一定的效果,不过接下来的一个问题让他很头疼,原来黑客虽然攻入不进系统,但是依旧不依不饶的进行暴力破解。...

取消回复欢迎 发表评论: