要监控Linux系统的内存使用情况,并且不使用Nagios这样的监控工具,你可以编写一个简单的Shell脚本来实现。以下是一个示例脚本,它使用`free`命令来获取内存使用情况,并将关键信息输出到终端或记录到文件中。
#!/bin/bash
# 获取并显示内存使用情况
free | grep Mem | awk '{print "Total: " $2 "MB; Used: " $3 "MB; Free: " $4 "MB; Shared: " $7 "MB; Buffers/Cache: " ($2-$3-$4) "MB; Available: " $8 "MB"}'
# 如果你还想将这个信息写入到一个文件中,可以这样做:
# free | grep Mem | awk '{print "Total: " $2 "MB; Used: " $3 "MB; Free: " $4 "MB; Shared: " $7 "MB; Buffers/Cache: " ($2-$3-$4) "MB; Available: " $8 "MB"}' >> /var/log/memory_usage.log
# 为了定时监控,你可以将这个脚本添加到cron任务中
# 编辑cron任务: crontab -e
# 添加一行来定期运行脚本,例如每5分钟一次:
# */5 * * * * /path/to/your/script.sh
这段脚本首先使用`free`命令查看内存状态,然后通过`grep`和`awk`处理输出来显示和计算关键内存使用情况(如总内存、已用内存、空闲内存等)。最后,注释部分说明了如何将这个信息追加到日志文件中,以及如何通过cron定时运行这个脚本。
注意:
- 请将`/path/to/your/script.sh`替换为你的脚本实际路径。
- 你可能需要根据你的具体需求调整`awk`中的输出格式。
- 为了脚本能够执行,你需要给它执行权限,可以通过运行`chmod +x /path/to/your/script.sh`来实现。