shell脚本一直查询内存使用情况并将结果保存至文件
时间: 2023-05-17 13:03:51 浏览: 36
可以使用以下命令来查询内存使用情况并将结果保存至文件:
```
while true; do free -h >> memory_usage.txt; sleep 10; done
```
这个命令会每隔10秒钟查询一次内存使用情况,并将结果追加到名为 memory_usage.txt 的文件中。
相关问题
帮我写一个shell脚本,用于监控系统内存使用情况
好的,以下是一个简单的Shell脚本,用于监控系统内存使用情况:
```
#!/bin/bash
# 获取内存使用率
mem_used=$(free | awk 'NR==2{print $3/$2*100}')
# 判断内存使用率是否超过阈值(这里设置为80%)
if [ $mem_used -gt 80 ]
then
echo "系统内存使用率超过阈值,当前使用率为 $mem_used%。请及时清理内存空间!"
fi
```
这个脚本的作用是获取系统的内存使用情况,并判断是否超过了设定的阈值(这里设置为80%)。如果内存使用率超过了阈值,就会输出一条警告信息。你可以将这个脚本保存为一个文件,比如`mem_monitor.sh`,然后在命令行中执行`sh mem_monitor.sh`来运行它。
shell脚本监控内存使用率
要使用Shell脚本监控内存使用率,你可以使用Linux中的/proc文件系统来获取系统的内存信息。下面是一个示例的Shell脚本,可以监控内存使用率并输出到终端:
```shell
#!/bin/bash
# 获取总内存大小
total_memory=$(grep MemTotal /proc/meminfo | awk '{print $2}')
while true; do
# 获取已使用内存大小
used_memory=$(grep MemAvailable /proc/meminfo | awk '{print $2}')
# 计算内存使用率
memory_usage=$(( (total_memory - used_memory) * 100 / total_memory ))
# 输出内存使用率
echo "Memory Usage: $memory_usage%"
# 等待一段时间后再次获取内存使用率
sleep 5
done
```
这个脚本首先获取总内存大小,然后进入一个无限循环。在每次循环中,它会获取已使用的内存大小并计算内存使用率。然后,将内存使用率输出到终端。之后,脚本会等待5秒钟,然后再次获取内存使用率,循环继续。
你可以将上述脚本保存为一个.sh文件,并通过运行`bash 脚本名称.sh`来执行该脚本。这样就可以实时监控内存使用率了。
注意:在/proc/meminfo文件中,还有其他有关内存的信息,你可以根据需要进行调整和扩展脚本,以满足特定的监控要求。