CentOS系统管理必备:常用命令详解与实践指南

一、CPU信息诊断与性能监控

1.1 基础信息查询

在Linux系统中,/proc/cpuinfo文件是获取CPU详细信息的核心来源。通过组合grepcut命令可实现精准信息提取:

  1. # 查询CPU型号(支持多核显示)
  2. grep "model name" /proc/cpuinfo | sort -u
  3. # 提取物理核心数(需结合其他命令验证)
  4. grep "physical id" /proc/cpuinfo | sort -u | wc -l

对于需要结构化输出的场景,推荐使用awk进行字段处理:

  1. # 提取CPU型号并去除前后空格
  2. grep "model name" /proc/cpuinfo | awk -F: '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//'

1.2 架构类型识别

判断系统架构是32位还是64位对软件兼容性至关重要:

  1. # 方法1:通过配置常量查询
  2. getconf LONG_BIT
  3. # 方法2:通过uname命令验证
  4. uname -m | grep -q "x86_64" && echo "64-bit" || echo "32-bit"

在容器化环境中,建议同时检查/proc/cpuinfo中的lm标志(Long Mode支持)。

1.3 性能监控工具

对于实时性能监控,推荐使用mpstat工具(需安装sysstat包):

  1. # 安装监控工具
  2. yum install sysstat -y
  3. # 每2秒采集一次CPU使用率(持续5次)
  4. mpstat -P ALL 2 5

二、内存资源管理

2.1 总量查询方法

内存信息主要存储在/proc/meminfo中,推荐以下查询方式:

  1. # 基础查询(KB单位)
  2. grep MemTotal /proc/meminfo
  3. # 转换为MB单位(更易读)
  4. grep MemTotal /proc/meminfo | awk '{print $2/1024 " MB"}'
  5. # 使用free命令的简洁输出
  6. free -m | awk '/Mem/{print $2 " MB"}'

2.2 内存使用分析

对于内存泄漏排查,建议结合以下命令:

  1. # 查看详细内存分布
  2. cat /proc/meminfo
  3. # 进程级内存监控(需安装htop)
  4. htop -d 10 # 每10秒刷新一次

在生产环境中,建议配置vmstat 1 5命令持续监控内存交换情况。

三、存储系统管理

3.1 磁盘空间监控

df命令是磁盘空间查询的核心工具:

  1. # 人类可读格式显示
  2. df -h
  3. # 排除特定文件系统类型
  4. df -h -x tmpfs -x devtmpfs
  5. # 仅显示使用率超过90%的分区
  6. df -h | awk '$5+0 > 90 {print $0}'

3.2 目录占用分析

du命令的深度使用技巧:

  1. # 统计目录总大小(排除子目录)
  2. du -sh /var/log
  3. # 查找大文件(按大小排序)
  4. find /var -type f -size +100M -exec ls -lh {} + | awk '{print $5, $9}' | sort -nr
  5. # 图形化显示目录结构(需安装ncdu)
  6. ncdu /var

3.3 分区表管理

fdisk的交互式操作示例:

  1. # 查看所有磁盘分区
  2. fdisk -l
  3. # 非交互式获取分区信息(脚本适用)
  4. fdisk -l /dev/sda | grep "^/dev/sda" | awk '{print $1, $2, $4}'

四、软件包管理

4.1 RPM包查询

  1. # 查询已安装包(基础版)
  2. rpm -qa | grep nginx
  3. # 查询包详细信息
  4. rpm -qi httpd
  5. # 查找文件所属包
  6. rpm -qf /etc/httpd/conf/httpd.conf

4.2 YUM仓库管理

  1. # 列出所有可用包(含仓库信息)
  2. yum list available | grep mysql
  3. # 清理缓存并重建
  4. yum clean all && yum makecache
  5. # 查看包依赖关系
  6. yum deplist httpd

4.3 差异分析

rpm -qayum list installed结果不一致时,通常由以下原因导致:

  1. 手动安装的RPM包未注册到YUM数据库
  2. 第三方仓库的包命名冲突
  3. 缓存数据不同步

建议使用rpm -V命令验证关键系统文件的完整性。

五、系统版本管理

5.1 发行版识别

  1. # RedHat系标准方法
  2. cat /etc/redhat-release
  3. # 通用方法(支持Debian等)
  4. cat /etc/*-release
  5. # 版本号提取
  6. . /etc/os-release && echo $VERSION_ID

5.2 内核版本管理

  1. # 基础内核版本
  2. uname -r
  3. # 完整系统信息
  4. uname -a
  5. # 编译参数查询
  6. cat /proc/version

六、时间同步管理

6.1 时间查询

  1. # 显示当前时间(含时区)
  2. date
  3. # 显示硬件时钟
  4. hwclock --show
  5. # 显示UTC时间
  6. date -u

6.2 时间同步配置

生产环境推荐使用chrony替代传统ntpd

  1. # 安装配置
  2. yum install chrony -y
  3. systemctl enable --now chronyd
  4. # 验证同步状态
  5. chronyc tracking

七、高级诊断技巧

7.1 进程监控

  1. # 实时监控高负载进程
  2. top -b -n 1 | head -20
  3. # 按CPU使用率排序
  4. ps aux --sort=-%cpu | head -10
  5. # 进程树显示
  6. pstree -p

7.2 日志分析

  1. # 实时跟踪错误日志
  2. journalctl -p err -f
  3. # 按服务过滤日志
  4. journalctl -u sshd --no-pager -n 50
  5. # 传统日志分析
  6. tail -f /var/log/messages | grep "ERROR"

7.3 网络诊断

  1. # 连接测试
  2. nc -zv example.com 443
  3. # 路由跟踪
  4. traceroute -n 8.8.8.8
  5. # 端口监控
  6. netstat -tulnp | grep LISTEN

最佳实践建议

  1. 脚本化:将常用命令组合封装为脚本,如sysinfo.sh包含CPU、内存、磁盘监控
  2. 定时任务:通过cron配置定期健康检查,邮件报警
  3. 文档化:建立命令知识库,包含典型输出示例和故障案例
  4. 安全审计:定期执行rpm -Va检查系统文件完整性

通过系统化掌握这些命令组合,运维人员可构建完整的系统监控体系,显著提升故障响应速度和问题定位精度。建议结合实际场景不断优化命令参数,形成个性化的诊断工具集。