我需要获取当前机器的内存大小和当前机器使用的内存(以 GB 为单位)。我该怎么做呢?我可以得到以 kB 为单位的内存大小,但是如何以 GB 为单位呢?
RAM = $(grep MemTotal /proc/meminfo)
Run Code Online (Sandbox Code Playgroud)
我需要一个包含总内存的变量和一个包含已用内存的变量。我对这个问题感到抱歉,但我现在正在生命中第一次编辑 bash 脚本 ^^ 感谢您的所有帮助!;)
小智 5
假设您想要 Gibibytes(也就是说,使用 1024 字节表示 Kb,使用 1024 Kb 表示 Mb,等等),您可以自己进行数学计算,但您必须过滤掉原始数字:
RAM_KB=$(grep MemTotal /proc/meminfo | awk '{print $2}')
RAM_MB=$(expr $RAM_KB / 1024)
RAM_GB=$(expr $RAM_MB / 1024)
Run Code Online (Sandbox Code Playgroud)
您可以对已用内存执行基本相同的操作。或者,许多系统都free安装了可以为您执行此数学运算的实用程序:
free -g将提供 GiB 格式的答案:
$ free -g
total used free shared buff/cache available
Mem: 24 0 23 0 1 23
Swap: 7 0 7
Run Code Online (Sandbox Code Playgroud)
您可以使用 grep 和 awk 从那里提取您需要的值:
TOTAL_MEM=$(free -g | grep Mem: | awk '{print $2}')
MEM_USED=$(free -g | grep Mem: | awk '{print $3}')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4057 次 |
| 最近记录: |