📝Linuxで空きメモリの調べ方
Linuxでメモリの状況を調べる「free」コマンドの使い方と読み方。
freeコマンド
ターミナルを起動して「free」と入力するとメモリ状況が表示されます。
メモリ量が多い場合は「-m」オプションで「MiB(MB)」単位での表示もできます。
メモリの内訳
freeコマンド読み方を知るには、まずメモリについて理解する必要があるので下記のメモリ構造の概略図をご覧ください。
メモリは大きく分けると「物理メモリ」と「仮想メモリ」に分けられます。
物理メモリは5種類に分けられます(バッファとキャッシュは厳密には違いますがfreeコマンドに合わせて同じ物として説明します)。
使用中・・・システムが現在使用中の情報が保持されています。主にプログラムの実行ファイルで使用されます。
共有メモリ(shared)・・・複数のプログラム間でデータ交換できるメモリです。
バッファ(buff/cache)・・・低速な転送速度によるユーザビリティー低下を避けるためのメモリ空間です。利用頻度の多いデータを置き高速に読み出したり、ストリーミング動画を再生する時などに通信速度の変動で動画が停止するのを防ぐため一定量データを保持します。
空き(free)・・・使用されてない、または解放され再使用可能になった領域。
仮想メモリは2種類に分けられます
freeコマンドの読み方
Mem・・・物理メモリ
total・・・物理メモリの全容量です。used+free+buffと同じです。
used・・・・使用中のメモリ、sharedも含む
free・・・まったく使用されてないメモリ
shared・・・共有メモリとして使用中のメモリ、usedの一部
buff/cache・・・バッファやキャッシュとして使用中または使用後のメモリ
available・・・バッファの中で現在使っていないメモリとfreeを合計したメモリ
Swap・・・仮想メモリ
total・・・仮想メモリの全容量です
used・・・使用中の仮想メモリ
free・・・まったく使用されてない仮想メモリ
最後に
Linuxを快適に動作されるには日常作業でSwapを使わないようにする事です。Swapはメモリと比べもにならないほど低速なのでPCの動作が非常に重くなります。Freeが多いのが一番良い状態ですが、availableに余裕があればある程度快適に動作します。
メモリ不足への対策で一番手軽なのは余分なアプリは起動しない事とSwapが発生して遅いと感じたら再起動する事です。OSはメモリに余裕がある場合はSwapを使いませんが一時的にでも不足するとOSはメモリ不足と認識して積極的にSwapを使いはじめるので一度再起動してメモリをクリアにすると快適に動作します。それでも頻繁にSwapが発生する場合はメモリを追加するしかありません。
また、積極的にメモリを使う動画編集・3D編集・複雑な計算処理などの場合はどれだけ物理メモリを搭載しても不足するので、予算的・ハードウェア的にメモリ増設の限界に近づいたらSwap先のストレージをより高速なSSDなどに変更すると少しは快適に動作するようになります。