あちあち情報局

趣味や日曜プログラムなどを書いています

ユーザ用ツール

サイト用ツール


サイドバー

メニュー

現在リニューアル中

タグ一覧

linux_free

以前のリビジョンの文書です


ここは旧トップページ雑記

Linuxで空きメモリの調べ方

Linuxでメモリの状況を調べるにはfreeコマンドを使います。


freeコマンド

ターミナルを起動して「free」と入力するとメモリ状況が表示されます。

メモリ量が多い場合は「-m」オプションで「MiB(MB)」単位での表示もできます。

メモリの内訳

freeコマンド読み方を知るには、まずメモリについて理解する必要があるので下記のメモリ構造の概略図をご覧ください。

メモリは大きく分けると「物理メモリ」と「仮想メモリ」に分けられます。

  • 「物理メモリ」・・・CPUと直結している半導体メモリで、高速に動作しますが価格が高くCPUやハードウェアの仕様により搭載容量に制限があります。
  • 「仮想メモリ」・・・物理メモリが不足した時に使用される領域です。メモリと言っていますが物理メモリに収まりきらない情報をHDDに書き出したファイルの事でスワップファイルやページファイルなどと言われます。物理メモリと比べ低速です。

物理メモリは5種類に分けられます(バッファとキャッシュは厳密には違いますがfreeコマンドに合わせて同じ物として説明します)。

  • 使用中・・・システムが現在使用中の情報が保持されています。主にプログラムの実行ファイルで使用されます。
  • 共有メモリ(shared)・・・複数のプログラム間でデータ交換できるメモリです。
  • バッファ(buff/cache)・・・低速な転送速度によるユーザビリティー低下を避けるためのメモリ空間です。利用頻度の多いデータを置き高速に読み出したり、ストリーミング動画を再生する時などに通信速度の変動で動画が停止するのを防ぐため一定量データを保持します。
    • バッファ使用中・・・これから使用する情報と現在使用中の情報が保持されています。
    • バッファ解放可・・・バッファ使用後でこれから使用予定の無い情報が保持されています。
  • 空き(free)・・・使用されてない、または解放され再使用可能になった領域。

仮想メモリは2種類に分けられます

  • スワップ使用中(used)・・・物理メモリの空き領域が少なくなると物理メモリ中の優先度の低い情報が移動されます。
  • スワップ空き(free)・・・あらかじめスワップ用に確保した領域の中で使用中を除いた容量です。

freeコマンドの読み方

  • Mem・・・物理メモリ
    • total・・・物理メモリの全容量です。used+free+buffと同じです。
    • used・・・・使用中のメモリ、sharedも含む
    • free・・・まったく使用されてないメモリ
    • shared・・・共有メモリとして使用中のメモリ、usedの一部
    • buff/cache・・・バッファやキャッシュとして使用中または使用後のメモリ
    • available・・・バッファの中で現在使っていないメモリとfreeを合計したメモリ
  • Swap・・・仮想メモリ
    • total・・・仮想メモリの全容量です
    • used・・・使用中の仮想メモリ
    • free・・・まったく使用されてない仮想メモリ

重要なのは、日常作業でSwapを使わないようにする事です。Swapはメモリと比べもにならないほど低速なのでPCの動作が非常に重くて使いづらくなります。そうならないためには負荷を掛けた状態でMem:freeに余裕があるようにメモリ増設する事が一番快適に動作します。しかしハードウェアの仕様や予算的に厳しい場合はavailableに余裕があればある程度快適に動作します。

注意:積極的にメモリを使う動画編集・複雑な計算(仮想通貨のマイニング)・3D編集などの場合はどれだけ物理メモリを搭載しても不足するので、予算的にメモリ増設に限界を感じたらしたらSwap先を低速なHDDから高速なSSDなどに変更すると少し快適に動作するようになります。


ここは旧トップページ雑記

linux_free.1546135258.txt.gz · 最終更新: 2018/12/30 11:00 by 管理者