Linux 服务器常用监控命令速查:top、free、iostat 与 ss
管一台 Debian 小服务器,出问题时最怕手忙脚乱。我常用的上手顺序是:先看负载和内存,再看磁盘 IO 和端口,最后翻日志定位原因。
先看整体:top 与 htop
top 最先敲。重点看 load average 三个数,分别对应 1、5、15 分钟的平均负载;%Cpu 一行里 wa 长期偏高,往往是磁盘 IO 在拖后腿;再看按 CPU 或内存排序靠前的进程,确认是不是某个服务跑飞了。htop 更直观,支持点选进程、按 F6 换排序字段。
内存够不够:free -h
free -h 看内存,available 才是真正还能给新进程用的量,比 used 更值得看。buff/cache 偏高不用紧张,那是系统拿空闲内存做缓存;swap 长期被大量占用,才说明内存真的吃紧。
磁盘慢不慢:iostat
怀疑磁盘慢时用 iostat -x 1。%util 接近 100% 说明设备跑满了,await 偏大说明请求排队等待久。再看 r/s、w/s 和读写速率,能判断是读多还是写多、是随机读写还是顺序读写。
端口谁在听:ss -tlnp
ss -tlnp 查监听端口:-t 看 TCP,-l 只看监听,-n 不做域名反查,-p 显示占用进程。Local Address 一列能看出服务是只绑 127.0.0.1 还是对外监听。
磁盘满没满:df -h 与 du 组合
df -h 先看哪个分区满了,Use% 过 90% 就要动手;再用 du -sh /var/log/* 一层层往下钻,日志、备份和下载目录是最常见的“大户”。
最后翻日志:dmesg 与 journalctl
还没找到原因就翻日志。dmesg 看内核缓冲,硬件报错、OOM 杀进程常在这里;journalctl -u 服务名 --since "1 hour ago" 只看某个服务最近一小时的记录。日志时间点和前面看到的异常时间点能对上,基本就能锁定问题。
我的巡检清单很简单:负载有没有持续走高,available 内存还剩多少,磁盘 Use% 有没有过线,关键端口是否正常监听,日志有没有新报错。
- 点赞
- 收藏
- 关注作者
评论(0)