提高服务器cpu、内存负载脚本

提高cpu负载脚本:

vim c.sz(cpu)
#!/bin/bash

FILE_NAME=`basename $0`
cpunum=$2
pid_array=()
function usage()
{
echo "Usage:$FILE_NAME consume cpu_number|release -----the value of cpu_number is an integer,such as 1,2,3"
echo "Example: $FILE_NAME consume 12"
echo "         $FILE_NAME release"
}

function endless_loop()
{
echo -ne "i=0;
while true
do
    i=i+100;
    i=100
done" | /bin/bash &
}


function consume()
{
for i in `seq $1`
do
    endless_loop
    pid_array[$i]=$!
done
echo "consume cpu resources process ids are: ${pid_array[*]}"
echo "${pid_array[*]}" >/opt/c.pid
}

function release()
{
for pid in $(cat /opt/c.pid)
do
    kill -9 $pid
done
}

function main()
{
case "$1" in
    consume) consume $cpunum;;
    release) release;;
          *) usage;exit 1;;
esac
}

main $*
命令:
#启动:
sh c.sh consume 2
	#参数2:占满2核
#停止:
sh c.sh release
内存脚本:
1、将内存泄露程序memory-process上传到服务器/opt/目录下:
ls /opt/memory-process
2、创建systemd启动脚本:
vim /usr/lib/systemd/system/mem-process.service
[Unit]
Description=Systemd memmory resource limit test

[Service]
ExecStart=/opt/memory-process -d 5 -l 90
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
MemoryLimit=100M

[Install]
WantedBy=multi-user.target
#参数解释
ExecStart=/opt/memory-process -d 5 -l 90 #90为设定的内存泄露程序占用内存,单位MB
MemoryLimit=100M	#这里强限制为100M防止内存泄露程序出现不可知问题,通常要比上边90大,防止程序出现OOM。
3、启动/停止:
#启动:
systemctl start mem-process.service
#停止:
systemctl stop mem-process.service
#查看状态:
#如下可见内存泄露程序占用到98.4MB
[root@lx mem-dir]# systemctl status mem-process.service
● mem-process.service - Systemd memmory resource limit test
   Loaded: loaded (/usr/lib/systemd/system/mem-process.service; disabled; vendor preset: disabled)
   Active: active (running) since 三 2023-10-25 17:05:45 CST; 3min 34s ago
 Main PID: 1928 (memory-process)
   Memory: 98.4M (limit: 100.0M)
   CGroup: /system.slice/mem-process.service
           └─1928 /opt/memory-process -d 5 -l 90

1025 17:05:45 lx systemd[1]: Stopped Systemd memmory resource limit test.
1025 17:05:45 lx systemd[1]: Started Systemd memmory resource limit test.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值