遇到一些无良的idc超卖严重的话分配到我们手里的内存可能并不是标配的内存,这时可以用以下脚本来检测一下。
先关闭swap,这样测出来的才是内存,或者不关闭直接测试然后去除swap值就是真实可用内存了。
关闭SWAP sudo swapoff -a (openvz貌似无效)
开启SWAP sudo swapon -a
以下代码是从大神那里扒来的,我也看不懂。
#include <stdlib.h> #include <string.h> #include <stdio.h> int main(){ int z; for(z=1;z<16384;z++){ void *t=malloc(1048576); memset(t,1,1048576); printf("Allocated:%dM\n",z); } return 0; int i; scanf("%d\n",&i); }
利用代码
wget http://d.zmrbk.com/vps/test.c && gcc test.c && ./a.out
wget http://d.zmrbk.com/vps/zmrbk.c && gcc zmrbk.c && ./a.out
评论前必须登录!
注册