全球主机交流论坛

标题: OpenVZ查看真实内存使用值 [打印本页]

作者: 马甲II    时间: 2011-4-4 22:17
标题: OpenVZ查看真实内存使用值
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。
作者: dakai    时间: 2011-4-4 22:19
研究一下
作者: 刹那芳华    时间: 2011-4-4 22:20
看看
作者: 我是小白    时间: 2011-4-4 22:20
原帖由 dakai 于 2011-4-4 22:19 发表
研究一下

作者: yaren    时间: 2011-4-4 22:20
http://www.lowendbox.com/scripts/vzfree.c 开源看看
作者: i65u    时间: 2011-4-4 22:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: Poison    时间: 2011-4-4 22:22
  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
复制代码

作者: yaoe    时间: 2011-4-4 22:24
认真说我试过编译不如shell来的爽
作者: serverpoint    时间: 2011-4-4 22:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 抛砖引玉    时间: 2011-4-4 22:36
没gcc,路过
作者: cs19861010    时间: 2011-4-4 22:38
             Total     Used     Free
Kernel:   2048.00M    3.12M 2044.88M
Allocate: 2048.00M   76.68M 1971.32M (1024M Guaranteed)
Commit:   1024.00M   33.16M  990.84M (39.2% of Allocated)
Swap:                 4.84M          (16.1% of Committed)

作者: windywinter    时间: 2011-4-4 22:52
             Total     Used     Free
Kernel:   2048.00M    3.00M 2045.00M
Allocate:  256.00M  223.83M   32.17M (256M Guaranteed)
Commit:    256.00M  169.00M   87.00M (74.2% of Allocated)
Swap:                 0.00M          (0.0% of Committed)

Hostrail竟然不超售……
作者: yaoe    时间: 2011-4-4 22:55
标题: 回复 12# 的帖子
hr超的并不狠,或许很多人只是买来备份有关.
不同节点长期观察得出的结论
作者: hiemsventosa    时间: 2011-4-4 23:04
原帖由 windywinter 于 2011-4-4 22:52 发表

Hostrail竟然不超售……

Hostrail的硬盘比较容易被超售
作者: yaoe    时间: 2011-4-4 23:07
标题: 回复 14# 的帖子
根据签名aff.
你确认不是左右互搏?

作者: yaren    时间: 2011-4-4 23:17
hr的硬盘常常杯具。用的要我tk上去让管理员新挂个硬盘上来
作者: 有个就好    时间: 2011-4-4 23:34
这些数据可以作弊
作者: windywinter    时间: 2011-4-4 23:38
标题: 回复 15# 的帖子

作者: wen    时间: 2011-4-5 18:15
Total     Used     Free
Kernel:   2048.00M    2.08M 2045.92M
Allocate:  128.00M   59.01M   68.99M (64M Guaranteed)
Commit:     64.00M   55.20M    8.80M (90.0% of Allocated)
Swap:                 0.00M          (0.0% of Committed)

話說要怎看有沒有超售= =
作者: 95147    时间: 2011-4-5 18:26
好东西,收下了~
作者: yaren    时间: 2011-4-7 20:50
Kernel:   2048.00M    3.21M 2044.79M
Allocate:  512.00M   73.43M  438.57M (256M Guaranteed)
Commit:    256.00M   34.74M  221.26M (42.9% of Allocated)
Swap:                 0.00M          (0.0% of Committed)

这4行参数指的是什么能否解释一下
作者: windywinter    时间: 2011-4-7 22:04
原帖由 yaren 于 2011-4-7 20:50 发表
Kernel:   2048.00M    3.21M 2044.79M
Allocate:  512.00M   73.43M  438.57M (256M Guaranteed)
Commit:    256.00M   34.74M  221.26M (42.9% of Allocated)
Swap:                 0.00M          (0.0% of Comm ...

有多少“内存”实际在母鸡的swap里面。
作者: BUS    时间: 2011-4-7 22:31
MARK。
作者: kkpgfgu    时间: 2011-4-7 22:32
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 全球主机交流论坛 (https://hostloc.9hanju.com/) Powered by Discuz! X3.4