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
コマンドを活用してみてください!
コメント