由于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,最后会有数据显示。
再或者,我们可以使用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