利用可能なメモリをパーセンテージで表示するコマンド

利用可能なメモリをパーセンテージで表示するコマンド

利用可能なメモリをパーセントで表示したいです。私は利用可能なメモリではなく、使用されたメモリを表示していると確信しています。それとも私が間違っていますか?

mem=`free -m | awk 'NR ==2{printf $3,$2,$3*100/$2}'`
echo $mem

ベストアンサー1

使用可能なメモリ量をパーセンテージで表示するには、列4(使用可能)を列2(合計)で割り、その結果に100を掛けます。

たとえば、

[user@localhost ~]$ free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'
free: 97.32 %

使用された金額を表示するには、3列(使用済み)を2列(全体)に分割し、その結果に100を掛けます。

[user@localhost ~]$ free | awk '/^Mem/ { printf("Used: %.2f %\n", $3/$2 * 100.0) }'
Used: 2.75 %

%g を使用して、指定された有効桁数に丸めることができます。

たとえば、浮動小数点値ではなく整数のみが必要な場合は、指定された浮動小数点桁を0(ゼロ)に変更できます。最初の例では、%.2fは2つの浮動小数点値を表します。

以下は浮動小数点値 0 の例です。

[user@localhost ~]$ free | awk '/^Mem/ { printf("Used: %.0f %\n", $3/$2 * 100.0) }'
Used: 3 %

ここにも答えがあります。

https://stackoverflow.com/questions/10585978/linux-command-for-percentage-of-memory-that-is-free

おすすめ記事