10行bash脚本监控Linux:内存、磁盘和CPU使用率详解

0 下载量 152 浏览量 更新于2024-08-03 收藏 293KB DOCX 举报
本教程将指导你如何使用10行bash shell脚本来监控Linux系统的资源,包括内存、磁盘和CPU。以下是你需要了解的关键知识点: 1. **监控内存**: 使用`free -m`命令获取内存使用情况,然后通过`awk`过滤和计算。`free -m`显示内存的总量和已用量,`awk 'NR==2'`选择第二行(因为通常内存信息在第二行),`$3 * 100 / $2`计算并输出已用内存占总内存的百分比。例如,输出可能显示为"9.24%"。 2. **使用AWK提取数据**: AWK是一种强大的文本处理工具,它在这里被用来解析`free -m`的输出。`awk`中的`NR==2`指定选择第二行,而`$3`和`$2`分别对应已用内存和总内存的值。 3. **监控磁盘**: `df -h`命令显示磁盘空间使用情况,然后通过`awk`筛选出根目录的磁盘使用率。`$NF=="/"`查找最后一个字段(即路径),确保选择到的是磁盘分区。`$5`获取该行的第五个字段,即使用百分比,如"7%"。 4. **grep和top命令**: `top -bn1`执行一次顶级进程查看器(`n1`表示一次迭代),`grep 'load'`筛选出负载信息,最后`awk '{printf("%.2f%%\t\t\n", $(NF-2))}'`计算并打印出负载平均值的百分比。 5. **bash脚本结构**: 整个脚本可以这样组织:首先运行内存监控,然后运行磁盘监控,最后运行CPU监控,并将结果输出到控制台或日志文件。这10行代码将有效地监控和汇总关键的系统资源信息。 通过组合这些指令,你可以创建一个简洁且高效的bash shell脚本来监控你的Linux系统,这对于服务器运维和临时测试环境的监控非常实用。如果你需要进一步优化或扩展监控范围,可以添加更多的条件和指标,或者考虑使用更专业的监控工具如Nagios或Prometheus。