一、CPU信息诊断与性能监控
1.1 基础信息查询
在Linux系统中,/proc/cpuinfo文件是获取CPU详细信息的核心来源。通过组合grep与cut命令可实现精准信息提取:
# 查询CPU型号(支持多核显示)grep "model name" /proc/cpuinfo | sort -u# 提取物理核心数(需结合其他命令验证)grep "physical id" /proc/cpuinfo | sort -u | wc -l
对于需要结构化输出的场景,推荐使用awk进行字段处理:
# 提取CPU型号并去除前后空格grep "model name" /proc/cpuinfo | awk -F: '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//'
1.2 架构类型识别
判断系统架构是32位还是64位对软件兼容性至关重要:
# 方法1:通过配置常量查询getconf LONG_BIT# 方法2:通过uname命令验证uname -m | grep -q "x86_64" && echo "64-bit" || echo "32-bit"
在容器化环境中,建议同时检查/proc/cpuinfo中的lm标志(Long Mode支持)。
1.3 性能监控工具
对于实时性能监控,推荐使用mpstat工具(需安装sysstat包):
# 安装监控工具yum install sysstat -y# 每2秒采集一次CPU使用率(持续5次)mpstat -P ALL 2 5
二、内存资源管理
2.1 总量查询方法
内存信息主要存储在/proc/meminfo中,推荐以下查询方式:
# 基础查询(KB单位)grep MemTotal /proc/meminfo# 转换为MB单位(更易读)grep MemTotal /proc/meminfo | awk '{print $2/1024 " MB"}'# 使用free命令的简洁输出free -m | awk '/Mem/{print $2 " MB"}'
2.2 内存使用分析
对于内存泄漏排查,建议结合以下命令:
# 查看详细内存分布cat /proc/meminfo# 进程级内存监控(需安装htop)htop -d 10 # 每10秒刷新一次
在生产环境中,建议配置vmstat 1 5命令持续监控内存交换情况。
三、存储系统管理
3.1 磁盘空间监控
df命令是磁盘空间查询的核心工具:
# 人类可读格式显示df -h# 排除特定文件系统类型df -h -x tmpfs -x devtmpfs# 仅显示使用率超过90%的分区df -h | awk '$5+0 > 90 {print $0}'
3.2 目录占用分析
du命令的深度使用技巧:
# 统计目录总大小(排除子目录)du -sh /var/log# 查找大文件(按大小排序)find /var -type f -size +100M -exec ls -lh {} + | awk '{print $5, $9}' | sort -nr# 图形化显示目录结构(需安装ncdu)ncdu /var
3.3 分区表管理
fdisk的交互式操作示例:
# 查看所有磁盘分区fdisk -l# 非交互式获取分区信息(脚本适用)fdisk -l /dev/sda | grep "^/dev/sda" | awk '{print $1, $2, $4}'
四、软件包管理
4.1 RPM包查询
# 查询已安装包(基础版)rpm -qa | grep nginx# 查询包详细信息rpm -qi httpd# 查找文件所属包rpm -qf /etc/httpd/conf/httpd.conf
4.2 YUM仓库管理
# 列出所有可用包(含仓库信息)yum list available | grep mysql# 清理缓存并重建yum clean all && yum makecache# 查看包依赖关系yum deplist httpd
4.3 差异分析
当rpm -qa与yum list installed结果不一致时,通常由以下原因导致:
- 手动安装的RPM包未注册到YUM数据库
- 第三方仓库的包命名冲突
- 缓存数据不同步
建议使用rpm -V命令验证关键系统文件的完整性。
五、系统版本管理
5.1 发行版识别
# RedHat系标准方法cat /etc/redhat-release# 通用方法(支持Debian等)cat /etc/*-release# 版本号提取. /etc/os-release && echo $VERSION_ID
5.2 内核版本管理
# 基础内核版本uname -r# 完整系统信息uname -a# 编译参数查询cat /proc/version
六、时间同步管理
6.1 时间查询
# 显示当前时间(含时区)date# 显示硬件时钟hwclock --show# 显示UTC时间date -u
6.2 时间同步配置
生产环境推荐使用chrony替代传统ntpd:
# 安装配置yum install chrony -ysystemctl enable --now chronyd# 验证同步状态chronyc tracking
七、高级诊断技巧
7.1 进程监控
# 实时监控高负载进程top -b -n 1 | head -20# 按CPU使用率排序ps aux --sort=-%cpu | head -10# 进程树显示pstree -p
7.2 日志分析
# 实时跟踪错误日志journalctl -p err -f# 按服务过滤日志journalctl -u sshd --no-pager -n 50# 传统日志分析tail -f /var/log/messages | grep "ERROR"
7.3 网络诊断
# 连接测试nc -zv example.com 443# 路由跟踪traceroute -n 8.8.8.8# 端口监控netstat -tulnp | grep LISTEN
最佳实践建议
- 脚本化:将常用命令组合封装为脚本,如
sysinfo.sh包含CPU、内存、磁盘监控 - 定时任务:通过cron配置定期健康检查,邮件报警
- 文档化:建立命令知识库,包含典型输出示例和故障案例
- 安全审计:定期执行
rpm -Va检查系统文件完整性
通过系统化掌握这些命令组合,运维人员可构建完整的系统监控体系,显著提升故障响应速度和问题定位精度。建议结合实际场景不断优化命令参数,形成个性化的诊断工具集。