Linux服务器性能监控常用工具:htop、iotop、netstat等使用指南

时间:2026-06-18 11:43:17   阅读:64

服务器出问题的时候,第一件事是搞清楚资源用在哪了。CPU满了、内存不够、磁盘IO卡死、带宽被占满,不同的症状对应不同的排查工具。Linux系统自带了一批轻量级的监控命令,不用装任何客户端就能用。

一、CPU和内存:top和htop

top是Linux自带的进程查看器,实时显示CPU和内存使用情况。按P按CPU使用率排序,按M按内存使用率排序,按1查看每个CPU核心的负载。如果发现某个进程持续占用超过80%的CPU,可能就是有问题的程序或者被挖矿了。

htop是top的增强版,色彩更丰富,可以用上下键滚动进程列表,按F6排序。最实用的是它能用彩色进度条直观展示CPU和内存占用比例,一眼就能看出资源瓶颈。安装命令:CentOS用yum install htop,Ubuntu用apt install htop

二、磁盘IO:iostat和iotop

有时候CPU和内存都没问题,但服务器就是慢——那八成是磁盘IO瓶颈。iostat -x 1每秒刷新一次,看%util列,超过80%说明磁盘已经忙不过来了。await列显示IO请求的平均等待时间,超过几十毫秒就需要注意。

iotop更直观,像htop一样列出每个进程的读写速度。装好后执行iotop -o只显示正在IO的进程。Web服务器日志写入量大、数据库频繁刷盘都会造成高IO,用iotop能精确找到是哪个进程在"吃"磁盘。

三、网络连接:netstat和ss

netstat -tlnp列出所有正在监听的TCP端口和对应的进程名。-t只显示TCP,-l只显示监听状态的,-n显示IP而不是域名,-p显示进程PID和名称。如果有端口被占用导致服务起不来,这条命令是最快的排查方式。

ss是netstat的现代替代品,执行速度更快。用法类似:ss -tlnp。排查网络连接数是否超限时,ss -s能汇总显示各种状态的连接数量。ss state established | wc -l可以统计当前建立的连接数,超过服务器上限就需要考虑扩容或者优化应用。

四、磁盘空间和文件系统

df -h查看各分区磁盘使用率,-h参数以GB/MB单位显示。当使用率超过90%时,日志文件、Docker镜像、备份文件是最大的空间占用大户。用du -sh /* | sort -rh | head -10找到根目录下占用最大的10个目录,层层深入定位大文件。

除了磁盘空间,还要关注inode耗尽的问题。df -i查看inode使用率。如果inode用满了但磁盘还有空间,说明小文件太多了,通常是缓存文件或者邮件队列造成的。

五、全系统概览:dstat和glances

dstat在一行里同时显示CPU、磁盘、网络、内存的信息,适合快速看全局。执行dstat -cdngy即可看到CPU、磁盘、网络、内存、系统负载的综合数据。在排查性能问题时先用dstat扫一眼,哪里异常再深入查对应的工具。

glances是功能最全的终端监控工具,除了基本资源监控,还能显示Docker容器状态和传感器温度。安装后用glances启动,按1切换CPU核心视图,按d切换磁盘IO视图,按n切换网络视图。简单说,一台服务器装个glances,大部分日常监控需求都够了。

上一篇:PG解谜佳作前瞻:《逃脱学院2:再返校园》校园密室逃脱试玩

下一篇:Nginx反向代理与负载均衡配置实战:从入门到生产部署