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

相关推荐
一只游鱼1 小时前
linux使用yum安装数据库
linux·mysql·adb
大白的编程日记.2 小时前
【Linux学习笔记】线程概念和控制(三)
linux·笔记·学习
奔跑吧邓邓子4 小时前
【C++实战(63)】C++ 网络编程实战:UDP客户端与服务端的奥秘之旅
网络·c++·udp·实战·客户端·服务端
行云流水剑4 小时前
【学习记录】宝塔面板 + Docker 快速部署 RustDesk 自建远程控制服务器
服务器·docker·开源·p2p·rustdesk
一只游鱼5 小时前
vue+springboot项目部署到服务器
服务器·vue.js·spring boot·部署
L_09075 小时前
【Linux】Linux 常用指令2
linux·服务器
报错小能手5 小时前
linux学习笔记(13)文件操作
linux·笔记·学习
evo-master5 小时前
linux问题10--克隆后ip地址和源linux主机相同
linux·运维·服务器
sayhi_yang5 小时前
服务器上搭建支持GPU的DL+LLM Docker镜像
运维·服务器·docker
程序猿阿伟5 小时前
《政企API网关:安全与性能平衡的转型实践》
网络·数据库·安全