一、CPU信息深度查询
1.1 基础信息获取
通过/proc/cpuinfo文件可获取CPU详细参数,推荐使用以下组合命令:
# 获取CPU型号(过滤重复行)grep "model name" /proc/cpuinfo | sort -u# 提取核心数量(物理核心)grep "physical id" /proc/cpuinfo | sort -u | wc -l# 提取逻辑核心数量grep -c "processor" /proc/cpuinfo
1.2 架构信息验证
使用getconf命令确认系统架构:
# 检查系统位数getconf LONG_BIT# 验证CPU支持指令集cat /proc/cpuinfo | grep -E "lm|sse4_2|avx2"
其中lm标志表示支持64位长模式,sse4_2和avx2是现代CPU的向量指令集扩展。
1.3 性能监控工具
推荐使用mpstat(需安装sysstat包)进行实时监控:
# 安装监控工具yum install sysstat -y# 启动监控服务systemctl start sysstat# 查看1秒间隔的CPU使用率mpstat -P ALL 1 3
该命令会显示每个逻辑核心的详细使用情况,持续3次采样。
二、内存管理实战
2.1 物理内存查询
三种高效查询方式:
# 方法1:直接解析meminfogrep MemTotal /proc/meminfo | awk '{print $2/1024 " MB"}'# 方法2:使用free命令(推荐)free -m | awk '/Mem/{print $2 " MB"}'# 方法3:动态监控内存变化watch -n 1 "free -h"
2.2 虚拟内存优化
当物理内存不足时,系统会使用交换空间:
# 查看交换分区使用情况swapon --show# 创建1GB交换文件(临时方案)dd if=/dev/zero of=/swapfile bs=1M count=1024chmod 600 /swapfilemkswap /swapfileswapon /swapfile
2.3 内存泄漏排查
使用vmstat监控内存变化:
# 持续监控内存状态(每2秒采样)vmstat 2 10
重点关注si(磁盘换入)和so(磁盘换出)列,持续高值表明存在内存压力。
三、存储系统管理
3.1 磁盘空间分析
# 人类可读格式显示磁盘使用df -hT# 查找大文件(示例:查找/var下大于100M的文件)find /var -type f -size +100M -exec ls -lh {} \;# 目录空间占用分析du -sh /etc/* | sort -rh | head -10
3.2 高级分区管理
使用fdisk进行交互式分区:
# 启动分区工具(需root权限)fdisk /dev/sda# 常用操作流程:# 1. 输入n创建新分区# 2. 选择分区类型(p主分区/e扩展分区)# 3. 指定起始和结束扇区# 4. 输入w保存更改
3.3 LVM逻辑卷管理
企业级存储方案示例:
# 创建物理卷pvcreate /dev/sdb1# 创建卷组vgcreate vg_data /dev/sdb1# 创建逻辑卷lvcreate -L 50G -n lv_mysql vg_data# 格式化并挂载mkfs.xfs /dev/vg_data/lv_mysqlmount /dev/vg_data/lv_mysql /data
四、系统版本管理
4.1 发行版信息查询
# 获取Red Hat系版本信息cat /etc/redhat-release# 通用方法(适用于所有Linux)cat /etc/*-release# 检查系统架构uname -m
4.2 内核版本控制
# 查看内核版本uname -r# 查看完整内核信息uname -a# 查询已安装内核包rpm -qa kernel*
4.3 系统升级策略
对于CentOS 5等老旧系统,建议:
- 评估迁移到现代发行版的可行性
- 安装EPEL仓库获取更新包:
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
- 实施最小化升级策略,避免全系统升级
五、软件包管理进阶
5.1 RPM包管理
# 查询已安装包rpm -qa | grep httpd# 查看包详细信息rpm -qi httpd# 验证包文件完整性rpm -V httpd
5.2 YUM仓库优化
配置本地仓库示例:
# 创建仓库目录mkdir /var/www/html/localrepo# 生成仓库元数据createrepo /var/www/html/localrepo# 配置yum源cat > /etc/yum.repos.d/local.repo <<EOF[local]name=Local Repositorybaseurl=file:///var/www/html/localrepoenabled=1gpgcheck=0EOF
5.3 依赖关系解决
当遇到依赖问题时:
# 调试依赖关系yum deplist httpd# 强制重新安装(解决文件冲突)yum reinstall httpd -y# 清理缓存并重建yum clean allyum makecache
六、时间同步与维护
6.1 NTP服务配置
# 安装NTP服务yum install ntp -y# 配置上游服务器cat > /etc/ntp.conf <<EOFserver ntp.aliyun.com iburstserver time1.aliyun.com iburstEOF# 启动服务systemctl start ntpdsystemctl enable ntpd
6.2 手动时间设置
紧急情况下使用:
# 设置硬件时钟hwclock --systohc# 设置系统时间date -s "2024-01-01 12:00:00"# 同步到硬件时钟hwclock --systohc
6.3 时区管理
# 查看当前时区timedatectl | grep "Time zone"# 修改时区(示例:改为上海时区)ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
最佳实践总结
- 命令组合使用:通过管道符
|将多个命令组合,实现数据过滤和格式化 - 权限管理:关键操作前使用
sudo -i切换root权限,避免频繁使用sudo - 日志记录:重要操作建议重定向到日志文件:
yum update > /var/log/yum_update_$(date +%Y%m%d).log 2>&1
- 自动化脚本:将常用命令序列封装为脚本,配合cron实现自动化维护
- 安全基线:定期执行
yum update保持系统安全更新,但生产环境建议先在测试环境验证
通过系统掌握这些核心命令,运维人员可以高效完成CentOS系统的日常管理工作,为业务系统的稳定运行提供坚实保障。建议结合具体场景建立命令知识库,持续提升运维效率。