当前位置: 首页 > news >正文

【Linux性能优化】常用工具和实战指令

作者:唐叔在学习
专栏:唐叔的后端成长之路

大家好,我是唐叔!今天咱们来聊聊 Linux性能优化 那些事儿。你是不是也遇到过服务器卡成狗,CPU 100%,内存爆满,磁盘IO飙高,但就是不知道问题出在哪?别急,今天我就手把手教你用 Linux性能定位工具 快速揪出系统瓶颈,让你的服务器飞起来!

📌 本文重点:

  • Linux性能分析 常用工具大全
  • CPU、内存、磁盘、网络 四大维度精准定位
  • 实战命令 + 场景分析,小白也能轻松上手
  • 关键词:Linux性能优化、服务器卡顿、CPU负载高、内存泄漏、磁盘IO、网络延迟

文章目录

    • 1. 先看整体:你的Linux服务器现在健康吗?
      • (1)top —— 最基础的性能监控
      • (2)htop —— 更强大的 top 替代品
      • (3)vmstat —— 查看系统整体状态
    • 2. CPU性能分析:谁在疯狂吃CPU?
      • (1)pidstat —— 定位高CPU进程
      • (2)perf —— 深入分析CPU热点(火焰图)
      • (3)mpstat —— 查看多核CPU负载
    • 3. 内存分析:内存泄漏?OOM了?
      • (1)free —— 查看内存使用情况
      • (2)pmap —— 查看进程内存占用
      • (3)smem —— 按PSS统计内存
    • 4. 磁盘IO分析:磁盘慢成蜗牛?
      • (1)iostat —— 监控磁盘IO
      • (2)iotop —— 查看哪个进程狂写磁盘
      • (3)blktrace —— 深入分析块设备IO
    • 5. 网络分析:网卡打满了?
      • (1)ss(替代netstat)—— 查看网络连接
      • (2)iftop —— 实时流量监控
      • (3)tcpdump —— 抓包分析
    • 🎯 总结:Linux性能优化黄金法则

1. 先看整体:你的Linux服务器现在健康吗?

🔍 工具推荐:tophtopvmstat

当你发现服务器变慢,第一步就是 全局观察,看看是CPU、内存、磁盘还是网络出了问题。

(1)top —— 最基础的性能监控

top
  • P:按CPU使用率排序
  • M:按内存使用排序
  • 1:查看每个CPU核心的负载

📌 唐叔解读:

  • 如果 %CPU 长期接近100%,说明CPU是瓶颈。
  • 如果 %MEM 很高,可能是内存泄漏。
  • load average(负载平均值)> CPU核心数,说明系统过载。

(2)htop —— 更强大的 top 替代品

htop  # 需安装:`yum install htop` 或 `apt install htop`
  • 彩色显示,更直观
  • 支持鼠标点击,交互更方便

(3)vmstat —— 查看系统整体状态

vmstat 1 5  # 每秒1次,输出5次
  • r:运行队列长度(>CPU核心数说明CPU忙)
  • si/so:Swap交换(频繁交换说明内存不足)
  • wa:IO等待(高说明磁盘是瓶颈)

2. CPU性能分析:谁在疯狂吃CPU?

🔍 工具推荐:pidstatperfmpstat

(1)pidstat —— 定位高CPU进程

pidstat -u 1  # 每秒刷新CPU使用率
  • %CPU:进程占用的CPU百分比
  • Command:查看是哪个进程在搞事情

(2)perf —— 深入分析CPU热点(火焰图)

perf top          # 实时查看函数调用热点
perf record -g    # 记录性能数据,生成火焰图

🔥 火焰图分析:

  • 宽峰:代表该函数占用CPU高
  • 平顶:可能是锁竞争或CPU瓶颈

(3)mpstat —— 查看多核CPU负载

mpstat -P ALL 1  # 查看每个CPU核心的使用率
  • 如果某个核心 100%,可能是单线程程序导致的瓶颈。

3. 内存分析:内存泄漏?OOM了?

🔍 工具推荐:freepmapsmem

(1)free —— 查看内存使用情况

free -h  # 人类可读格式
  • available:可用内存(重点关注)
  • Swap 使用高?说明物理内存不足!

