本文主要是介绍sh脚本:占用服务器内存和cpu资源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
对于一些比较追求极限的系统测试来讲:验证服务能在怎样恶劣的服务器环境下继续运行,是一个有必要的事。
这里我将给出三个脚本,实现:占用服务器内存和cpu资源的功能
sh脚本
占用内存
#!/bin/bash
mkdir /tmp/memory
# 占用10G的内存:10240M
mount -t tmpfs -o size=10240M tmpfs /tmp/memory
dd if=/dev/zero of=/tmp/memory/block
# 保持脚本运行,防止内存被释放
while true; dosleep 1
done
rm /tmp/memory/block
umount /tmp/memory
rmdir /tmp/memory
占用cpu
cpu占用率受服务器本身的cpu性能影响上下波动,因此你需要适当调整TASK_COUNT
#!/bin/bash# 这是针对多核CPU的脚本
# 定义要启动的后台任务数量
TASK_COUNT=4# 启动多个后台计算任务
for ((i=0; i<$TASK_COUNT; i++)); do# 使用&将命令放到后台执行(while true; do# 执行复杂的数学运算for ((j=0; j<100000000; j++)); dolet "result = ($j * $j) % 10000003" # 取模运算增加计算复杂性donedone)&
done# 等待所有后台任务,防止脚本立即退出
wait
python脚本
占用cpu
import multiprocessingdef user_stress():while True:# 执行计算result = 0for i in range(10000000):result += (i * i) % 10000003 # if __name__ == "__main__":# 设置要启动的进程数量process_count = 4# 创建并启动多个进程processes = []for _ in range(process_count):process = multiprocessing.Process(target=user_stress)process.start()processes.append(process)# 等待所有进程完成(实际上不会)for process in processes:process.join()
这篇关于sh脚本:占用服务器内存和cpu资源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!