真实内存检测-检测是否超售

由于OVZ架构的VPS存在超售的问题,商家分配给我们的内存和他们标称的内存并不是一致的。很多情况都有超售,看超售严重不严重完全看商家了。对于ovz架构的vps可以对内存进行数据写入,看看是否在我们的期望值内。


今天,我们提供一个脚本,用来检测你机器的RAM+SWAP总和。

以centos6为例

# vi testram.sh

在打开的框体中复制以下命令,然后:wq保存退出

#!/bin/bash
yum groupinstall -y "Development tools"
echo 'void main(){ int z;for (z=0;z<16384;z++){ void *t=malloc(1048576);memset(t,1,1048576); printf("Allocated: %dM\n", z);} int i ; scanf("%d\n",&i); }' >> test.c
gcc test.c && ./a.out

通过bash testram.sh运行脚本;观察RAM和SWAP,最后会有数据显示。

ramswap


再或者,我们可以使用LINUX自带的命令,对内存写入进行测试

相关命令

查看初始内存

free -m

切换至内存目录

cd /dev/shm

进行数据写入,标识 count=100 为写入100M,这里在服务商提供的标识数据内,自行进行数据增长

dd if=/dev/zero of=./memtest bs=1M count=100

完成后,执行删除

rm ./memtest


演示

测试机: 标识内存1G,突发内存1G的OVZ架构机器

 

[root@LeafRainyK ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024         35        988          0          0         14
-/+ buffers/cache:         20       1003
Swap:         1024          0       1024

 

这里可以看到只使用了35M

然后对内存进行数据写入

[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0277696 seconds, 3.8 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        135        888          0          0         14
-/+ buffers/cache:        120        903
Swap:         1024          0       1024
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.0550656 seconds, 3.8 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        235        788          0          0         14
-/+ buffers/cache:        220        803
Swap:         1024          0       1024
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=300
300+0 records in
300+0 records out
314572800 bytes (315 MB) copied, 0.0824703 seconds, 3.8 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        335        688          0          0         14
-/+ buffers/cache:        320        703
Swap:         1024          0       1024
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=400
400+0 records in
400+0 records out
419430400 bytes (419 MB) copied, 0.111988 seconds, 3.7 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        435        588          0          0         14
-/+ buffers/cache:        420        603
Swap:         1024          0       1024
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.139541 seconds, 3.8 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        532        491          0          0         14
-/+ buffers/cache:        517        506
Swap:         1024          2       1021
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=600
dd: writing `./memtest': No space left on device
512+0 records in
511+0 records out
536866816 bytes (537 MB) copied, 0.146447 seconds, 3.7 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        544        479          0          0         14
-/+ buffers/cache:        529        494
Swap:         1024          2       1021
[root@LeafRainyK shm]# dd if=/dev/zero of=./memtest bs=1M count=700
dd: writing `./memtest': No space left on device
512+0 records in
511+0 records out
536866816 bytes (537 MB) copied, 0.142527 seconds, 3.8 GB/s
[root@LeafRainyK shm]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        543        480          0          0         14
-/+ buffers/cache:        528        495
Swap:         1024          3       1020

 

从这里可以看出,内存在达到540左右时就不再增长,那么这台机器实际可以使用的内存大概在540M

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*