Linux查询内存使用率 并使用命令计算出来

在 Linux 中,可以通过 free 命令 查询内存使用情况,并使用 awkbc 命令计算出内存使用率。以下是具体方法:


1. 使用 freeawk 计算内存使用率

free 命令显示内存使用情况,awk 用于提取和计算数据。

命令:
bash 复制代码
free | awk '/Mem/{printf("内存使用率: %.2f%\n"), $3/$2*100}'
输出示例:
复制代码
内存使用率: 41.23%
说明:
  • Mem:匹配内存行。
  • $3:已用内存(used)。
  • $2:总内存(total)。
  • printf("内存使用率: %.2f%\n"):格式化输出,保留两位小数。

2. 使用 freebc 计算内存使用率

bc 是一个高精度计算器,可以用于浮点数运算。

命令:
bash 复制代码
used=$(free | awk '/Mem/{print $3}')
total=$(free | awk '/Mem/{print $2}')
echo "内存使用率: $(echo "scale=2; $used/$total*100" | bc)%"
输出示例:
复制代码
内存使用率: 41.23%
说明:
  • scale=2:设置 bc 的输出精度为两位小数。
  • $used/$total*100:计算内存使用率。

3. 使用 /proc/meminfoawk 计算内存使用率

/proc/meminfo 文件包含详细的内存信息。

命令:
bash 复制代码
awk '/MemTotal/{total=$2} /MemAvailable/{available=$2} END{printf("内存使用率: %.2f%\n"), (total-available)/total*100}' /proc/meminfo
输出示例:
复制代码
内存使用率: 41.23%
说明:
  • MemTotal:总内存。
  • MemAvailable:可用内存。
  • (total-available)/total*100:计算内存使用率。

4. 使用 vmstatawk 计算内存使用率

vmstat 命令可以显示内存统计信息。

命令:
bash 复制代码
vmstat -s | awk '/total memory/{total=$1} /used memory/{used=$1} END{printf("内存使用率: %.2f%\n"), used/total*100}'
输出示例:
复制代码
内存使用率: 41.23%
说明:
  • total memory:总内存。
  • used memory:已用内存。
  • used/total*100:计算内存使用率。

5. 使用 sarawk 计算内存使用率

sarsysstat 工具包的一部分,可以显示内存使用率。

命令:
bash 复制代码
sar -r 1 1 | awk '/Average:/{printf("内存使用率: %.2f%\n"), $4}'
输出示例:
复制代码
内存使用率: 41.23%
说明:
  • Average::匹配平均内存使用率行。
  • $4:内存使用率字段。

相关推荐
夜月yeyue9 小时前
AUTOSAR CP 从上电到 Runnable
c语言·网络·tcp/ip·车载系统
lsh曙光9 小时前
延时at指令和定时cron指令
linux·服务器·网络
treesforest9 小时前
IP定位技术在网络犯罪侦查中的应用与价值
网络·网络协议·tcp/ip·网络安全·ip归属地查询·反欺诈
圆山猫9 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
XR1234567889 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
似的83510 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
萧瑟余晖11 小时前
Java深入解析篇九之NIO详解
java·网络·nio
夏殇之殁11 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
我不管我就要叫小猪11 小时前
嵌入式Linux----网络通信
linux·运维·服务器
泡沫冰@12 小时前
ECS 的介绍和使用
linux·服务器·网络