通过shell脚本进行linux服务器的CPU和内存压测

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 通过shell脚本进行linux服务器的CPU和内存压测

在正常手段下,这个只是压测的方法

在不正常手段下(crontab计划任务),可以提高CPU和内存的使用率

什么?你问我为什么要提高CPU和内存的使用率?只可意会不可言传,自己悟吧

内存压测

python的方式
# _*_ coding: utf-8 _*_
import sys
import re
import time
def print_help():
    print ('Usage:')
    print ('python mem.py 100MB')
    print ('python mem.py 1GB')
if __name__=="__main__":
    if len(sys.argv) == 2:
        pattern = re.compile('^(\d*)(M|G|B)$')
        match = pattern.match(sys.argv[1].upper())
        if match:
            num = int(match.group(1))
            unit = match.group(2)
            if unit == 'MB':
                s = ' '* (num * 1024 * 1024)
            else:
                s = ' '* (num * 1024 * 1024 * 1024)
                time.sleep(30)
        else:
            print_help()
    else:
        print_help()

使用方法:python mem.py 20G

mem.py是自定义的,这个不受限制

time.sleep的时间可以自己调整

好处在于,这个是利用CPU进行计算,去占用内存

shell的方式
#!/bin/bash
PWD=$(cd $(dirname $0); pwd)
MEM_DIR='/tmp/memory'
MEM_SIZE=$1
[ ! -d ${MEM_DIR} ] && mkdir ${MEM_DIR}
mount -t tmpfs -o size=${MEM_SIZE} tmpfs ${MEM_DIR} >> ${PWD}/mem_up.log 2>&1
if [ $? == 0 ]
then
    dd if=/dev/zero of=${MEM_DIR}/test count=1 bs=${MEM_SIZE} >> ${PWD}/mem_up.log 2>&1
    if [ $? == 0 ]
    then
        sleep 30
        rm ${MEM_DIR}/test && \
        umount ${MEM_DIR} && \
        rm -rf ${MEM_DIR}
    else
        rm ${MEM_DIR}/test && \
        umount ${MEM_DIR} && \
        rm -rf ${MEM_DIR}
        printf "\e[0;31msomething was error , please check ${PWD}/mem_up.log\e[0m\n"
        exit 1
    fi
else
    printf "\e[0;31msomething was error , please check ${PWD}/mem_up.log\e[0m\n"
    exit 2
fi

使用方法:sh mem.sh 20G

mem.sh是自定义的,这个不受限制

缺点:dd if 命令是使用磁盘读写,将磁盘内的/dev/zero写入到内存的tmpfs

cpu压测

#!/bin/sh
PWD=$(cd $(dirname $0); pwd)
cpu_num=$1
if [ $# != 1 ]
then
  printf "\e[0;34mUSAGE: $0 <CPUs>\e[0m\n"
  exit 1
fi
for i in $(seq ${cpu_num})
do
    echo -ne "
    i=0;
while true
do
    i=i+1;
done" | /bin/sh &
    pid_array[${i}]=$! ;
done
for i in "${pid_array[@]}"; do
    printf "\e[0;32mkill ${i}\e[0m\n" >> ${PWD}/kill_cpu_up.log 2>&1
done

使用方法:sh cpu_up.sh 2

cpu_up.sh是自定义的,这个不受限制

表示使用2个CPU,可以根据自己的情况去设定

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
18天前
|
SQL 监控 关系型数据库
MySQL优化: CPU高 处理脚本 pt-kill脚本
MySQL优化: CPU高 处理脚本 pt-kill脚本
|
3天前
|
存储 缓存 安全
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别及选择参考
阿里云服务器的实例规格有经济型、通用型、计算型、内存型、通用算力型、大数据型、本地SSD型、高主频型、突发型、共享型等不同种类的实例规格,在阿里云的活动中,主要以经济型、通用算力型、计算型、通用型、内存型实例为主,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文为大家详细介绍阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,以供大家选择参考。
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别及选择参考
|
16天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
17 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
22天前
|
SQL 存储 缓存
什么?部署ClickHouse的服务器CPU利用率100%了?
什么?部署ClickHouse的服务器CPU利用率100%了?
|
1月前
|
弹性计算 固态存储 ice
阿里云服务器2核16G、4核32G、8核64G配置不同ECS实例规格收费标准和CPU性能差异
2024年阿里云提供2核16G、4核32G及8核64G等多种服务器配置,用户可根据需求选择不同实例规格如内存型r8i、通用算力型u1等。以华北2(北京)为例,2核16G月费从286.2至385.99元不等;4核32G为572.4至771.97元;8核64G则在1144.8至1543.94元区间。公网带宽与系统盘(如ESSD云盘)亦有多样化选择与价格方案。长期租赁可享折扣,具体价格请访问阿里云官网确认。
66 7
|
9天前
|
缓存 Linux 调度
Linux服务器如何查看CPU占用率、内存占用、带宽占用
Linux服务器如何查看CPU占用率、内存占用、带宽占用
40 0
|
1月前
|
弹性计算 固态存储 ice
阿里云服务器ECS内存型r8i、通用算力u1、r7、AMD内存r8a、高主频内存hfr8i价格和性能差异
2024年阿里云提供2核16G、4核32G及8核64G等多种服务器配置,用户可根据需求选择不同实例规格如内存型r8i、通用算力型u1等。以华北2(北京)为例,2核16G月费从286.2元起,4核32G从572.4元起,8核64G则从1144.8元起。公网带宽1Mbps预付费为23元/月,系统盘如ESSD PL1按量计费0.0021元/小时/GiB。具体价格与折扣请参考阿里云官网。
|
2月前
|
弹性计算 运维 云计算
云服务器 ECS产品使用问题之如何解决幻兽帕鲁服务器内存溢出
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
21天前
|
Shell Linux 程序员
详解shell 运行原理及Linux权限
详解shell 运行原理及Linux权限
|
9天前
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储

热门文章

最新文章

下一篇
DDNS