写一个shell脚本,要去使用free指令,获取空闲内存和总内存大小并计算使用内存百分比
时间: 2024-03-13 21:46:46 浏览: 26
好的,以下是一个获取内存使用率的shell脚本:
```bash
#!/bin/bash
# 获取总内存大小和可用内存大小
total_mem=$(free | awk 'NR==2{print $2}')
free_mem=$(free | awk 'NR==2{print $4}')
# 计算内存使用率
used_mem=$(($total_mem-$free_mem))
used_percent=$(echo "scale=2; $used_mem/$total_mem*100" | bc)
echo "总内存大小:$total_mem KB"
echo "可用内存大小:$free_mem KB"
echo "内存使用率:$used_percent%"
```
运行脚本后会输出总内存大小、可用内存大小和内存使用率。注意,这里使用了`free`指令,因此需要在Linux系统中运行。
相关问题
写一个shell脚本获取当前的内存使用
您可以使用下面的 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脚本:
```bash
#!/bin/bash
# 获取总内存大小
total_mem=$(grep MemTotal /proc/meminfo | awk '{print $2}')
# 获取已使用内存大小
used_mem=$(grep MemAvailable /proc/meminfo | awk '{print $2}')
# 计算内存使用率
mem_usage=$(echo "scale=2; ($total_mem - $used_mem) / $total_mem * 100" | bc)
echo "Memory usage: $mem_usage%"
```
这个脚本首先通过读取 `/proc/meminfo` 文件来获取系统内存的信息,然后使用 `awk` 命令提取出需要的数据。最后使用 `bc` 命令进行浮点数运算,计算出内存使用率,并输出结果。