CPU&内存压测脚本-python
1、CPU&内存压测脚本-python
#! /user/bin/env python # -*- encoding: utf-8 -*- import sys import re import time from multiprocessing import Process,cpu_count def print_help(): print('Usage: ') print(' python test_mem.py m 1GB') print(' python test_mem.py c 1') print(' python test_mem.py mc 1GB 2') #实现占用内存 def mem(): pattern = re.compile('^(\d*)([M|G]B)$') size = sys.argv[2].upper() match = pattern.match(size) 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(24 * 3600) else: print("bad args.....") print_help() #cpu满载 def deadloop(): while True: pass #根据传参来指定占满几个核 def cpu(): arg = sys.argv[2] if len(sys.argv) == 3 else sys.argv[3] cpu_num = cpu_count() cores = int(arg) if not isinstance(cores,int): print("bad args not int") return if cores > cpu_num: print("Invalid CPU Num(cpu_count="+str(cpu_num)+")") return if cores is None or cores <1: cores = 1 for i in range(cores): Process(target=deadloop).start() def mem_cpu(): Process(target=mem).start() Process(target=cpu).start() if __name__ == "__main__": if len(sys.argv) >= 3: switcher = { 'm': mem, 'c': cpu, 'mc': mem_cpu } switcher.get(sys.argv[1], mem)() else: print_help()
2、脚本的使用
dead_cycle.py使用:
//指定Mem占用,使用time.sleep()硬代码1天时间
python3 test_mem.py m 1GB
//CPU满载
python3 test_mem.py c 2
//CPU 2核满载,并且指定Mem占用2GB
python3 test_mem.py mc 2GB 2
Linux命令查看
//查看内存 $ free -h //查看CPU,每秒采集一次,共5次 $ sar -u 1 5
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)