首页 > 系统相关 >shell linux环境下内存压测

shell linux环境下内存压测

时间:2022-12-01 12:33:49浏览次数:43  
标签:shell usemem 压测 linux ret sh memory usage data

目录

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

标签:shell,usemem,压测,linux,ret,sh,memory,usage,data
From: https://www.cnblogs.com/liwenchao1995/p/16941062.html

相关文章

  • Linux下用rm误删除文件的三种恢复方法
    对于rm,很多人都有惨痛的教训。我也遇到一次,一下午写的程序就被rm掉了,幸好只是一个文件,第二天很快又重新写了一遍。但是很多人可能就不像我这么幸运了。本文收集了一些在Lin......
  • linux usb option,Linux -> usb-serial -> option.c 设备编译usb-serial支持多设备
    在使用LC6311或者SIM4100类似的通讯modem的时候,我们经常使用usbserial驱动来在linux环境下访问模块。但是,每次,我们插入特定模块到usb端口后,都需要手动加载usbserial模块,如......
  • 你知道不同U盘在ARM+Linux下的读写速率吗?
    优秀的产品离不开完善的测试,即使一个简单的USB接口也要确保稳定性及兼容性。不同的U盘在ARM+Linux板卡下的兼容性、速率怎么样呢?本文将为大家提供测试参考数据及详细测试步......
  • 使用编译器aarch64-xilinx-linux-gcc,导致uboot编译出现错误“aarch64-xilinx-linux-ld
    KV260PetaLinuxBSP的environment-setup-cortexa72-cortexa53-xilinx-linux会导入aarch64-xilinx-linux系列工具,并设置CROSS_COMPILE为aarch64-xilinx-linux-。因此使用......
  • 032shell数组用法及多行注释
    一、Shell中将分隔符的字符串转为数组的常用方法[root@host~]#str="ONE,TWO,THREE,FOUR"[root@host~]#arr=(`echo$str|tr','''`)[root@host~]#echo${arr......
  • 记录一次项目部署在阿里云的1万压测
    场景:与往常测试不同,这次项目部署在阿里云服务器上面,需要在外网对其进行高并发压测(10000并发),这时需要考虑一个在内网压测不用考虑的因素,就是带宽。因为带宽的瓶颈不仅影响项......
  • Linux磁盘管理
    Linux磁盘管理常用的三个命令为df、du和fdisk。df(英文全称:diskfull):列出文件系统的整体磁盘使用量du(英文全称:diskused):检查磁盘空间使用量fdisk:用于磁盘分区,可以分区2......
  • Linux创建逻辑卷
    创建逻辑卷(LV)的顺序:Linux分区---物理卷(PV)---卷组(VG)---逻辑卷(LV)---挂载到文件系统  删除逻辑卷(LV)的顺序:卸载文件系统----逻辑卷(LV)---卷组(VG)----物理卷(P......
  • Linux的安装及管理程序
    yum安装格式:yum[option] [command] [package...] 源码编译安装优点:契合系统兼容性强如果你可以看懂源代码,修改新增功能比较自由缺点:如果编译出了问题,你看不......
  • Linux安装JDK及配置环境变量
    1.首先在官网下载项目所对应jdk的版本2.下载好通过ftp上传到opt目录下3.开启root权限su4.mkdir-p/usr/local/java5.把下载好的jdk解压到刚刚创建的java文件夹中tar......