OpenVZ查看真实内存使用值

Posted by 冰河 at 15:22 1 Response » 12,835 Views
052012

转载一篇不错的文章

OpenVZ的内存模型和Xen或者一般的Linux Kernel不同,导致free命令看不到真实内存使用的值。
OpenVZ上free看到的是虚拟环境(Virtual Environment, VE)中所有程序向系统声明的可能要求内存的最大值,比如C程序:

  1. int *p = malloc(1024*1024*sizeof(int));

向系统声明需要4M内存,但内存实际上并不是在程序声明需要内存时就分配,而是在实际使用时分配,即上面的程序不会让linux内核立即分配内存。
但是OpenVZ提供的/proc/user_beancounters却可以反映出VE实际使用了多少内存,而且,可以反映出有多少是在母鸡的swap里面的,从一定程度上可以判断母鸡是否超售了。
/proc/user_beancounters里面的physpages对应的held值是VE实际使用的物理内存(以4k为单位),oomguarpages则是VE实际使用的物理内存+swap,两者相减,就是VE使用的swap。 Continue reading »

© 2009 - 2018 冰河的博客