Chinaunix

标题: 请教:ESXI下建的虚拟机CPU高占用的问题 [打印本页]

作者: baqycl    时间: 2010-07-19 20:37
标题: 请教:ESXI下建的虚拟机CPU高占用的问题
请教:ESXI下建的虚拟机CPU高占用率的问题

测试环境:
实体server   
ASUS TS700-E6/RS8  

CPU:Xeon 5506 x1 (4核)

RAM:8GB

HDD:SATA 1TB x8 (Raid 5)

RAID:LSI 8888ELP

NIC:Intel EXP I9404PT

虚拟软件: VMware ESX/ESXI 3.5 或4.0 这4个版本全部测过 , 有同样的问题.
虚拟机OS windows2003 SP2

在实体Server上使用某软件(软件作用是透过网络给Client分发操作系统镜像,相当于网络ghost) CPU占用大概20%,内存占用600MB.
在虚拟机上(只开一台虚拟机,并分配4核给它) , 内存分配2G , CPU马上会占到100%

vmware ESXI我使用的默认设定没有更改 .
请教高手: 这个有可能是什么问题造成的呢 ?
需要作什么优化设定吗? 我看到有一个新建资源池选项 , 对以上的应用有帮助吗?


感谢!
作者: deadwind    时间: 2010-07-19 20:49
资源池对你这一个VM来做优化是没啥用的

你先在VM里面看看到底是哪个进程占用了这么多CPU
作者: baqycl    时间: 2010-07-19 20:55
资源池对你这一个VM来做优化是没啥用的

你先在VM里面看看到底是哪个进程占用了这么多CPU
deadwind 发表于 2010-07-19 20:49



   就是提供镜像分发的软件进程占用了100%的CPU , 但是我问过此软件的开发工程师 , 他讲此软件在虚拟机下和实体机下是没有差别的 , 并不会多做什么事.
而且它在同一台实体机上确实占用了很少的CPU.
  所以我想问一下 : 有没有可能是我虚拟机的设定出问题导致的呢?
作者: dragooner    时间: 2010-07-20 09:10
情况是一直存在,还是持续一段时间就OK了?系统正在分发软件么?
作者: baqycl    时间: 2010-07-20 12:34
情况是一直存在,还是持续一段时间就OK了?系统正在分发软件么?
dragooner 发表于 2010-07-20 09:10



    只要开始分发OS,CPU就会用到100%,分发完成,CPU就回到正常水平.
因为分发OS时, 会大量读写硬盘,所以我想问一下:vmware esx下哪种磁盘格式效率最高,或者说哪种磁盘格式读写硬盘时不会占用CPU?
作者: dragooner    时间: 2010-07-20 12:53
在esx环境下面,vmdk以厚格式性能为最好。 你说的磁盘读写和cpu的关系,我觉得应该咨询你的软件厂商。

如果你把软件安装在你的物理服务器上 会发生这种分发OS时,系统cpu就会占用100%吗?
作者: baqycl    时间: 2010-07-20 12:55
在esx环境下面,vmdk以厚格式性能为最好。 你说的磁盘读写和cpu的关系,我觉得应该咨询你的软件厂商。

如 ...
dragooner 发表于 2010-07-20 12:53



    在物理机上无此问题
作者: dragooner    时间: 2010-07-20 13:05
那你是给vm分配了4个vCPU么?你尝试分配2个试试。你最好能把你分发时的vm性能状况截图上来看看。
作者: baqycl    时间: 2010-07-20 15:08
那你是给vm分配了4个vCPU么?你尝试分配2个试试。你最好能把你分发时的vm性能状况截图上来看看。
dragooner 发表于 2010-07-20 13:05



    分配多少vCPU都试过 , 甚至另加一个物理CPU , 把8个核全分给它都还有这个问题 , 加CPU完全没效果 ,给多少吃多少.
上周找VM的工程师来看过, 也不知道问题在哪儿.
    但实际上, 有企业已经用这个方法做出成功案例.很郁闷
作者: dragooner    时间: 2010-07-20 15:21
你使用的是ESXi版本吧?貌似现在有这个问题存在。尝试换上ESX作为底层试试。
作者: baqycl    时间: 2010-07-20 16:10
你使用的是ESXi版本吧?貌似现在有这个问题存在。尝试换上ESX作为底层试试。
dragooner 发表于 2010-07-20 15:21



    感谢您提供的建议, 我试试先弄个盗版的序列号试下ESX , 不过问过VM的工程师,他说两者在这方面没有差异
