Linux便捷查询使用手册 第八章:系统监控与性能调优

目录

[8.1 系统监控工具](#8.1 系统监控工具)

[8.1.1 top命令](#8.1.1 top命令)

使用示例:

[8.1.2 htop命令](#8.1.2 htop命令)

安装:

使用示例:

[8.1.3 vmstat命令](#8.1.3 vmstat命令)

使用示例:

[8.1.4 iostat命令](#8.1.4 iostat命令)

安装:

使用示例:

[8.1.5 netstat和ss命令](#8.1.5 netstat和ss命令)

使用示例:

[8.2 性能调优的方法](#8.2 性能调优的方法)

[8.2.1 CPU性能调优](#8.2.1 CPU性能调优)

[8.2.2 内存性能调优](#8.2.2 内存性能调优)

[8.2.3 磁盘I/O性能调优](#8.2.3 磁盘I/O性能调优)

[8.2.4 网络性能调优](#8.2.4 网络性能调优)

[8.3 常用命令总结](#8.3 常用命令总结)

[8.4 实例分析](#8.4 实例分析)

实例1:使用top命令监控系统

实例2:调整进程优先级

实例3:监控磁盘I/O

实例4:网络性能测试

[8.5 常见问题与故障排除](#8.5 常见问题与故障排除)

[8.5.1 CPU利用率过高](#8.5.1 CPU利用率过高)

[8.5.2 内存不足](#8.5.2 内存不足)

[8.5.3 磁盘I/O性能差](#8.5.3 磁盘I/O性能差)

[8.5.4 网络连接慢](#8.5.4 网络连接慢)


在Linux系统中,系统监控和性能调优是确保系统稳定、高效运行的重要环节。通过实时监控系统状态并对性能瓶颈进行调整,可以提高系统的响应速度和处理能力。

8.1 系统监控工具

系统监控工具用于实时监测系统的资源使用情况,如CPU、内存、磁盘和网络等。

8.1.1 top命令

top命令用于实时显示系统中进程的状态,包括CPU使用率、内存使用率等。

使用示例:
bash 复制代码
top
  • 显示内容:当前运行的进程、CPU和内存的使用情况。
  • 操作 :可以使用 h 键查看帮助,按 k 结束进程。

8.1.2 htop命令

htoptop的增强版,提供了更友好的用户界面和更多功能。

安装:
bash 复制代码
sudo apt install htop   # Debian/Ubuntu
# 或
sudo yum install htop   # Red Hat/CentOS
使用示例:
bash 复制代码
htop
  • 显示内容:可视化的CPU、内存、交换区的使用情况,支持使用箭头键进行导航。

8.1.3 vmstat命令

vmstat用于报告虚拟内存、进程、CPU活动等信息。

使用示例:
bash 复制代码
vmstat 1
  • 参数1 表示每秒更新一次。

8.1.4 iostat命令

iostat用于监测系统的输入/输出设备和CPU的使用情况。

安装:
bash 复制代码
sudo apt install sysstat   # Debian/Ubuntu
# 或
sudo yum install sysstat   # Red Hat/CentOS
使用示例:
bash 复制代码
iostat -x 1
  • 参数-x 显示详细的设备利用率,1 表示每秒更新一次。

8.1.5 netstatss命令

用于显示网络连接、路由表、接口统计等信息。

使用示例:
bash 复制代码
netstat -tuln
# 或
ss -tuln
  • 参数
    • -t:显示TCP连接。
    • -u:显示UDP连接。
    • -l:显示监听中的连接。
    • -n:以数字形式显示地址和端口。

8.2 性能调优的方法

性能调优的主要目的是识别和消除系统瓶颈,以提高系统的整体性能。

8.2.1 CPU性能调优

  • 优先级调整 :通过nicerenice命令来调整进程的优先级。
bash 复制代码
nice -n 10 ./myprocess    # 启动新进程时设置优先级
renice -n -5 -p 1234       # 修改已有进程的优先级
  • 多核利用:合理配置多线程程序,确保其能够充分利用多核CPU。

8.2.2 内存性能调优

  • 交换空间配置 :使用swaponswapoff命令来启用或禁用交换空间。
bash 复制代码
sudo swapon /dev/sdX
sudo swapoff /dev/sdX
  • 内存清理 :使用echo命令清理缓存。
bash 复制代码
echo 3 | sudo tee /proc/sys/vm/drop_caches

8.2.3 磁盘I/O性能调优

  • 文件系统优化 :使用tune2fs命令对ext4文件系统进行优化。
bash 复制代码
sudo tune2fs -o journal_data /dev/sdX
  • 监控I/O :使用iostat监控磁盘I/O性能,分析读写延迟。

8.2.4 网络性能调优

  • TCP/IP调优 :通过调整/etc/sysctl.conf中的参数来优化网络性能。
bash 复制代码
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 65536 6291456
  • 使用iperf测试网络带宽
bash 复制代码
iperf -s   # 服务器端
iperf -c <server_ip>   # 客户端

8.3 常用命令总结

命令 描述
top 实时查看系统进程和资源使用情况
htop 增强版的实时系统监控工具
vmstat 报告虚拟内存和进程活动
iostat 监测I/O设备和CPU使用情况
netstat 查看网络连接和接口统计
ss 更现代的网络连接工具

8.4 实例分析

实例1:使用top命令监控系统

  1. 打开终端,输入以下命令:
bash 复制代码
top

实例2:调整进程优先级

  1. 查看当前运行的进程,找到需要调整的进程ID。
bash 复制代码
ps aux | grep myprocess
  1. 使用renice命令调整该进程的优先级。
bash 复制代码
sudo renice -n -5 -p <PID>

实例3:监控磁盘I/O

  1. 使用iostat命令监测磁盘I/O性能:
bash 复制代码
iostat -x 1
  1. 根据输出分析磁盘的读写速度和利用率,判断是否存在I/O瓶颈。

实例4:网络性能测试

  1. 在一台机器上启动iperf服务器:
bash 复制代码
iperf -s
  1. 在另一台机器上进行带宽测试:
bash 复制代码
iperf -c <server_ip>

8.5 常见问题与故障排除

8.5.1 CPU利用率过高

  • 检查高负载进程 :使用tophtop命令找到高负载进程,考虑调整其优先级或优化代码。

8.5.2 内存不足

  • 检查内存使用情况 :使用free -h命令查看内存使用情况,必要时考虑添加物理内存或调整交换空间。

8.5.3 磁盘I/O性能差

  • 分析I/O负载 :使用iostatiotop命令监控I/O性能,检查是否有进程造成I/O瓶颈。

8.5.4 网络连接慢

  • 检查网络配置 :使用netstatss命令查看连接状态,确保没有过多的TCP连接处于TIME_WAIT状态。

Linux便捷查询使用手册

https://blog.csdn.net/qq_54098120/category_12793753.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12793753&sharerefer=PC&sharesource=qq_54098120&sharefrom=from_link

相关推荐
sasaraku.3 分钟前
本地调试技巧:用Caddy搭建简易服务器反向代理
运维·服务器
奇偶变不变38 分钟前
RTOS之事件集
java·linux·jvm·单片机·算法
过过过呀Glik1 小时前
在 Ubuntu 上安装与配置 Docker 的完整指南
linux·ubuntu·docker
谁在夜里看海.1 小时前
【Linux】深入理解进程信号机制:信号的产生、捕获与阻塞
linux·运维·服务器
G_whang1 小时前
centos7 下使用 Docker Compose
运维·docker·容器
C++忠实粉丝1 小时前
多线程 - 自旋锁
linux
cosgum2 小时前
远程医疗:科技助力健康触手可及
服务器·网络·科技
o(╥﹏╥)2 小时前
github如何给本机绑定 ssh密钥(MACOS)
运维·gitee·ssh·github
TazmiDev3 小时前
[极客大挑战 2019]BabySQL 1
服务器·数据库·安全·web安全·网络安全·密码学·安全威胁分析
xxjkkjjkj3 小时前
Reactor
服务器·网络