虚拟机的性能问题

时间:2022-12-26 21:30:41

我们在做邮件SaaS的服务的性能调优,整个环境是建立在ESX下的,周五的时候,突然发现一台Linux虚拟机特别慢,特别是在做文件Copy的时候。用Top看,发现CPU的System 时间占用特别多,能在30%以上。copy有I/O操作会需要system时间,但是不会到那么多。 

用free看内存使用状况,发现,整个内存有8G, Cached有4G,Buffer有1G,Free有3G。看上去内存使用有点问题,因为,Linux系统为了提高文件系统的性能会很贪婪的用内存,很多时候Free的内存可能只有100M。

当看ESX的性能监控的时候,发现整个ESX的内存都快用完了。 ESX一共有12G内存,但是,有很多虚拟机,在运行,所以所有虚拟机正在使用的内存已经很超过12G。 

联系到Linux的文件系统的性能会占用很多的内存,得到根源是,VM 的Linux认为有很多的内存,所以,在对文件系统操作的时候,会用内存做Cache,对VM来看是这些内存都在物理内存上,但是,整个ESX的物理内存都用尽了,所以,ESX必须要SWAP,这个对VM的Linux的文件操作有很大的影响。直接的表现就是,相应慢,并且system的 CPU高。

所以,如果有VM有很重的I/O操作,这个时候,不能给这个VM分配太多内存。