当前位置: 首页 > 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.dtcms.com/a/288610.html

相关文章:

  • 小架构step系列20:请求和响应的扩展点
  • 制作mac 系统U盘
  • macOs上交叉编译ffmpeg及安装ffmpeg工具
  • pages.json页面路由中,globalStyle的各个属性
  • RPG62.制作敌人攻击波数二:攻击ui
  • 分布式文件系统04-DataNode海量数据分布式高可靠存储
  • 【LeetCode数据结构】单链表的应用——环形链表问题详解
  • 【PTA数据结构 | C语言版】哈夫曼树的实现
  • UDP中的单播,多播,广播
  • 【RAG Agent】Deep Searcher实现逻辑解析
  • 【Unity3D实例-功能-移动】角色移动-通过WSAD(CharacterController方式)
  • 【STM32实践篇】:串口通信
  • Qwen3-8B 的 TTFT 性能分析:16K 与 32K 输入 Prompt 的推算公式与底层原理详解
  • 吴恩达机器学习笔记(3)—线性代数回顾(可选)
  • 【Django】DRF API版本和解析器
  • HTML Style 对象深度解析:从基础到高级应用
  • 上电复位断言的自动化
  • 【数据结构】双向循环链表的实现
  • 18.TaskExecutor获取ResourceManagerGateway
  • 【MySQL】索引中的页以及索引的分类
  • 【Nature Communications】GaN外延层中位错辅助的电子和空穴输运
  • PHPStorm携手ThinkPHP8:开启高效开发之旅
  • selenium4 web自动化测试
  • pip关于缓存的用法
  • minizinc学习记录
  • 如何优雅解决缓存与数据库的数据一致性问题?
  • Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具
  • 飞船躲避陨石小游戏流量主微信抖音小程序开源
  • 【ESP32设备通信】-使用Modbus RTU读取传感器数据
  • 嵌入式硬件篇---按键