通过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上设置:编辑->档案格式转换-> ...
随机推荐
- Swagger的应用
一.介绍 一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 框架. 二.依赖 <dependency> <groupId>io.springf ...
- 万级K8s集群背后 etcd 稳定性及性能优化实践
1背景与挑战随着腾讯自研上云及公有云用户的迅速增长,一方面,腾讯云容器服务TKE服务数量和核数大幅增长, 另一方面我们提供的容器服务类型(TKE托管及独立集群.EKS弹性集群.edge边缘计算集群.m ...
- HDU 2018 母牛的故事 (递归入门)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 思路分析: 问题分析:这道题的递推关系非常类似斐波那契数列,由题意不难得到以下函数递推式: 对于 ...
- Flowable实战(四)BPMN2.0 启动与结束事件
一.BPMN2.0 BPMN2.0规范是一个标准,开源框架和不同供应商都遵循这份标准,使得最终用户不会因为依赖专有解决方案,而被供应商"绑架".有了BPMN2.0标准,不同解决 ...
- 输出前 n 个Fibonacci数
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内.Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如 ...
- 【Java常用类】String
文章目录 String String实例化的方式 方式一:通过字面量定义 方式二:new + 构造器的方式 String s = new String("abc")方式创建对象,在 ...
- 【刷题-LeetCode】179 Largest Number
Largest Number Given a list of non negative integers, arrange them such that they form the largest n ...
- 【刷题-PAT】A1114 Family Property (25 分)
1114 Family Property (25 分) This time, you are supposed to help us collect the data for family-owned ...
- 浅谈MySQL同步到ElasticSearch的几种方式及其优缺点
同步双写 优点:业务逻辑简单. 缺点: 硬编码,有需要写入mysql的地方都需要添加写入ES的代码: 业务强耦合: 存在双写失败丢数据风险: 性能较差:本来mysql的性能不是很高,再加一个ES,系统 ...
- golang中文件和路径用法
package main import ( "fmt" "io/fs" "io/ioutil" "os" "p ...