Linux 入门:五个命令读懂系统状态
刚接触 Linux 的新手常常被满屏的命令吓住。其实日常运维里最先用到的不是花哨的技巧,而是几个能快速回答“系统现在怎么样了”的命令。掌握下面五个命令,你就能在服务器出问题时先自己定位方向,而不是只会重启碰运气。
第一个是 uptime。它只输出一行,却包含了三件关键信息:系统已经连续运行了多久、当前登录了几个用户、过去 1 分钟、5 分钟、15 分钟的平均负载。负载数字要结合 CPU 核数一起看:4 核机器上负载长期高于 4,才说明 CPU 真的排队了;单核机器上负载 2 就已经很吃力。很多人一看到负载高就判定“机器不行了”,其实先看趋势更重要——15 分钟负载在下降,说明高峰已经过去。
第二个是 free -h。参数 -h 的意思是按人类可读的单位显示,内存不再是一串难读的字节数。看这一行要抓住两个数:available 和 used。Linux 会把空闲内存拿去做磁盘缓存,所以 total 减去 free 并不等于真实压力;available 才是新程序还能申请到的内存。如果 available 长期贴近于零,同时 swap 也被大量使用,那才是内存真的不够,该考虑优化程序或者扩容。
第三个是 df -h,查磁盘空间。磁盘满是最常见又最容易预防的故障:日志写爆、备份文件越积越多,都会让服务突然写不进数据。重点看 Use% 和 Mounted on,先找到接近 100% 的挂载点,再用 du -sh 加目录名一层层往下找大文件。养成每周看一次 df 的习惯,能避开一半以上的“服务突然挂了”。
第四个是 top,或者更直观的 htop。top 实时刷新,按 CPU 占用排序,第一眼就能看到是谁在吃资源。看到某个进程 CPU 居高不下时不要急着 kill,先记下进程名和启动时间,再去查它对应的服务日志。kill 只是止痛药,找到它为什么失控才是治病。生产环境尤其要克制:先确认这个进程能不能安全重启,再动手。
第五个是 ss -tlnp,查看本机正在监听的端口。服务起不来时,很多人第一反应是改配置,其实先确认端口到底有没有被监听更直接:如果端口没出现,说明服务根本没启动成功,要去看服务日志;如果端口已监听但连不上,再排查防火墙和安全组。这个命令把“服务问题”和“网络问题”分得很清楚,能省下很多来回猜测的时间。
把这五个命令串成一个排查习惯:先 uptime 看负载,再 free -h 看内存,df -h 看磁盘,top 找吃资源的进程,ss -tlnp 确认服务端口。顺序固定下来,排障就有了章法,不再东一榔头西一棒子。
最后提醒两点新手常踩的坑。第一,不要在不理解命令含义的情况下复制网上的命令执行,尤其是带 rm、dd、管道到 shell 的命令,先查清楚再动手。第二,重要操作前先备份配置文件,一条 cp 就能省下一次通宵恢复。这两个习惯比多背十个命令更有价值。
从今天起,每天花五分钟在自己的机器上跑一遍这五个命令,一周之后,读懂系统状态就会变成你的本能。
- 点赞
- 收藏
- 关注作者
评论(0)