freeコマンド:Linuxのメモリ使用状況を簡単に確認できる便利コマンド

Linuxを使用していると、システムのメモリ使用状況を確認したい場面に出くわすことがよくあります。たとえば、「システムが重いけれど、メモリが不足しているのだろうか?」と思ったり、「このプログラムはメモリを効率的に利用しているのだろうか?」と疑問に感じたりすることがあるでしょう。

そんなときに役立つのが、Linuxの基本コマンドであるfreeです。本記事では、freeコマンドの基本的な使い方から主要なオプション、さらには実践的な応用方法までを詳しく解説します。初心者から中級者まで、この記事を読めばfreeコマンドを自在に使いこなせるようになるはずです!


freeコマンドとは?

freeコマンドは、Linuxシステム上で現在のメモリ使用状況を簡単に確認するためのコマンドです。このコマンドを使用すると、物理メモリ(RAM)、スワップ領域、およびバッファやキャッシュの使用状況をリアルタイムで把握できます。

メモリの監視は、システムパフォーマンスを最適化するために非常に重要です。特に、サーバーの運用やリソースが限られた環境での作業では欠かせないスキルとなります。freeコマンドを活用すれば、メモリ関連のトラブルを迅速に特定し、適切な対応を行うことが可能になります。


freeコマンドの基本的な使い方

まずは、freeコマンドの基本的な使い方を見てみましょう。シンプルに以下のコマンドを入力するだけです。

free

このコマンドを実行すると、以下のような出力が表示されます。

               total        used        free      shared  buff/cache   available
Mem:        16364832     8432128     5123456      102400     2790248     7184560
Swap:        2097148       10240     2086908

出力の各項目の意味

  • total: システム全体のメモリ容量(RAMまたはスワップ領域)
  • used: 現在使用中のメモリ容量
  • free: 未使用のメモリ容量
  • shared: 他のプロセスと共有されているメモリ容量
  • buff/cache: バッファやキャッシュとして使用されているメモリ容量
  • available: 実際にアプリケーションが使用可能なメモリ容量(実質的な空き容量)

この情報をもとに、システムのメモリ使用状況を素早く把握できます。


freeコマンドの主要なオプション

freeコマンドには、用途に応じて便利なオプションがいくつか用意されています。ここでは、特によく使われるオプションを詳しく解説します。

1. -hオプション:読みやすい形式で表示

freeコマンドの出力を人間が読みやすい形式(単位付き)で表示するためのオプションです。これにより、メモリ容量がバイト数ではなく、GBやMBの単位で表示されます。

free -h

出力例:

               total        used        free      shared  buff/cache   available
Mem:            15G          8G          5G        100M        2.7G          7G
Swap:          2.0G         10M        1.9G

「15G」や「2.0G」のようにメモリの単位が付くため、直感的に把握しやすくなります。


2. -mオプション:メモリ量をMB単位で表示

メモリ容量をMB(メガバイト)単位で表示するオプションです。特に、GB単位では細かすぎる場合や、より正確な数値が必要な場合に便利です。

free -m

出力例:

               total        used        free      shared  buff/cache   available
Mem:          16000        8000        5000         100        2700        7000
Swap:          2000          10        1990

3. -gオプション:メモリ量をGB単位で表示

メモリ容量をGB(ギガバイト)単位で表示するオプションです。大容量のサーバー環境や、簡単にメモリの全体像を把握したい場合に適しています。

free -g

出力例:

               total        used        free      shared  buff/cache   available
Mem:             15           8           5           0           2           7
Swap:             2           0           1

4. -tオプション:合計のメモリ量を表示

RAMとスワップ領域を合計したメモリ容量を表示するオプションです。このオプションを使用すれば、メモリ全体の使用状況をひと目で確認できます。

free -t

出力例:

               total        used        free      shared  buff/cache   available
Mem:        16364832     8432128     5123456      102400     2790248     7184560
Swap:        2097148       10240     2086908
Total:      18461980     8442368     7210364

5. -sオプション:定期的にメモリ情報を表示

指定した間隔でメモリ情報を更新表示するオプションです。たとえば、2秒ごとにメモリ状況を確認したい場合には以下のように入力します。

free -s 2

出力例(2秒ごとに更新):

               total        used        free      shared  buff/cache   available
Mem:        16364832     8432128     5123456      102400     2790248     7184560
Swap:        2097148       10240     2086908

freeコマンドの応用

freeコマンドは基本的な使い方に加え、他のコマンドやツールと組み合わせることでさらに便利に活用できます。

1. メモリ使用状況をログとして記録

システムのメモリ使用状況を定期的に記録したい場合は、cronジョブやスクリプトと組み合わせて使用します。

以下は5分ごとにメモリ状況を記録するスクリプトの例です。

#!/bin/bash
while true; do
    free -h >> /var/log/memory.log
    sleep 300
done

このスクリプトを実行すると、メモリ情報が/var/log/memory.logに保存されます。定期的な監視や後日の調査に活用できます。


2. メモリ不足のトラブルシューティング

システムの動作が遅い場合、freeコマンドを使ってメモリ不足の原因を特定できます。

以下のスクリプトでは、メモリ使用率が一定以上になった場合に警告を表示します。

#!/bin/bash
THRESHOLD=80
used=$(free | awk '/Mem:/ {printf("%.0f", $3/$2 * 100)}')
if [ "$used" -gt "$THRESHOLD" ]; then
    echo "Warning: Memory usage is above ${THRESHOLD}%!"
fi

このスクリプトを定期的に実行することで、リソースの逼迫を事前に検知できます。


まとめ

freeコマンドは、Linuxシステムのメモリ使用状況を簡単に確認できる便利なツールです。メモリの監視は、システム管理やトラブルシューティングにおいて欠かせないスキルです。本記事で紹介した基本的な使い方や主要なオプション、応用例を活用して、freeコマンドを効果的に使いこなしましょう。

最後に、Linuxのコマンドラインに慣れるためには、実際に試してみることが重要です。次回、システムが重く感じたときには、ぜひfreeコマンドを活用してみてください!

コメント

タイトルとURLをコピーしました