基于docker一键部署 x86的cpu_mem_hog 用于生成CPU和内存负载,用于服务器cpu和内存使用不达标的

  1. 拉取镜像
bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/cpu_mem_hog:latest

cpu_mem_hog 镜像,用于生成CPU和内存负载。

bash 复制代码
docker run -d \
  --privileged=true \
  --name cpu-mem-test \
  --restart unless-stopped \
  --cpus 4.0 \            
  --memory 8g \
  -e CPU_CORES=4 \
  -e MEMORY_GB=6 \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/cpu_mem_hog:latest

命令说明:

bash 复制代码
docker run -d \
  --privileged=true \            # 赋予容器特权模式
  --name cpu-mem-test \          # 容器名称
  --restart unless-stopped \     # 重启策略
  --cpus 4.0 \                  # 限制使用4个CPU核心
  --memory 8g \                 # 限制使用8GB内存
  -e CPU_CORES=4 \              # 环境变量:使用4个CPU核心
  -e MEMORY_GB=6 \              # 环境变量:分配6GB内存
  registry.cn-hangzhou.aliyuncs.com/qiluo-images/cpu_mem_hog:latest

参数说明

容器配置参数

--privileged=true:容器以特权模式运行,可以访问主机设备

--name cpu-mem-test:指定容器名称便于管理

--restart unless-stopped:除非手动停止,否则自动重启

--cpus 4.0:限制容器最多使用4个CPU核心

--memory 8g:限制容器最多使用8GB内存

环境变量

CPU_CORES=4:告诉测试程序使用4个CPU核心进行压力测试

MEMORY_GB=6:告诉测试程序分配6GB内存进行测试

功能用途

这个容器主要用于:

系统压力测试:模拟高CPU和内存使用场景

资源限制验证:测试Docker资源限制是否生效

监控系统测试:验证监控告警系统在资源紧张时的表现

容器编排测试:测试K8s或其他编排系统的资源调度能力

使用场景

  1. 开发测试
bash 复制代码
# 快速创建一个测试环境
docker run -d --cpus 2 --memory 4g -e CPU_CORES=2 -e MEMORY_GB=3 ...
  1. 监控验证
bash 复制代码
# 测试监控系统能否正确捕获资源异常
docker run -d --cpus 1 --memory 1g -e CPU_CORES=1 -e MEMORY_GB=0.9 ...
bash 复制代码
3. 清理容器# 停止并删除测试容器
docker stop cpu-mem-test
docker rm cpu-mem-test

注意事项

资源限制:虽然设置了环境变量要求6GB内存,但容器实际被限制在8GB内

特权模式:--privileged=true 给了容器较高权限,生产环境需谨慎使用

资源竞争:在资源有限的机器上运行可能影响其他服务

监控建议:运行时应监控主机资源使用情况

安全建议

对于生产环境测试:

使用非特权模式(如果测试允许)

设置明确的资源限制

在隔离的测试环境中进行

测试完成后及时清理容器

这个工具非常适合在可控环境中进行系统压力测试和资源管理验证。

相关推荐
程序员泠零澪回家种桔子几秒前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
酉鬼女又兒5 分钟前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud6 分钟前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
CodeCaptain9 分钟前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
虾说羊10 分钟前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~11 分钟前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
June`21 分钟前
高并发网络框架:Reactor模式深度解析
linux·服务器·c++
WHD3061 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
Anastasiozzzz1 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人1 小时前
通过脚本推送Docker镜像
java·docker·容器