教程 rockylinux tutorial

性能监控与优化

在服务器或开发环境中,性能监控与优化是保持系统稳定运行的关键。

本文介绍在 Rocky Linux 上使用常见工具监控 CPU、内存、磁盘与网络性能,并提供实用的优化建议。

一、CPU 使用情况监控

1. 查看实时 CPU 使用率

bash
top

常用快捷键:

快捷键 作用
1 显示每个 CPU 核心使用情况
P 按 CPU 使用率排序
q 退出 top

2. 使用 htop 提供更友好的界面

bash
sudo dnf install -y htop
htop

htop 支持彩色显示、交互式终止进程和 CPU 核心可视化。

二、内存与交换空间监控

1. 查看内存使用情况

bash
free -h

输出示例:

代码
              total        used        free      shared  buff/cache   available
Mem:           7.6G        2.3G        3.8G        112M        1.5G        4.9G
Swap:          2.0G          0B        2.0G

2. 使用 vmstat 观察内存与进程状态

bash
vmstat 2

每 2 秒刷新一次,可持续监控内存与 CPU。

三、磁盘性能与空间分析

1. 查看磁盘使用情况

bash
df -h

2. 查看目录空间占用

bash
du -sh /*

3. 分析磁盘 I/O 性能

安装 iotop:

bash
sudo dnf install -y iotop
sudo iotop

显示每个进程的读写速度,有助于发现磁盘瓶颈。

4. 测试磁盘读写性能

bash
sudo dnf install -y hdparm
sudo hdparm -Tt /dev/sda

四、网络性能与连接状态

1. 查看实时网络流量

bash
sudo dnf install -y iftop
sudo iftop -i eth0

2. 检查端口监听与连接状态

bash
sudo ss -tulnp

3. Ping 延迟与丢包检测

bash
ping -c 5 8.8.8.8

4. 使用 nload 可视化网络流量

bash
sudo dnf install -y nload
sudo nload

五、系统总体资源概览

使用 dstat 工具

bash
sudo dnf install -y dstat
dstat -tcmnd

输出包括时间、CPU、内存、磁盘与网络的综合统计信息。

六、性能日志与分析工具

工具 作用 命令
sar 系统活动报告,可生成 CPU/内存/IO 历史数据 sar -u 1 5
pidstat 按进程统计 CPU 使用率 pidstat 1
perf 内核性能分析工具 perf top
systemd-analyze 分析系统启动时间 systemd-analyze blame

安装命令:

bash
sudo dnf install -y sysstat perf

七、系统优化建议

1. 调整 Swappiness(内存换页倾向)

默认值为 60,可改为 10 以减少磁盘交换:

bash
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10

永久修改:

bash
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

2. 优化文件描述符限制

编辑 /etc/security/limits.conf:

代码
* soft nofile 65535
* hard nofile 65535

3. 优化网络连接参数

编辑 /etc/sysctl.conf:

bash
net.core.somaxconn = 1024
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1

应用配置:

bash
sudo sysctl -p

八、CPU 与 IO 调度优化

1. 查看当前调度策略

bash
cat /sys/block/sda/queue/scheduler

2. 修改为性能优先模式(例如 mq-deadline)

bash
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

九、服务与守护进程优化

1. 禁用不必要的服务

列出所有开机启动项:

bash
sudo systemctl list-unit-files --type=service

禁用不需要的服务:

bash
sudo systemctl disable bluetooth.service

2. 使用 tuned 进行系统自动优化

bash
sudo dnf install -y tuned
sudo systemctl enable --now tuned
sudo tuned-adm list
sudo tuned-adm profile throughput-performance

💡 tuned 会根据服务器类型(虚拟机、数据库、网络负载)自动优化 CPU、磁盘与内存参数。

十、总结

  • 使用 htop、iotop、iftop、nload 实时监控系统性能
  • 合理调整内核参数与服务数量可显著提升性能
  • tuned 提供一键自动优化方案
  • 对于关键业务系统,建议部署 Prometheus + Grafana 做长期性能可视化监控

✅ 提示:性能优化应遵循“监控 → 分析 → 调整 → 验证”的闭环原则,避免盲目调参造成系统不稳定。