Linux 怎么查系统性能?一文搞懂 top、htop、vmstat
发布时间 - 2025-12-04 00:00:00 点击率:次查Linux系统性能核心是CPU、内存、磁盘I/O和进程活动,top看实时进程与资源占用,htop是其增强交互版,vmstat擅长统计系统级吞吐并发现趋势性问题。
查 Linux 系统性能,核心是看 CPU、内存、磁盘 I/O 和进程活动。最常用也最直接的工具就是 top、htop 和 vmstat——它们分工明确:top 看实时进程和资源占用,htop 是 top 的增强交互版,vmstat 则擅长统计系统级整体吞吐(尤其适合抓异常波动)。掌握这三者,基本覆盖日常排查 90% 的性能问题。
top:原生可靠,重点看这 5 行
运行 top 后,默认顶部显示系统概览,关键信息集中在前几行:
- 第一行(uptime):显示运行时间、当前登录用户数、负载平均值(1/5/15 分钟),数值 > CPU 核心数就说明有排队等待,需警惕
-
第二行(Tasks):总进程数 + 运行中/睡眠/停止/僵死状态数量,若
Z(zombie)持续不为 0,可能有程序没正确回收子进程 -
第三行(%Cpu(s)):注意区分
us(用户态)、sy(内核态)、id(空闲)、wa(I/O 等待)——wa高往往意味着磁盘慢或有大量读写 -
第四、五行(Mem / Swap):关注
free和available(后者才是真实可用内存),Swap used 持续上升说明物理内存不足 -
进程列表:按
%CPU或%MEM排序(按P或M键),快速定位“吃资源大户”;按T可按运行时间倒序,找长期霸占 CPU 的老进程
htop:top 的友好升级版,操作更直观
htop 不是所有系统默认安装,先用 sudo apt install htop(Debian/Ubuntu)或 sudo yum install htop(CentOS/RHEL)装好。启动后优势明显:
- 彩色显示,CPU、内存、Swap 使用率以横向条形图呈现,一眼看出压力分布
- 支持鼠标点击排序,方向键上下选择进程,
F9杀进程比 top 的k更顺手 - 左侧显示完整命令路径(top 默认只显示进程名),避免同名进程混淆(比如多个
python实际跑的是不同脚本) - 底部快捷菜单清晰(如
F2设置显示项、F3搜索进程),新手上手零门槛 - 可横向滚动查看长命令行,对容器或 Java 应用的复杂启动参数特别有用
vmstat:看趋势,别只盯“此刻”
vmstat 不是实时刷新界面,而是按秒采样输出统计快照,更适合发现“慢慢变糟”的问题。常用命令:(每 2 秒一次,共 5 次)。
vmstat 2 5
- r 列:运行队列长度,持续 > CPU 核心数,说明 CPU 资源争抢严重
- si/so 列:swap in/out(单位 KB/s),非零且持续波动,代表内存不足导致频繁换页,性能会断崖下跌
-
bi/bo 列:块设备读/写(单位 blocks/s),结合
iostat -x 1可进一步判断是否磁盘瓶颈 - us/sy/id/wa:和 top 第三行含义一致,但 vmstat 把 wa 单独列出来,方便你盯住 I/O 等待是否随时间恶化
- 第一次输出是开机以来平均值,跳过它;从第二次开始才是最近采样数据,这才是你要分析的
基本上就这些。top 看“谁在作怪”,htop 让你看得更轻松,vmstat 帮你确认“是不是越来越糟”。三者配合,不用装一堆监控工具,也能把大多数性能问题摸清楚。
# linux
# python
# java
# centos
# ubuntu
# 工具
# ai
# ios
# linux系统
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
SQL查询语句优化的实用方法总结
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
如何快速生成ASP一键建站模板并优化安全性?
PythonWeb开发入门教程_Flask快速构建Web应用
JS经典正则表达式笔试题汇总
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Firefox Developer Edition开发者版本入口
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
简历在线制作网站免费版,如何创建个人简历?
简历没回改:利用AI润色让你的文字更专业
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何快速搭建安全的FTP站点?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Swift中循环语句中的转移语句 break 和 continue
如何在搬瓦工VPS快速搭建网站?
Java垃圾回收器的方法和原理总结
浅谈Javascript中的Label语句
Laravel如何生成URL和重定向?(路由助手函数)
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何快速生成专业多端适配建站电话?
Laravel如何实现API资源集合?(Resource Collection教程)
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel怎么上传文件_Laravel图片上传及存储配置
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Laravel如何创建自定义Facades?(详细步骤)
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何使用Gate和Policy进行授权?(权限控制)
如何在阿里云高效完成企业建站全流程?
昵图网官网入口 昵图网素材平台官方入口
Laravel如何生成API文档?(Swagger/OpenAPI教程)

