全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 8394|回复: 23
打印 上一主题 下一主题

[经验] OpenVZ查看真实内存使用值

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-4 22:17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OpenVZ的内存模型和Xen或者一般的Linux Kernel不同,导致free命令看不到真实内存使用的值。
OpenVZ上free看到的是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。
HostingFu专门写了一段程序来把结果打印的漂亮一点:http://hostingfu.com/article/vzf ... ge-inside-openvz-ve
想在OpenVZ上实验一下的可以执行(需要系统有gcc)
  1. $ wget -O - http://www.lowendbox.com/scripts/vzfree.c 2>/dev/null | gcc -o vzfree -x c -
  2. $ sudo ./vzfree
复制代码
输出中Kernel对应的是VE中所有程序占用的内核内存,Commit是VE使用的物理内存+swap,Swap对应VE使用的swap。

评分

参与人数 3威望 +36 收起 理由
solar + 15 精品文章
windywinter + 20 精品文章
yaoe + 1 精品文章

查看全部评分

2#
发表于 2011-4-4 22:19:34 | 只看该作者
研究一下
3#
发表于 2011-4-4 22:20:06 | 只看该作者
看看
4#
发表于 2011-4-4 22:20:20 | 只看该作者
原帖由 dakai 于 2011-4-4 22:19 发表
研究一下
5#
发表于 2011-4-4 22:20:45 | 只看该作者
i65u 该用户已被删除
6#
发表于 2011-4-4 22:21:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
7#
发表于 2011-4-4 22:22:51 | 只看该作者
  1. [root@Vz ~]# sudo ./vzfree
  2.              Total     Used     Free
  3. Kernel:   2048.00M    7.33M 2040.67M
  4. Allocate:  512.00M  207.20M  304.80M (256M Guaranteed)
  5. Commit:    256.00M  158.69M   97.31M (73.0% of Allocated)
  6. Swap:                 0.04M          (0.0% of Committed)
  7. [root@Vz ~]# free -m
  8.              total       used       free     shared    buffers     cached
  9. Mem:           512        207        304          0          0          0
  10. -/+ buffers/cache:        207        304
  11. Swap:            0          0          0
复制代码
8#
发表于 2011-4-4 22:24:36 | 只看该作者
认真说我试过编译不如shell来的爽
9#
发表于 2011-4-4 22:36:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
10#
发表于 2011-4-4 22:36:51 | 只看该作者
没gcc,路过
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-31 11:27 , Processed in 0.070603 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表