使用虚拟机运行Linux图形桌面时,经常因为一个网页或者编译某个程序就导致虚拟机卡死,甚至影响主机使用。明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿。打开主机上的任务管理器查看发现磁盘占用百分百,原来是磁盘读写的锅。但是我就觉得特别好奇,为什么在虚拟机中打开一个网页会导致长时间的磁盘操作占有百分百,甚至把主机都卡死。
 
在查了许多资料后,有建议换成SSD的,有建议装双系统的,有建议用远程桌面的等等,尝试过几乎所有解决方案(除了换SSD和双系统),这些方案几乎都没有什么效果。最后综合了各方面的资料我发现导致磁盘I/O操作的主要原因有以下几点:
 
1.VMware会在使用的时候统计内存中的数据的使用情况,然后将不常用的一些内存数据存入本地磁盘从而释放出空间节省内存的使用。这个对于内存较小的机子可能有一些帮助,但是内存交换也会带来大量的I/O操作从而导致性能下降
 
2.VMware从10版本开始,在运行每个虚拟机的时候回默认在硬盘上为相应的虚拟机生成一个内存实时镜像文件用于存储虚拟机内存的改变,这就导致了虚拟机在使用的时候不断的在对硬盘发生I/O操作,这个是及其耗费时间,从而使得虚拟机小小的操作却导致了长时间的卡机甚至是死机的情况的发生。对于使用SSD的电脑还好,对于大多数在机械硬盘上进行这些操作的用户来说简直是灾难。不过幸好解决的办法也比较简单。
 
解决办法
 
针对第一点可以点击 虚拟机/设置/选项/高级 将“禁用内存页面修整”勾选起来禁止这一部分的内存交换 
 
针对第二种情况,将实时内存镜像读写默认关闭,打开C:\ProgramData\VMware\VMware Workstation下的settings.ini文件,在文件中加入下面这一条命令:
 
mainMem.useNamedFile = "FALSE"
 

建议大家在修改前先保存一份原先的设定,然后再进行修改。如果遇到权限问题可以右键点击‘属性’,然后选择‘安全’一栏

选择Everyone一栏,然后点击下面的编辑

将‘允许’那一列中的完全控制权限赋予每个用户,然后保存修改后退出即可,修改完settings.ini文件后再将其修改回原先的设置即可。这下磁盘占用过大的问题就可以得到解决了。

VMware虚拟机磁盘操作占用过高问题的更多相关文章

  1. 关于VMware虚拟机磁盘收缩的几种方法

    VMware虚拟机在使用过程中,随着软件和数据的增多,虚拟磁盘占用的硬盘空间会逐渐增大,但删除数据后,却不会自动减小占用的物理硬盘空间 而是继续占用相应大小.如果需要解决上面的问题,就需要收缩wmwa ...

  2. VMware虚拟机磁盘收缩的几种方法

    原文地址:http://www.cnblogs.com/5201351/p/4290401.html 根据下面转载的内容,我在VMware 12.0.0 build-2985596的ubuntu上做试 ...

  3. VMware 虚拟机磁盘

    创建磁盘时,会进行两个操作:分配空间.置零 1.厚置备延迟置零: 默认的创建格式,创建磁盘时,直接从磁盘分配空间,但对磁盘保留数据不 置零.所以当有I/O操作时,只需要做置零的操作. 磁盘性能较好,时 ...

  4. vmware虚拟机磁盘挂载

    执行mount命令时找不到介质或者mount:no medium found的解决办法 使用vmware时,在虚拟机设置里,设置CD/DVD为系统镜像,挂载时,有时会有找不到介质或者no medium ...

  5. Extended VM Disk In VirtualBox or VMware (虚拟机磁盘扩容)

    First, Clean VM all snapshot, and poweroff your VM. vmdk: vmware-vdiskmanager -x 16GB myDisk.vmdk vd ...

  6. VMware虚拟机Mac OS X无法调整扩展硬盘大小,更新xcode时出现磁盘空间不足

    使用VMware虚拟机搭建的MacOSX,安装xcode时出现磁盘空间不足的错误. 因为很多朋友在初次安装MacOSX的时候都默认选择40G的磁盘大小,结果用了没两天之后就发现磁盘不够用了. 这时,百 ...

  7. vmware虚拟机挂载Windows磁盘的两种方法

    第一种 vmware虚拟机通过ntfs-3g挂接windows盘 1.共享windows盘虚拟机设置——>添加硬盘——>选择IDE——>使用物理磁盘——>选择本地盘(单分区)— ...

  8. VMware vSphere Client下增加虚拟机磁盘空间的方法

    随着系统运维时间的增长,磁盘就日益的损耗,如果遇到虚拟机报磁盘空间不足怎么办?还好,我们可以通过磁盘阵列增加磁盘空间,然后扩容到虚拟机中去. 对于linux虚拟机磁盘扩容的方案有两种,一种就是原有的实 ...

  9. VMware 虚拟机(linux)增加根目录磁盘空间

    VMware 虚拟机(linux)增加根目录磁盘空间     今天查看学校的监控报修系统,不能访问了!!!系统运行很慢,用top命令查看发现内存使用率90%,用"df -h ”查看“/”目录 ...

随机推荐

  1. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境

    虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...

  2. 腾讯开源项目phxpaxos的编译步骤

    #paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir ...

  3. MIUI通过xposed自动设置root权限

    在小米手机上,每次安装一个自己的插件总需要打开安全中心进行root权限授权,非常的麻烦,总共需要电5次确认,每次需要等5秒 因为插件开发的需求,希望重启计算机时候判断是否已经root,未root则自动 ...

  4. ios 对于AFNetworking3.0的基本使用

    AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持.AFHTTPRequestOperationManager已经抛弃,所以需要对数据请求进行改动. G ...

  5. Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow

    参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...

  6. MUI中超链接失效解决办法

    重新绑定a标签点击事件,用 plus.runtime.openURL(this.href) 打开新页面

  7. JSOI2018 简要题解

    潜入行动 复杂度分析题. 定义状态fi,j,0/1,0/1f_{i,j,0/1,0/1}fi,j,0/1,0/1​表示以iii为根子树放jjj个机器iii这个放不放,iii这个是否已放来进行dpdpd ...

  8. css3用到知识点小结

    属性 默认值 属性值及其描述 animation-name 默认值:none 规定需要绑定到选择器的 keyframe 名称. keyframename 规定需要绑定到选择器的 keyframe 的名 ...

  9. vshost32-clr2.exe 已停止工作

    软件中使用了DevComponents.DotNetBar2.dll MessageBoxEx.Show("ddd");运行到这句出现如上错误 解决:在项目属性里->调试: ...

  10. (二)Javascript面向对象编程:构造函数的继承

    Javascript面向对象编程:构造函数的继承   这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承 ...