首页 > 代码库 > 定位虚拟机卡的原因

定位虚拟机卡的原因

今天网管的同事突然飞给我一个消息,说自己的虚拟机卡死了,说执行了下ls,就卡住了。

技术分享

这里需要默哀三分钟。

然后我问他虚拟机的内存多大,答曰:1G,然后愤慨的说这么多内存都不够哇。于是我先建议他加内存启动虚拟机,然后上去帮他看看问题在哪?

1 [root@localhost init.d]# free -m
2              total       used       free     shared    buffers     cached
3 Mem:          1990        1480       510          0         47        415
4 -/+ buffers/cache:        1020       970
5 Swap:         3999          0       3999

喔,2G的内存只剩510M了。

然后就top看了一下,发现他在运行httpd,vmtoolsd,dmserver等程序内存占用大户。

1                                                                                                           
2  1581 root      20   0  170m 4312 3468 S  0.7  0.2   0:17.40 vmtoolsd                                                                                                         
3   259 root      20   0     0    0    0 S  0.3  0.0   0:00.91 mpt_poll_0                                                                                                       
4  3488 root      20   0  339m  16m  13m S  0.3  0.8   0:18.34 vmtoolsd                                                                                                         
5     1 root      20   0 19348 1560 1252 S  0.0  0.1   0:01.52 init                                                                                                             
6     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd      

 

问过他之后说这个是数据库,现在不用了,于是我就建议把dmserver kill掉然后再看内存:

1 [root@localhost init.d]# free -m
2              total       used       free     shared    buffers     cached
3 Mem:          1990        881       1109          0         47        415
4 -/+ buffers/cache:        419       1571
5 Swap:         3999          0       3999
6 [root@localhost init.d]# 

OK,少了600M。

然后帮他把dmserver的服务停止了。

定位虚拟机卡的原因