Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

server_maintenance

English | 简体中文

服务器运维实用脚本集合,用于 Docker 容器 CPU 排查与主机 CPU 性能压测。

工具列表

脚本 语言 用途
find_high_cpu_containers.sh Bash 扫描所有运行中的 Docker 容器,定位高 CPU 进程
cpu_performance_test.py Python 3 CPU 性能基准测试(单线程 / 多进程 / 多线程等 7 项)

find_high_cpu_containers.sh

扫描当前主机上所有运行中的 Docker 容器,列出每个容器内的进程 CPU 占用情况,标记超过阈值的进程(⚠️),并按容器总 CPU 占用排序输出汇总表。

功能

  • 遍历所有 running 状态的容器,通过 docker top 获取容器内进程
  • 支持按进程名过滤(如 pythonjavanode
  • 支持自定义 CPU 阈值(默认 50%),超阈值进程标记为 ⚠️ HIGH LOAD
  • 自动识别 docker top 输出中的 CPU 列和命令列,适配不同发行版的输出格式
  • 汇总表按容器总 CPU 降序排列,展示占用最高的前 10 个容器及其 Top 3 进程

环境要求

  • Linux + Bash
  • 已安装 Docker,且当前用户有权限执行 docker ps / docker top

用法

./find_high_cpu_containers.sh [process_filter] [cpu_threshold]
参数 说明 默认值
process_filter 按进程名过滤,如 pythonjavanode 不过滤(所有进程)
cpu_threshold CPU 占用告警阈值(百分比) 50

示例

# 分析所有进程,阈值 50%
./find_high_cpu_containers.sh

# 只分析 python 进程,阈值 50%
./find_high_cpu_containers.sh python

# 只分析 java 进程,阈值 80%
./find_high_cpu_containers.sh java 80

# 查看帮助
./find_high_cpu_containers.sh --help

输出示例

--- Container: web-app (ID: 3f9a1b2c3d4e) ---
Processes found (2 total):
  ⚠️  HIGH LOAD: python app.py CPU:75%
  ✓  Normal: nginx CPU:2%

=== Container CPU Usage Summary (Sorted by Total all processes CPU) ===

Container Name                  Container ID    Total CPU  Top 3 Processes
---------------                 -------------    ---------  ---------------
web-app                         3f9a1b2c3d4e    77%        75% python app.py...

cpu_performance_test.py

CPU 性能基准测试工具,通过 7 项典型负载评估主机的计算能力,适合对比不同机器或验证虚拟化 / 容器的 CPU 配额效果。

测试项

测试项 负载类型
单线程计算 莱布尼茨级数计算 π
多进程计算 进程池并行计算 π(进程数取 CPU 核数,上限 16)
多线程计算 模拟 I/O 间隔的多线程任务(体现 I/O 型并发能力)
数学运算 sin / cos / log / sqrt 混合运算
内存访问 大数组随机读写 + 数学计算
质数生成 试除法质数判定
排序性能 随机数组生成 + 排序

环境要求

  • Python 3(仅依赖标准库,无需安装第三方包)

用法

python3 cpu_performance_test.py

每项测试运行 5 秒,全部跑完约 35 秒。可随时 Ctrl+C 中断。

输出示例

==================================================
CPU性能测试开始
==================================================
CPU核心数: 8
测试时长: 每项测试5秒

...

测试结果汇总:
==================================================
Single Thread Ops Per Sec:  8,432,105.22
Multi Process Ops Per Sec:  45,230,881.76
...
综合性能得分:  5,841,203.45

注:各项指标单位不同(ops/sec、primes/sec、sorts/sec 等),“综合性能得分”只是各指标的算术平均,仅适合在相同脚本版本下横向对比,不代表绝对性能。

About

linux运维相关脚本

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages