通过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,可以根据自己的情况去设定
通过shell脚本进行linux服务器的CPU和内存压测的更多相关文章
- PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率
数据库配置文件: conn.php <?php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 ...
- shell脚本监控系统负载、CPU和内存使用情况
hostname >>/home/vmuser/xunjian/xj.logdf -lh >>/home/vmuser/xunjian/xj.logtop -b -n 1 | ...
- linux服务器性能——CPU、内存、流量、磁盘使用率的监控
https://blog.csdn.net/u012859748/article/details/72731080
- 使用Shell脚本对Linux系统和进程资源进行监控
ShellLinux脚本 摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.本文我们以Bash做为实例总结了使用Shell对系统和进 ...
- 使用 shell 脚本对 Linux 系统和进程资源进行监控
Shell 简介 Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是 ...
- shell脚本监控Linux系统性能指标
2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...
- Shell脚本查看linux系统性能瓶颈(转)
Shell脚本查看linux系统性能瓶颈(转自:http://blog.51cto.com/lizhenliang/1687612) [root@test ~]# cat show_sys_info. ...
- 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况
1. 查看 Linux 服务器的 CPU 详细情况 判断依据: 具有相同的 core id 的 CPU 是同意个 core 超线程. 具有相同的 physical id 的 CPU 是同一个 CPU ...
- shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)
shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换-> ...
随机推荐
- SYCOJ1717负二进制
题目-负二进制 (shiyancang.cn) 进制的实质在于对于进制数的选择,选择不满足的填入当前的位置,然后除掉,继续开始选择.但是对于本题,是负数,但是进制上的数字为正数,所以就要调整,借位,因 ...
- 基于rabbitmq延迟插件实现分布式延迟任务
承接上文基于redis,redisson的延迟队列实践,今天介绍下基于rabbitmq延迟插件rabbitmq_delayed_message_exchange实现延迟任务. 一.延迟任务的使用场景 ...
- python基本数据类型与操作
一.变量 1.变量的三要素:变量名.变量值.变量数据类型 2.定义变量格式:变量名称 = 变量值 3.输出变量:print(变量名) """ 变量 "" ...
- 《剑指offer》面试题24. 反转链表
问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-> ...
- winform设置所有窗体统一图标
class WindowHookerManager { static WindowHooker hooker = new WindowHooker(); public static void SetA ...
- jsp标签 formatNumber、formatDate、parseNumber、parseDate的使用
引用本文的有关标签需要引用对应的标签库 <%--引入格式化动作标签库--%> <%@taglib prefix="fmt" uri="http://ja ...
- 多线程-创建线程第二种方式-实现Runnable接口-细节和好处
1 package multithread2; 2 3 /* 4 * 创建线程的第一种方法:继承Thread类 5 * 6 * 创建线程的第二种方式:实现Runnable接口 7 * 8 * 1,定义 ...
- Linux查看CPU历史负载
sar -f /var/log/sa/sa20 -s 02:00:00 -e 06:00:00 | head -n 50 sysstat工具与负载历史回放 很多系统负载过高的时候我们是无法立即获知或者 ...
- Android开发-记账本-实现记账功能选择
制作GridView适配器,实现页面数据的变化 制作类型存储数据库,存储的主要是图片类型,类型被选中时的图片,类型未被选中时的图片. 数据库代码如下 package com.example.Utils ...
- Xmind8破解教程
Windows下Xmind8破解教程 破解步骤: 1. 首先去xmind国外官网下载对应操作系统的安装包,国内官网的那个是有残缺的,不支持破解. 点击打开链接 通过zip格式下载,别下载exe,不然找 ...