本記事では、Linux上で実際の物理メモリの情報とSWAPメモリの情報を確認するコマンドについて紹介します。
本記事の読者層は以下の方を想定しています。
メモリの使用状態を確認する方法
メモリは、コンピューターが必要な情報を一時的に記憶しておく場所です。Linuxではメモリの記憶構造は、「MEM」と「SWAP」という2つのブロック領域に分かれています。
①Mem:実際の物理メモリの情報
②Swap:ストレージ上に取られたメモリとして使用する領域
②のswapは実際のハード内メモリではありません。swapは物理メモリの情報が足りないときに利用されるメモリ領域として使われます。
実際にubuntu Linux上でどのように見えるか確認してみましょう。
Linuxには、このメモリの空き容量を確認する「free」というコマンドがあります。この「Free」コマンドを使ってこの2つのメモリ使用量を調べることができます。
/usr/bin/free
ターミナルからfree -hにて以下のように確認
free -h
total used free shared buff/cache available
Mem: 5.8G 1.0G 153M 14M 4.6G 4.5G
Swap: 6.0G 27M 6.0G
ここで「Mem:」と「Swap:」という表示がでていますが、その右側に数字と記号が表示されています。ここで英記号は、単位のことで、バイトで表示されています。主な記号の意味を以下で示します。
- 読みやすい単位で表示 -h
- ギガバイト単位で表示 -g
- メガバイト単位で表示 -m
- キロバイト単位で表示 -k
- バイト単位で表示 -b
次に表示されている意味について確認していきます。
以下、表示されるオプションです。見方は以下の通り。
- total 「全体のメモリサイズ」
- used 「メモリ使用量」
- free 「メモリの空き容量」
- shared 「共有メモリ」
- buffers/cached 「バッファキャシュとページキャシュ」
- available 「利用できるメモリ容量」
ここで、SWAPの容量は6G,MEMの容量も6Gほどで、このサーバー機では合計12GB利用できるようになっています。
Buffers/cashed
Linuxでは、物理メモリにおいて、使用メモリ(used + shared memory)を割り振った残りをバッファー(Buffers)とキャシュ(cashed)として割り当てるkとおでディスク出力の入力負荷を減らしています。
この2つの違いは、「バッファー」はデータの一時的な蓄積や中継を目的として、「キャッシュ」は高速なデータアクセスを提供するために使われています。つまり、バッファーは頻繁にアクセスされますが、キャシュは良くアクセスされるデータや命令を保持するために使用されますが、比較的更新頻度が低いです。
バッファーは通常、数キロバイトからスウメがバイト程度の領域から、時には数十メガバイト以上の大きな領域を使用します。キャッシュについても同様です。
メモリの使用率
次にこの結果から、数字を押さえて行きましょう。
メモリ使用率 = ( ( Total – avialable ) / Total * 100 )
今回の例では、Total=5.8GB, Free=4.5GBであるため、メモリの使用率は、22%となります。
Free = ( Total – Used -( Buff/ Cache ))
今回の例では、Free=0.2GB=200MBであることから、表示の153MBとほぼ一致しますね。
その他のコマンド
freeコマンドの他に、top, ps, vmstat、X環境下ではxosviewやProcMeterなどで調べる方法があります。
本記事ではメモリの状態を確認する方法について学びました。
Linuxにメモリの空き容量を確認する「free」というコマンドが必要。
このコマンドにより、「実際の物理メモリの情報」と「ストレージ上に取られたメモリとして使用する領域」におけるサイズを確認することができます。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。
コメント