Linux性能监控工具nmon

压测时需要监控服务器性能,用来记录CPU、内存、磁盘等数据。

安装nmon

java 复制代码
wget https://sourceforge.net/projects/nmon/files/nmon16e_x86.tar.gz
tar zxvf nmon16e_x86.tar.gz
mv nmon_x86_64_centos7 /usr/local/bin/nmon

创建监控脚本

bash 复制代码
#!/bin/bash
# File: start_nmon.sh

# 参数配置
INTERVAL=10
DURATION=3600
OUTPUT_DIR="/tmp/nmon_data"
TEST_NAME="load_test_$(date +%Y%m%d_%H%M%S)"

# 创建目录
mkdir -p ${OUTPUT_DIR}

# 计算采集次数
COUNT=$((DURATION / INTERVAL))

# 启动 nmon 并捕获 PID
nmon -F ${OUTPUT_DIR}/${TEST_NAME}.nmon -s ${INTERVAL} -c ${COUNT} -T -t -m ${OUTPUT_DIR}/ &
NMON_PID=$!

# 写入 PID 文件
echo $NMON_PID > /tmp/nmon.pid

# 验证进程
if kill -0 $NMON_PID 2>/dev/null; then
  echo "Nmon 监控已启动,PID: $NMON_PID"
  echo "Output File: ${OUTPUT_DIR}/${TEST_NAME}.nmon"
else
  echo "错误:nmon 进程未启动!"
  rm -f /tmp/nmon.pid
  exit 1
fi

示例:代表2s执行一次 执行10分钟(即600秒)

bash 复制代码
nmon -F test.nmon -s 2 -c 300
命令 参数解析
-F test.nmon 指定输出文件名(推荐包含时间戳)
-s 2 每2秒采集一次数据
-c 300 采集次数:10分钟 × 60秒/分钟 ÷ 2秒/次 = 300次

步骤

1:启动脚本 sh start_nmon.sh

2:压测开始

3:查看 nmon 日志 cd /tmp/nmon_data

4:停止进程

复制代码
如果压测提前结束,手动停止nmon
kill -INT $(cat /tmp/nmon.pid)  # 优雅终止nmon
rm -f /tmp/nmon.pid

停止压测进程
kill $(cat /tmp/stress.pid)
rm -f /tmp/stress.pid
相关推荐
一技安身8 小时前
【信创】银河麒麟V10、统信UOS解压7Z文件
linux·运维·服务器
奔跑的架构师9 小时前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
迷途呀9 小时前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
赴生-9 小时前
Liunx 操作系统 进程概念(上)
linux
binqian10 小时前
【linux】OpenSSH升级文档
linux·运维·网络
吴声子夜歌10 小时前
Shell编程——if条件语句
linux·运维·shell
Dawn-bit10 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
新时代牛马10 小时前
Linux 定时任务:crontab、anacron 与systemd timer
linux·运维·服务器
mounter62511 小时前
Linux 7.2 引入更灵活的块设备错误注入机制
linux·linux kernel·kernel·disk·error injection
cpolar技术支持11 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障