作者: saintdragon    时间: 2010-07-20 16:12
你创建硬盘的时候采用厚格式试试。
在vsphere client中看看性能,包括esx系统自身占用的资源
作者: baqycl    时间: 2010-07-20 16:42
本帖最后由 baqycl 于 2010-07-20 16:58 编辑
你创建硬盘的时候采用厚格式试试。
在vsphere client中看看性能,包括esx系统自身占用的资源
saintdragon 发表于 2010-07-20 16:12



    就是用的厚格式出这种问题才想换成RDM.
做厚格式时用的命令是这样的: vmkfstools -c 2045G -d eagerzeroedthick -a lsilogic  /vmfs/volumes/LUN1/LUN.vmdk

因为VM不认别大于2T的LUN,所以我把6T划成3个2T的分区,然后添加成3个2T的LUN, 在每个LUN上创建一个2T的VMDK文件.
所有的数据都存在 3个VMDK文件上
作者: saintdragon    时间: 2010-07-20 16:44
还有一种方法是用VMDPIO试试,不过这个对硬件要求更高
作者: baqycl    时间: 2010-07-20 16:59
本帖最后由 baqycl 于 2010-07-20 17:00 编辑
还有一种方法是用VMDPIO试试,不过这个对硬件要求更高
saintdragon 发表于 2010-07-20 16:44



    硬件不是问题 , 可以讲一下VMDPIO的做法吗?

目前我的服务器硬件是DELL R710 双5620 CPU ,24G内存 , 挂MD1200存储柜
作者: dragooner    时间: 2010-07-20 17:04
我看现在坛子里有人说 一样的vm,跑在ESX上啥问题没有,跑在ESXi上 资源占用率就奇高。

你的2TB 文件,6TBlun着实比较大了。
作者: baqycl    时间: 2010-07-21 18:47
你使用的是ESXi版本吧?貌似现在有这个问题存在。尝试换上ESX作为底层试试。
dragooner 发表于 2010-07-20 15:21



    今天换了ESX, 状况依旧.
    开始怀疑是厚磁盘格式要占用虚拟机的CPU , 所以费了九牛二虎之力搞定了本地存储做RDM , 详情见存储区
http://bbs.chinaunix.net/thread-1750974-1-1.html
   用了RDM磁盘后 , 状况依旧 , 现在已经没有方向了,不知道问题到底出在哪儿.
作者: b1uesky    时间: 2010-07-21 22:26
回复 17# baqycl


    先驱的路不好走啊。。。都换成esx了,直接找他们工程师,钱不是白给的啊。
作者: b1uesky    时间: 2010-07-21 22:34
回复 17# baqycl


    我说一个我碰上的一个VM其CPU 始终100的事情:
   物理主机为兼容机,AMDCPU,内存4G.主机是win 2003, VMware-server-2.0.2。
   已经创建了两个内存为512M的win 2003std操作系统。当我添加第3个内存为1.5G的vm时候。开机什么都没跑
  该VM上CPU始终为100.
  我后来重启了物理主机,三台VM主机CPU恢复正常。
作者: dragooner    时间: 2010-07-22 09:00
情况比较复杂了。
作者: baqycl    时间: 2010-07-22 09:34
回复  baqycl


    我说一个我碰上的一个VM其CPU 始终100的事情:
   物理主机为兼容机,AMDCPU,内存 ...
b1uesky 发表于 2010-07-21 22:34



    说一下我这边的应用环境:我这边是工厂环境,做NB的OEM,这个环境的目的是要给生产出来的NB安装操作系统.
已经有工厂的产线用虚拟化实现了这种应用, 比如Quanta.
    现在我这边用实体机就没问题,用虚拟化就CPU100%,但线体的实际环境是不允许用多台实体机的.
    现在的架构是VMware ESX+WDS+多播软件.
作者: saintdragon    时间: 2010-07-22 09:38
今天换了ESX, 状况依旧.
    开始怀疑是厚磁盘格式要占用虚拟机的CPU , 所以费了九牛二虎之力搞 ...
baqycl 发表于 2010-07-21 18:47


比较奇怪的现象呀。
收集到了esx主机自身消耗资源的情况了吗?看看你分发时,esx主机自身哪些进程消耗资源多
作者: baqycl    时间: 2010-07-22 11:12
比较奇怪的现象呀。
收集到了esx主机自身消耗资源的情况了吗?看看你分发时,esx主机自身哪些进程消耗 ...
saintdragon 发表于 2010-07-22 09:38



    看到一个莫名其妙的状况:
