linux 占用内存 脚本,linux内存测试(占用)脚本

内存测试脚本,有bug,继续更新中...

#!/bin/bash

################################################################

# mem used script

# eg. ./mem.sh 60G 3600(unit: s) to start testing

# eg. ./mem.sh stop to stop testing and clear env

# update: 2019-1-22 pansaky

################################################################

num=$1

tm=$2

start()

{

sudo mkdir /tmp/memory

sudo mount -t tmpfs -o size=$num tmpfs /tmp/memory

dd if=/dev/zero of=/tmp/memory/block

sleep $tm

}

stop()

{

pid=`ps -ef |grep "mem.sh"|grep -v grep|awk '{print $2}'`

if [ -n "$pid" ];then

kill -9 $pid

fi

sudo rm -rf /tmp/memory/block

sudo umount /tmp/memory

sudo rmdir /tmp/memory

}

main()

{

if [ $num == 'stop' ];then

stop

else

start > mem.log 2>&1

fi

}

if [ $# = 2 -o $# = 1 ];then

main

#elif [ -z $1 -a -z $2 ];then

else

echo 'Usage: ./mem.sh 60G 3600(unit: s) or ./mem.sh stop'

fi

更新后脚本,第一个留着鄙视自己哈~

#!/bin/bash

################################################################

# mem used script

# eg. ./mem.sh 60G & to start testing

# eg. ./mem.sh stop to stop testing and clear env

# update: 2019-1-22 pansaky

################################################################

num=$1

user=`whoami`

start()

{

if [ -d /tmp/memory ];then

echo "the dir "/tmp/memory" is already exist!, use it." >> mem.log

else

sudo mkdir /tmp/memory

mount -t tmpfs -o size=$num tmpfs /tmp/memory

fi

dd if=/dev/zero of=/tmp/memory/block >> mem.log 2>&1

}

stop()

{

rm -rf /tmp/memory/block

umount /tmp/memory

rmdir /tmp/memory

if [ -d /tmp/memory ];then

echo "Do not remove the dir \"/tmp/memory\", please check "

else

echo "clear env is done!"

fi

}

main()

{

if [ $num == 'stop' ];then

stop

elif [ $user != "root" ];then

echo "please use the \"root\" excute script!"

exit 1

else

start

fi

}

if [ $# = 2 -o $# = 1 ];then

main

else

echo 'Usage: to start or to clear env'

fi

看到别人写的c脚本 拉过来用一哈

/*usage: cc mem.c -o mem.out 后 使用./mem.out 100 & 消耗对应数字MB单位的内存,释放时杀掉对应进程即可*/

#include #include #include #define UNIT (1024*1024)

int main(int argc, char *argv[])

{

long long i = 0;

int size = 0;

if (argc != 2) {

printf(" === argc must 2\n");

return 1;

}

size = strtoull(argv[1], NULL, 10);

if (size == 0) {

printf(" argv[1]=%s not good\n", argv[1]);

return 1;

}

char *buff = (char *) malloc(size * UNIT);

if (buff)

printf(" we malloced %d Mb\n", size);

buff[0] = 1;

for (i = 1; i < (size * UNIT); i++) {

if (i%1024 == 0)

buff[i] = buff[i-1]/8;

else

buff[i] = i/2;

}

pause();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值