Linuxでメモリ不足が発生したときのトラブルシューティングと解決策
Linuxシステムの空きメモリが不足した場合は、以下の手順に従ってデバッグとクリーンアップを行ってください。
- その文を日本語で言い換えると、
$ free -h
そのコマンドを実行すると、システムの総メモリ、使用済みメモリ、空きメモリなどの情報が表示されます。使用済みメモリや空きメモリの様子を見ることで、メモリ不足の原因を判断できます。
- もう一度試してください。
- htop
$ top
など
$ htop
プロセスが大量のメモリーを占有しているかどうか、メモリーを多く消費しているプロセスを調べることで確認できます。
- メモリを多く消費するプロセスを特定し、適切に対処します。
- ps aux –sort=-%mem コマンドを使ってプロセスリストをメモリ使用率降順にソート
$ ps aux --sort=-%mem
- メモリ消費が多いプロセスを検出し、処理の必要性を検討する。不要なプロセスをkillコマンドで強制終了することで、メモリリソースを解放できる。
- システムキャッシュを確認して消去する
- syncコマンドでファイルシステムにあるバッファキャッシュを書き出す
$ sync
- 「echo 3 > /proc/sys/vm/drop_caches」コマンドでページキャッシュ、ディレクトリ項目キャッシュ、インデックスノードキャッシュをフラッシュできます。このコマンドを実行するには、root権限が必要です。
$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
- システムの使用を最適化する:
- 不要なサービスやプロセスを無効
- システムの使用パラメータの調整、例えば Swappiness 値の調整など。
- 物理メモリを増設する。
この操作を行う際には注意し、システムの正常な動作に影響しないようにしてください。