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:内存使用率字段。

相关推荐
BreezeJiang4 小时前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
草莓熊Lotso6 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君6 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
XR1234567886 小时前
汽车制造园区网络怎么建?柔性产线与 AGV 的选型逻辑
网络·汽车·制造
贝锐15 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
IT大白鼠16 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien200416 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt18 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
2601_9620746818 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
小张同学a.19 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器