写一个shell脚本获取当前的内存使用
时间: 2023-02-25 08:06:47 浏览: 29
您可以使用下面的 shell 脚本来获取当前的内存使用情况:
```
#!/bin/bash
# 获取总内存大小
total=$(free -m | awk 'NR==2{print $2}')
# 获取已使用的内存
used=$(free -m | awk 'NR==2{print $3}')
# 计算使用率
usage=$(echo $used/$total*100 | bc -l)
# 输出结果
echo "内存使用率为: $usage%"
```
运行上面的脚本,您就可以得到当前内存使用情况的结果。
相关问题
帮我写一个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脚本对free -m内存进行运算
下面是一个简单的 shell 脚本,用于计算 `free -m` 命令输出的内存使用情况:
```
#!/bin/bash
# 获取 free -m 命令输出的内容
output=$(free -m)
# 提取所需信息并进行计算
mem_total=$(echo "$output" | awk 'NR==2{print $2}')
mem_used=$(echo "$output" | awk 'NR==2{print $3}')
mem_free=$(echo "$output" | awk 'NR==2{print $4}')
mem_buffers=$(echo "$output" | awk 'NR==2{print $6}')
mem_cached=$(echo "$output" | awk 'NR==2{print $7}')
mem_available=$(echo "$output" | awk 'NR==3{print $2}')
mem_usage=$(echo "scale=2; $mem_used / $mem_total * 100" | bc)
# 输出计算结果
echo "总内存:$mem_total MB"
echo "已用内存:$mem_used MB"
echo "空闲内存:$mem_free MB"
echo "缓存内存:$mem_buffers MB"
echo "已缓存内存:$mem_cached MB"
echo "可用内存:$mem_available MB"
echo "内存使用率:$mem_usage%"
```
脚本中使用了 `awk` 命令来提取 `free -m` 命令输出的内容,并使用 `bc` 命令进行浮点数运算。运行脚本后,将会输出系统当前的内存使用情况信息。
阅读全文