使用虚拟机运行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. OkHttp的get和post请求

    OkHttp的get.Post 由于没有看过书籍,不能将理论正确的描述出来,只能根据自己的理解,带大家认识下java开发下的OkHttp的get和post两种请求方式. 依赖的包为:okio-1.15 ...

  2. SQL 2008发布与订阅

    网的教程很多,大都是不能成功,只有这一篇是成功的! https://www.cnblogs.com/DBArtist/p/5803271.html

  3. scrapy 爬取前程无忧

    spider # -*- coding: utf-8 -*- import scrapy from Jobs.items import JobsItem class Job51spiderSpider ...

  4. Unity3D-RayMarch-几何图元-3添加阴影

    效果图: 在RayMarch渲染算法中计算阴影非常简单,当射线碰撞到物体,从碰撞点逆着光源方向再次执行射线步进算法,如果这一过程中碰撞到了其他物体,则碰撞点被其他物体遮挡,该处具有阴影. shader ...

  5. python 13 常用模块 一

    一.time模块 1.time.time()获取当前时间戳,返回长整型 2.time.localtime() 获取当地结构化时间,time.gmtime()获取格林尼治时间   一图需要传入匹配格式, ...

  6. 上传本地文件到github

    第一步:创建新的仓库 勾选Initialize this repository with a README选项,自动创建REAMDE.md文件. 第二步: $ git config --global ...

  7. pytest框架之fixture详细使用

    本人之前写了一套基于unnitest框架的UI自动化框架,但是发现了pytest框架之后觉得unnitest太low,现在重头开始学pytest框架,一边学习一边记录,和大家分享,话不多说,那就先从p ...

  8. XBee PRO 900HP远距离无线模块

    XBee PRO S3B也称为XBee-900HP无线模块,它是一款工作在频段900~928MHz之间,基于FHSS跳频技术的远距离无线数传电台核心模块.常用型号如下: 类别 型号 开发套件 XKB9 ...

  9. 关于git的一些命令

    git命令 1.git init 初始化仓库 2.git status 查看当前状态 3.git add -A(提交所有的) 提交本地文件到缓存区 4.git commit -m"提交信息& ...

  10. 网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放

    网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放. <meta name="viewport" conten ...