本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ファイルがどの程度断片化しているかを調べる「filefrag」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回はファイルがどの程度、断片化しているかを調べる「filefrag」コマンドです。
「filefrag」は、ファイルがどの程度、断片化(フラグメンテーション)しているのかを調べるコマンドです。
サイズが大きなファイルや何度も変更を加えたファイルは、記憶メディア上の連続した領域に格納されていないことがあります。複数の連続していないブロックに保存された状態をファイルの「断片化」と呼びます。多数のファイルが断片化していると、一般にアクセス時間が長くなります。
なお、filefragにはファイルの断片化を解消する「デフラグ」機能は備わっていません。
filefrag [オプション] ファイル名……
※[ ]は省略可能な引数を示しています。
短いオプション | 意味 |
---|---|
-b サイズ | ブロックサイズを指定する(デフォルトは1024バイト) |
-k | ブロックサイズを1024バイトにする(「-b 1024」相当) |
-s | ファイルを同期してから表示する |
-e | 常に拡張フォーマットで表示する |
-v | 詳細情報を表示する(「-e」相当の表示になる) |
-x | 拡張属性のマッピング情報を表示する |
-X | ブロック番号を16進数で表示する |
「filefrag ファイル名」で指定したファイルの断片化の様子を表示します(画面1)。「-v」オプションを使うと詳細情報を表示できます。なお、ファイルは複数指定できます。調べたいファイルに対し読み込みの権限があれば、一般ユーザーの権限で実行できます。
filefrag ファイル名
(指定したファイルの断片化情報を表示する)
filefrag logfile.bin
(logfile.binの断片化情報を表示する)(画面1)
filefrag -v logfile.bin
(logfile.binの断片化情報について詳細情報を表示する)(画面1)
filefragコマンドはext4やxfsなど、さまざまなファイルシステム(※1)で利用できます。ファイルシステムの種類によっては、filefragと似た機能を備えたコマンドが別に用意されています。
※1 ファイルの管理方式や管理方式にのっとってフォーマットした記憶領域のことを「ファイルシステム」という。ext2、ext3、ext4、XFSなどの種類がある。
ext4ファイルシステムでファイルの断片化を調べるには、「e4defrag」コマンドを利用できます(連載第197回)。e4defragコマンドの場合、「-c」オプションを指定すると、断片化の状況を表示し、「-c」オプションを指定しないと、断片化の解消(デフラグ)を実行します。e4defragコマンドの実行には常にroot権限が必要です(第68回)。
画面2では、「filefrag」コマンドで断片化の状況を確認した後に、「e4defrag -c」で断片化の状況を確認し、続いて「e4defrag」でデフラグを実施しました(※2)。最後に再度「filefrag」コマンドでファイルの状況を表示しています。
※2 画面2は、Ubuntu 14.04 LTSで実行した結果を用いた。
XFSファイルシステムの場合、ファイルの断片化の調査は「xfs_bmap」コマンド、デフラグは「xfs_fsr」コマンド(第198回)で実行できます。
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.