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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!