我的CPU是4核,开了一台虚机,分了2Vcpu给它.
现在分发的时候虚机的windows里看到CPU占到100% , 从ESX的图形控制台的性能监控也看到有几个CPU占用的很高,到100%了
但是在ESX本机命令行使用top命令看到的CPU最大占用时才4% ,进程是init
作者: saintdragon    时间: 2010-07-22 12:16
莫非仅仅是显示问题???
作者: baqycl    时间: 2010-07-22 12:47
莫非仅仅是显示问题???
saintdragon 发表于 2010-07-22 12:16



    不是啊,实际上,虚拟机的CPU达到100%后,基本上这个虚拟机就动不了了,任何操作都会很慢
作者: saintdragon    时间: 2010-07-22 13:19
那就是说还是esx可能还是有bug了
作者: baqycl    时间: 2010-07-22 13:57
本帖最后由 baqycl 于 2010-07-22 14:50 编辑
那就是说还是esx可能还是有bug了
saintdragon 发表于 2010-07-22 13:19



    就我使用的状况来看,ESX做这种生产应用有点吃力.
    但我打听到Quanta的生产环境也是用ESX3.5做的,硬件环境和我的基本相同,他们只是加多了两台存储,但他们是带7台虚拟机,客户端也比我的多出很多.
  所以我很郁闷
作者: saintdragon    时间: 2010-07-22 15:37
就我使用的状况来看,ESX做这种生产应用有点吃力.
    但我打听到Quanta的生产环境也是用ESX3.5做 ...
baqycl 发表于 2010-07-22 13:57


建议只划分1个1TB的分区给你的虚拟机分发试试。看看是否是因为你的存储容量太大造成的
作者: baqycl    时间: 2010-07-22 19:34
建议只划分1个1TB的分区给你的虚拟机分发试试。看看是否是因为你的存储容量太大造成的
saintdragon 发表于 2010-07-22 15:37



    这段时间快被这个问题搞疯了,200G一个分区都划过 , 问题依旧.
今天弄来一个双CPU的主机 , 单颗8核心 .
试了一下实体机 , 客户机完全不限速(千兆网卡,千兆交换机做组播) ,服务器大概能同时分发20种镜像 , CPU占用80%
明天打算用这台测一下VMware , 看看每个虚拟分配5个内核能不能跑起来.
作者: dragooner    时间: 2010-07-23 09:20
很有趣的问题。感觉上可能是在虚拟环境下和你的多播软件有一些小问题。 可以尝试从这个方面想想。

亦或者是你换一个底层虚拟化平台试试。比如Xen或者是Hyper-V。
作者: saintdragon    时间: 2010-07-23 09:31
1。Quanta的应用软件和你们的完全相同吗?
2。是否必须要使用虚拟机呢?如果你的硬件利用率都到80%了,感觉使用虚拟机就没啥必要了。
3。是否应用软件和esx提供的vcpu有兼容性问题呢?可以找vmware的高手和你的应用软件厂商共同探讨一下
作者: baqycl    时间: 2010-07-23 14:51
1。Quanta的应用软件和你们的完全相同吗?
2。是否必须要使用虚拟机呢?如果你的硬件利用率都到80%了,感 ...
saintdragon 发表于 2010-07-23 09:31



    你提的几个问题非常中肯 , 基本上全部说到了重点.
1  应用软件不同,这是我最担心的, 我们的应用软件是自己研发的.
2  本来这种应用是不应该使用虚拟机的, 但这种线体不是固定的, 放置的服务器越少越好,宁可每台虚机少带些客户端.
作者: dragooner    时间: 2010-07-26 09:03
如果应用系统存在热点,还是慎重考虑使用虚拟机。你们的开发环境是vm还是物理机?如果有可能,可以尝试在vm上重新将软件编译出来。然后再在vm上部署下。
作者: baqycl    时间: 2010-07-26 13:53
如果应用系统存在热点,还是慎重考虑使用虚拟机。你们的开发环境是vm还是物理机?如果有可能,可以尝试在vm ...
dragooner 发表于 2010-07-26 09:03



    开发环境是物理机,因为开发的时候没有考虑虚拟化.
开发完后也没有在虚拟机上测过,因为之前没有这种线体,都是用的物理机.
最近要引进新线体才要测试虚拟化, 但研发那边对虚拟化这块明显不感兴趣 , 所以我想试试在不改动软件的情况下能不能解决这个问题.
作者: dragooner    时间: 2010-07-26 13:59
本帖最后由 dragooner 于 2010-07-26 14:04 编辑

呵呵。这个可能就得你多做尝试了。也不一定就拘泥在vmware产品上。可以都试试,比如xen、kvm、hyper-v、xenserver等




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2