shell linux环境下内存压测

shell linux环境下内存压测

公司在测试prometheus检测node节点内存,但是不允许修改prometheus的阈值,只能用脚本模拟内存增加来测试

脚本详情

vim memory_usage.sh

#!/bin/bash
# Destription: testing usemem 
# Example : sh memory_usage.sh usemem 500M | sh memory_usage.sh usemem 1G | sh memory_usage.sh flush

FILE_NAME=`basename $0`
memsize=$2
function usage()
{
    echo "Usage:$FILE_NAME usemem memory_size|flush -----the value of memory_size like 100M 2G and etc"
        echo "Example: $FILE_NAME usemem 1G"
        echo " $FILE_NAME flush"
}
function usemem()
{
    if [ -d /data/memory ];then
        echo "/data/memory already exists"
    else
        mkdir /data/memory
            fi
            mount -t tmpfs -o size=$1 tmpfs /data/memory
            dd if=/dev/zero of=/data/memory/block

}

function flush()
{
    rm -rf /data/memory/block;ret=$?
    if [ $ret != 0 ]; then
        echo "remove memory data failed"
        return $ret
    fi

    umount /data/memory;ret=$?
    if [ $ret != 0 ]; then
        echo "umount memory filedir failed"
        return $ret
    fi

    rmdir  /data/memory;ret=$?
    if [ $ret != 0 ]; then
        echo "remove memory filedir failed"
        return $ret
    fi

}

function main()
{
    case "$1" in
        usemem) consume $memsize;;
        flush) flush;;
        *) usage;exit 1;;
        esac
}

main $*

用法

把脚本上传到服务器后

//这里以消耗机器2G内存为例
bash memory_usage.sh usemem 2G

这时候使用top或者free -m可以查看内存使用率,会发现已经涨上去了

//压测完成后,需要清理产生的文件,从而降低恢复内存
bash memory_usage.sh flush
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值