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

相关推荐
xwj_86557433214 小时前
HTTP协议、接口测试流程、接口测试流程&文档&用例
网络·网络协议·http
EndingCoder14 小时前
类的继承和多态
linux·运维·前端·javascript·ubuntu·typescript
ZFB000115 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——添加用户
linux·运维·kylin
ZFB000115 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——进入救援模式
linux·运维·kylin
RisunJan15 小时前
Linux命令-iptables-restore命令(从文件批量恢复 iptables 防火墙规则)
linux·运维·网络
..过云雨15 小时前
网络计算器实现 - 自定义套接字+序列化+守护进程
网络·网络协议·tcp/ip
hugerat16 小时前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
小宇的天下17 小时前
HBM(高带宽内存)深度解析:先进封装视角的技术指南
网络·人工智能
ha204289419417 小时前
Linux操作系统学习记录之----自定义协议(网络计算器)
linux·网络·学习
想唱rap17 小时前
MYSQL在ubuntu下的安装
linux·数据库·mysql·ubuntu