(2)pmap —— 查看进程内存占用

pmap -x <PID>  # 查看进程的详细内存分配
  • RSS:实际物理内存占用
  • PSS:更准确的内存统计(共享库按比例计算)

(3)smem —— 按PSS统计内存

smem -s pss  # 按实际内存占用排序
  • top更准确,适合分析 内存泄漏

4. 磁盘IO分析:磁盘慢成蜗牛?

🔍 工具推荐:iostatiotopblktrace

(1)iostat —— 监控磁盘IO

iostat -xz 1  # 查看磁盘吞吐和延迟
  • %util:磁盘利用率(>80%说明IO瓶颈)
  • await:IO平均等待时间(越高越慢)

(2)iotop —— 查看哪个进程狂写磁盘

iotop  # 需root权限
  • 类似top,但针对磁盘IO排序。

(3)blktrace —— 深入分析块设备IO

blktrace -d /dev/sda -o trace  # 记录IO事件
  • 适合分析 磁盘延迟高 的问题。

5. 网络分析:网卡打满了?

🔍 工具推荐:netstatsstcpdumpiftop

(1)ss(替代netstat)—— 查看网络连接

ss -tulnp  # 查看监听端口和连接
  • -t:TCP连接
  • -u:UDP连接

(2)iftop —— 实时流量监控

iftop -i eth0  # 查看网卡流量
  • 类似top,但显示 网络带宽占用

(3)tcpdump —— 抓包分析

tcpdump -i eth0 port 80 -w capture.pcap  # 抓取80端口流量
  • 适合分析 网络延迟、丢包 问题。

🎯 总结:Linux性能优化黄金法则

问题类型推荐工具关键指标
CPU高toppidstatperf%CPUload average
内存泄漏freepmapsmemavailableSwap
磁盘IO慢iostatiotop%utilawait
网络延迟ssiftoptcpdump带宽、连接数

📢 唐叔建议:

  1. 先全局(top/htop)→ 再细分(CPU/内存/磁盘/网络)
  2. 工具是武器,思路是兵法,平时多练手,遇到问题才不慌!

🚀 你的服务器还在卡顿吗?赶紧试试这些工具吧!
📌 关注唐叔,更多技术文章持续更新!
👍 如果觉得有用,点赞 + 收藏,支持一下!

#Linux性能优化 #服务器卡顿 #CPU负载高 #内存泄漏 #磁盘IO #网络延迟 #Linux命令 #性能分析

http://www.lryc.cn/news/594431.html

相关文章:

  • 软件测试-Bug
  • 【软件测试】从软件测试到Bug评审:生命周期与管理技巧
  • 机器学习-数据预处理
  • 0401聚类-机器学习-人工智能
  • Vue开发前端报错:‘vue-cli-service‘ 不是内部或外部命令解决方案
  • 交通出行大前端与 AI 融合:智能导航与出行预测
  • Servlet 执行流程 生命周期 方法介绍
  • 超大整数任意进制之间在线转换工具
  • 通俗易懂神经网络:从基础到实现
  • Unity 新旧输入系统对比
  • 【数据结构】树状数组
  • 网安-文件上传-upload-labs
  • 深入理解MyBatis:总结核心概念
  • Mermaid 语法
  • SpringBoot集成Skywalking链路跟踪
  • 44.sentinel授权规则
  • Dev-C++——winAPI贪吃蛇小游戏
  • codepen使用
  • 网鼎杯2020青龙组notes复现
  • AG32:解锁MCU+FPGA应用新姿势,功能与实战全解析
  • 《杜甫传》读书笔记与经典摘要(一)
  • 桑科草原一景
  • RabbitMQ:解锁高效消息传递的密码[特殊字符]
  • C++STL之stack和queue
  • 【pandoc实践】如何将wordpress文章批量导出为Markdown格式
  • Spring Boot 自动装配用法
  • 从0开始学linux韦东山教程Linux驱动入门实验班(4)
  • Spring Boot 一个注解搞定「加密 + 解密 + 签名 + 验签」
  • 零基础 “入坑” Java--- 十三、再谈类和接口
  • KOSMOS-2: 将多模态大型语言模型与世界对接