Linux高手必备:5分钟掌握系统监控核心命令
真正懂Linux的人,都在用这些命令洞察系统状况
在服务器运维、开发调试或者性能分析时,你是否曾对着一台Linux机器无从下手?今天,我们直击核心,一次性掌握查看系统状态最常用的五个关键命令。
1. 内存还有多少可用?
想知道系统还剩多少内存?不用东找西找,一个命令搞定:
text
复制下载free -h
-h参数表示“人类可读”,自动换算成GB、MB等单位显示。
关键看第二行(Mem),available列就是系统当前可用的内存量,这才是你真正还能用的内存。
2. CPU上跑着什么?
要看看哪些进程正在消耗CPU,使用:
text
复制下载top
这是Linux系统最经典的实时监控工具。启动后,你会看到一个动态更新的界面:
最上面几行显示系统整体状态(CPU、内存、负载)
下面列表按CPU占用率从高到低排列进程
按 q 退出,按 M 可按内存占用排序
如果想要一个简洁的进程快照,试试:
text
复制下载ps aux --sort=-%cpu | head -10
这会列出CPU占用最高的10个进程。
3. CPU占用率怎么查?
上面提到的top命令已经显示了整体CPU占用率。但如果你只需要一个数字,可以用:
text
复制下载mpstat 1 1 | grep -A 5 "all" | tail -1 | awk '{print 100 - $NF"%"}'这个命令计算的是CPU空闲率的反值,即使用率。或者更简单地:
text
复制下载top -bn1 | grep "Cpu(s)" | awk '{print "CPU使用率: " 100 - $8"%"}'4. 单个文件有多大?
查看文件大小的命令是:
text
复制下载ls -lh 文件名
-l显示详细信息,-h人性化显示大小。例如:
text
复制下载ls -lh nginx.log
会显示类似-rw-r--r-- 1 user group 15M Apr 20 10:30 nginx.log的信息,其中的15M就是文件大小。
5. 文件夹总共多大?
查看目录总大小(包括所有子目录),用:
text
复制下载du -sh 目录名
-s表示汇总总计,-h人性化显示。例如:
text
复制下载du -sh /var/log
会显示类似4.2G /var/log的结果,这就是该目录的总大小。
监控实战:一个排查问题的实例
假设你收到警报:服务器响应变慢。你的排查流程可能是:
先用free -h,发现内存充足
用top查看,发现一个Java进程占用90% CPU
用ps aux | grep java找到具体进程信息
用du -sh /path/to/logs检查相关日志目录大小
用ls -lh /path/to/critical.log查看关键日志文件大小
整个过程,全是命令行操作,无需打开任何图形界面。
小贴士:组合使用更高效
Linux命令的强大之处在于可以组合使用:
text
复制下载# 找出/tmp目录下最大的5个文件 du -h /tmp | sort -rh | head -5
text
复制下载# 监控CPU和内存变化(每2秒刷新) watch -n 2 "free -h && echo '---' && ps aux --sort=-%cpu | head -5"
一个必须知道的命令:htop
如果你觉得top不够直观,可以试试它的增强版——htop。功能更强大,界面更友好,支持鼠标操作和颜色高亮。安装命令:
text
复制下载# Ubuntu/Debian sudo apt install htop # CentOS/RHEL sudo yum install htop
然后只需输入htop,你会看到一个直观的监控界面,进程树、CPU使用情况一目了然。
结语
掌握这些命令,你就具备了系统监控的基本能力。在日常运维、性能调优、故障排查时,这些命令就是你的“听诊器”,能让你快速了解系统的健康状况。
真正的Linux高手,不是记住所有命令的人,而是掌握核心命令,并能灵活组合解决实际问题的人。
下次当你需要查看系统状态时,不必东翻西找——打开终端,输入合适的命令,一切尽在掌握。