内容大纲
- Part01-nmon命令概述
- Part02-nmon命令安装
- Part03-nmon命令基本使用
- Part04-nmon命令交互操作
- Part05-nmon命
from PG视频:www.itpux.com
令数据收集
- Part06-实战案例
内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
1. nmon命令概述
nmon命令是Linux系统中的性能监控工具,它可以实时监控CPU、内存、磁盘、网络、进程等系统资源。
# CPU监控:CPU使用率、上下文切换
# 内存监控:内存使用、交换、缓存
# 磁盘监控:磁盘I/O、磁盘使用率
# 网络监控:网络流量、网络错误
# 进程监控:进程CPU、内存使用
# 实时监控:实时显示系统状态
# 数据收集:收集数据供分析
2. nmon命令安装
使用dnf命令安装nmon。
更多视频教程www.fgedu.net.cn
# 1. 安装nmon软件包
[root@localhost ~]# dnf install -y nmon
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:01 ago on Fri 03 Apr 2026 10:00:00 CST.
Dependencies resolved.
================================================================================================================
Package Architecture Version Repository Size
================================================================================================================
Installing:
nmon x86_64 16j-1.el9 epel 200 k
…
Complete!
# 2. 验证安装
[root@localhost ~]# nmon -V
nmon version 16j
# 3. 启动nmon
[root@localhost ~]# nmon
3. nmon命令基本使用
风哥提示:
使用nmon命令查看系统状态。
# 1. 启动nmon
[root@localhost ~]# nmon
# nmon启动后,按以下键切换不同的监控视图:
# c:CPU监控
# m:内存监控
# d:磁盘监控
# n:网络监控
# t:进程监控
# k:内核监控
# q:退出nmon
# 2. 只显示CPU监控
[root@localhost ~]# nmon -c
# CPU监控界面显示CPU使用率、上下文切换等信息
# 3. 只显示内存监控
[root@localhost ~]# nmon -m
# 内存监控界面显示内存使用、交换、缓存等信息
# 4. 只显示磁盘监控
[root@localhost ~]# nmon -d
# 磁盘监控界面显示磁盘I/O、磁盘使用率等信息
# 5. 只显示网络监控
[root@localhost ~]# nmon -n
# 网络监控界面显示网络流量、网络错误等信息
# 6. 只显示进程监控
[root@localhost ~]# nmon -t
# 进程监控界面显示进程CPU、内存使用等信息
4. nmon命令交互操作
在nmon命令中使用交互式操作。
# 1. 切换监控视图
# c:CPU监控
# m:内存监控
# d:磁盘监控
# n:网络监控
# t:进程监控
# k:内核监控
# j:文件系统监控
# v:虚拟内存监控
# 2. 显示/隐藏信息
# +:增加显示信息
# -:减少显示信息
# .:切换显示模式
# 3. 排序
# r:按CPU使用率排序
# m:按内存使用率排序
# d:按磁盘I/O排序
# n:按网络流量排序
# 4. 其他操作
# h:显示帮助信息
# q:退出nmon
# s:切换显示间隔
# f:切换显示频率
# 5. 保存数据
# r:开始记录数据
# s:停止记录数据
# x:导出数据到文件
5. nmon命
from PG视频:www.itpux.com
令数据收集
使用nmon命令收集系统数据。
# 1. 收集数据到文件
[root@localhost ~]# nmon -f -s 10 -c 60 -m /tmp
# -f:将数据保存到文件
# -s 10:每10秒收集一次数据
# -c 60:收集60次数据
# -m /tmp:将数据保存到/tmp目录
# 2. 查看收集的数据文件
[root@localhost ~]# ls -lh /tmp/*.nmon
-rw-r–r– 1 root root 1.2M Apr 3 10:00 /tmp/localhost_260403_1000.nmon
# 3. 分析收集的数据
[root@localhost ~]# nmon -f /tmp/localhost_260403_1000.nmon
# 4. 导出数据为CSV格式
[root@localhost ~]# nmon -f /tmp/localhost_260403_1000.nmon -x
# -x:导出数据为CSV格式
# 5. 查看CSV文件
[root@localhost ~]# ls -lh /tmp/*.csv
-rw-r–r– 1 root root 2.5M Apr 3 10:10 /tmp/localhost_260403_1000.csv
# 6. 使用nmon分析工具
[root@localhost ~]# nmon_analyzer /tmp/localhost_260403_1000.nmon
# nmon_analyzer是nmon的分析工具,可以生成图表和报告
6. 实战案例
学习交流加群风哥QQ113257174
使用nmon命令监控系统性能。
# 1. 启动nmon
[root@localhost ~]# nmon
# 在nmon界面中按c键查看CPU监控
# 在nmon界面中按m键查看内存监控
# 在nmon界面中按d键查看磁盘监控
# 在nmon界面中按n键查看网络监控
# 在nmon界面中按t键查看进程监控
# 2. 收集数据到文件
[root@localhost ~]# nmon -f -s 10 -c 60 -m /tmp
# 收集10分钟的数据,每10秒收集一次
# 3. 查看收集的数据文件
[root@localhost ~]# ls -lh /tmp/*.nmon
-rw-r–r– 1 root root 1.2M Apr 3 10:00 /tmp/localhost_260403_1000.nmon
# 4. 创建监控脚本
[root@localhost ~]# cat > /usr/local/bin/nmon-monitor.sh << 'EOF'
#!/bin/bash
# script.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# nmon监控脚本
LOG_FILE="/var/log/nmon-monitor.log"
DATA_DIR="/var/log/nmon-data"
ALERT_EMAIL="admin@fgedu.net.cn"
# 记录日志函数
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
}
# 创建数据目录
mkdir -p $DATA_DIR
# 启动nmon数据收集
start_nmon() {
log “Starting nmon data collection…”
nmon -f -s 10 -c 60 -m $DATA_DIR
log “Nmon data collection started.”
}
# 停止nmon数据收集
stop_nmon() {
log “Stopping nmon data collection…”
pkill -f “nmon -f”
log “Nmon data collection stopped.”
}
# 分析nmon数据
analyze_nmon() {
log “Analyzing nmon data…”
# 查找最新的nmon文件
NMON_FILE=$(ls -t $DATA_DIR/*.nmon | head -1)
if [ -f “$NMON_FILE” ]; then
log “Analyzing file: $NMON_FILE”
# 检查CPU使用率
CPU_USAGE=$(grep “CPU_ALL” $NMON_FILE | tail -1 | awk ‘{print $100}’)
if [ $(echo “$CPU_USAGE > 80” | bc) -eq 1 ]; then
log “WARNING: CPU usage is ${CPU_USAGE}%”
echo “CPU usage is ${CPU_USAGE}%” | mail -s “WARNING: CPU usage alert” $ALERT_EMAIL
fi
# 检查内存使用率
MEMORY_USAGE=$(grep “MEM” $NMON_FILE | tail -1 | awk ‘{print $4}’)
if [ $(echo “$MEMORY_USAGE > 80” | bc) -eq 1 ]; then
log “WARNING: Memory usage is ${MEMORY_USAGE}%”
echo “Memory usage is ${MEMORY_USAGE}%” | mail -s “WARNING: Memory usage alert” $ALERT_EMAIL
fi
fi
}
# 主函数
main() {
case “$1” in
start)
start_nmon
;;
stop)
stop_nmon
;;
analyze)
analyze_nmon
;;
*)
echo “Usage: $0 {start|stop|analyze}”
exit 1
;;
esac
}
# 执行主函数
main $@
EOF
# 5. 设置脚本执行权限
[root@localhost ~]# chmod +x /usr/local/bin/nmon-monitor.sh
# 6. 创建日志文件
[root@localhost ~]# touch /var/log/nmon-monitor.log
[root@localhost ~]# chmod 644 /var/log/nmon-monitor.log
# 7. 配置定时任务
[root@localhost ~]# cat > /etc/cron.d/nmon-monitor << 'EOF'
# 启动nmon数据收集
0 * * * * root /usr/local/bin/nmon-monitor.sh start
# 停止nmon数据收集
59 * * * * root /usr/local/bin/nmon-monitor.sh stop
# 分析nmon数据
0 1 * * * root /usr/local/bin/nmon-monitor.sh analyze
EOF
# 8. 重启cron服务
[root@localhost ~]# systemctl restart crond
# 9. 测试监控脚本
[root@localhost ~]# /usr/local/bin/nmon-monitor.sh start
# 10. 查看日志
[root@localhost ~]# tail -f /var/log/nmon-monitor.log
[2026-04-03 10:00:00] Starting nmon data collection...
[2026-04-03 10:00:01] Nmon data collection started.
# 11. 配置日志轮转
[root@localhost ~]# cat > /etc/logrotate.d/nmon-monitor << 'EOF'
/var/log/nmon-monitor.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0644 root root
}
/var/log/nmon-data/*.nmon {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}
EOF
# 12. 测试日志轮转
[root@localhost ~]# logrotate -f /etc/logrotate.d/nmon-monitor
提示
nmon是强大的系统监控工具,可以实时监控系统状态,
更多学习教程公众号风哥教程itpux_com
也可以收集数据供分析。建议使用nmon进行长期监控,收集数据供性能分析。nmon分析工具可以生成图表和报告,方便分析系统性能。
