1. 概要

時々私達はしたい Linuxシステムのメモリ使用量を知っています。 このチュートリアルでは、の使用方法を説明します自由それを行うためのコマンドラインユーティリティ。

2. freeコマンド例

free コマンドは、が現在のRAMとスワップスペースの使用量を表示するLinuxツールです

$ free
              total        used        free      shared  buff/cache   available
Mem:       32882588     4418516    26725724      437164     1738348    27589116
Swap:       2097148           0     2097148

出力の各列の意味を見てみましょう。

  • total:システムで使用可能な合計メモリ
  • 使用済み:システムが現在使用しているメモリ
  • 空き:未使用のメモリ
  • 共有:tmpfsによって使用されるメモリ
  • バフ/キャッシュ:カーネルバッファ、ページキャッシュ、およびスラブで満たされた結合メモリ
  • 利用可能:スワップを開始せずに使用できる推定空きメモリ

2.1. 人間が読めるオプション

無料のコマンドは、デフォルトですべての値をKBで表示します。これは読みにくい場合がありますが、 -h オプションを使用して、数値をさらに表示することができます。読み取り可能な形式:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        6.2G         23G        541M        1.9G         24G
Swap:          1.5G          0B        1.5G

2.2. メガバイトで表されるメモリ:

メガバイトで表された値を表示するには、-mオプションを使用できます。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          32111        6200       23000         541        1900       24000
Swap:          1500           0        1500

2.3. ギガバイトで表されるメモリ:

同様に、 -g オプションを使用して、ギガバイトで表された値を表示することもできます。

$ free -g
              total        used        free      shared  buff/cache   available
Mem:             31           6          23           0           1          24
Swap:             1           0           1

2.4. 1000フォーマットのパワー

デフォルトでは、値は1024の累乗で表されますが、から に1000の累乗で表される値を表示する場合は、 –si オプション:

$ free -h --si
              total        used        free      shared  buff/cache   available
Mem:            32G         6.3G         22G        553M        1.8G         25G
Swap:          1.5G           0B        1.5G

2.5. メモリの総量

RAMの量と、使用済み/空きメモリの組み合わせを知りたい場合は、 -tオプションを使用できます:

$ free -h -t 
              total        used        free      shared  buff/cache   available
Mem:            31G         13G        9.8G        1.1G        8.3G         16G
Swap:          1.5G          0B          0B
Total:        32.5G         13G       11.3G

3. リアルタイム表示

無料からメモリ使用量をリアルタイムで表示することもできます。

-s オプションに続いて、各表示の間に必要な秒数を使用してみましょう。

$ free -h -s 2
              total        used        free      shared  buff/cache   available
Mem:            31G        6.2G         23G        541M        1.9G         24G
Swap:          1.5G          0B        1.5G

              total        used        free      shared  buff/cache   available
Mem:            31G        6.2G         23G        541M        1.9G         24G
Swap:          1.5G          0B        1.5G

              total        used        free      shared  buff/cache   available
Mem:            31G        6.2G         23G        541M        1.9G         24G
Swap:          1.5G          0B        1.5G

この例では、2秒ごとに統計を取得します。

4. メモリ使用量のログ

場合によっては、長時間のメモリ使用量をログに記録する必要があります。 この場合、小さなBashスクリプトが役立ちます。

freeコマンドとdateコマンドを一緒に実行して、結果をログファイルにリダイレクトできます。

while true; do date >> memory.log; free >> memory.log; sleep 1; done

この1行のスクリプトは、1秒ごとに日付とメモリ使用量をログファイルに書き込みます。 もちろん、 sleep の後の数値を微調整して、ログの頻度を変更することもできます。

5. 結論

このクイックチュートリアルでは、freeコマンドを使用してシステムメモリ使用量を表示およびログに記録する方法を学習しました。 これにより、メモリの問題が発生するのを防ぐことはできませんが、問題が発生した場合は診断に役立ちます。