Linux環境でディスク使用量の状況を知ることは、システム管理者やユーザーにとって非常に重要です。不足しているとパフォーマンスに影響を与えるだけでなく、重要なタスクが失敗する可能性もあります。この記事では、Linuxにおいてディスク使用量をグラフで表示する方法について解説します。具体的なコード例、その詳細解説、および応用例を5つ以上紹介します。
目次
基本的な手法:dfコマンド
Linuxにはディスク使用量を確認する`df`コマンドがあります。このコマンドはテキスト形式で出力を提供するため、そのままでは一般のユーザーにはわかりにくいかもしれません。
df -h # ディスク使用量を人間が読みやすい形式で表示
gnuplotを用いたグラフ表示
`df`コマンドの出力を`gnuplot`というツールを用いてグラフで表示することも可能です。以下は一例です。
df -h | awk 'NR > 1 {print $5, $6}' | gnuplot -e "set terminal png; set output 'disk_usage.png'; plot '-' using 1:2 with boxes"
Pythonを使用した方法
Pythonには`psutil`というライブラリがあり、このライブラリを使用することでディスク使用量を取得し、さらにグラフで表示することができます。
psutilのインストール
pip install psutil # psutilをインストール
ディスク使用量のグラフ表示
import psutil
import matplotlib.pyplot as plt
# ディスク使用量を取得
disk_usage = psutil.disk_usage('/')
# グラフ表示
labels = ['Free', 'Used']
sizes = [disk_usage.free, disk_usage.used]
plt.pie(sizes, labels=labels)
plt.show()
応用例
1. 定期的な監視と通知
while true; do
usage=$(df -h / | awk 'NR==2 {print $5}')
if [[ "$usage" > "90%" ]]; then
echo "Disk usage is over 90%!" | mail -s "Warning" admin@example.com
fi
sleep 60
done
2. 複数マシンでの監視
for host in host1 host2 host3; do
ssh $host 'df -h /'
done
3. ディスク使用量の履歴を保存
df -h > disk_usage_history.txt
4. ログファイルの自動削除
find /var/log -name "*.log" -mtime +30 -exec rm {} \;
5. 他のリソースと併用した監視
#!/bin/bash
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
disk_usage=$(df -h / | awk 'NR==2 {print $5}')
if [[ "$cpu_usage" > "90.0" || "$disk_usage" > "90%" ]]; then
echo "High resource usage detected." | mail -s "Warning" admin@example.com
fi
まとめ
Linux環境でのディスク使用量のグラフ表示は、システムの健全性を維持するために重要なタスクです。`df`コマンドを基本として、さまざまな応用例やPythonを使用した方法についても解説しました。これを機に、Linuxシステムの健全性をしっかりと監視しましょう。
コメント