在正常手段下,这个只是压测的方法
在不正常手段下(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,可以根据自己的情况去设定