過去問ドリル

LinuCレベル2 システムの保守と運用管理 問26

システムの保守と運用管理/リソース使用状況の把握

dfで見たファイルシステムの使用量が、duで合計した量よりかなり大きい。削除済みだがプロセスが開いたままになっているファイルを探すのに適したコマンドはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの保守と運用管理」に対応。実際の試験問題ではありません)

正解:C

解説

lsofはプロセスが開いているファイル(ソケットなども含む)を一覧するコマンドで、+L1を付けるとリンク数が1未満、つまりディレクトリからは削除済みだがまだプロセスが開いているファイルだけを表示します。こうしたファイルはduでは数えられませんが、プロセスが閉じるまでディスク領域が解放されないため、dfの使用量には含まれたままになります。見つかった場合は、そのプロセスを再起動するなどしてファイルを閉じさせると領域が解放されます。

選択肢ごとの解説

  • A誤り。iotop -oは、実際にディスクI/Oを行っているプロセスやスレッドだけを表示するものです。開いているファイルは分かりません。
  • B誤り。free -hはメモリとスワップの使用量を読みやすい単位で表示するものです。
  • C正しい。lsof +L1で、削除済みでもプロセスが開いたままのファイルを一覧できます。
  • D誤り。vmstat -dはディスクごとの読み書きの統計を表示するもので、ファイル単位の情報は得られません。
LinuCレベル2の問題を演習モードで解く