
Ubuntu日本語フォーラム

ログインしていません。
Windowsで言う「デフラグ」。ファイルを追加したり、削除したりするから、間を詰める為にしますが、Ubuntuの場合、必要ないのでしょうか?
ご回答願います。
Ubuntuを含むlinuxは、Windowsとファイル管理システムが違うため、基本的には必要ないそうです。
参照:デフラグはできますか?
ただし、HTFSやFATにインストールしている場合には必要となるかもしれません。
オフライン
必要ありません。
ファイルの置き方自体が違うので、基本的には「詰める必要がありません」。
ただ、その構造的な理由によって、空き領域が極端に減った場合、断片化するような位置にファイルが格納されるようになることはあります。
上記のような状況ですので、基本的にメンテナンスされているデフラグツール自体が存在しません。
そもそも断片化によるパフォーマンス低下は、ディスクキャッシュや、HDDのキャッシュ、その他の仕組みによりある程度隠蔽される上、元のパフォーマンスも高く、よほどひどい状態にならなければ、気にするほど激しいパフォーマンスの低下はありません。
Windowsであっても、その設計に逆らうような使い方をしなければ、極端なパフォーマンスの低下はありませんし、昨今のデフラグツールは、その古いイメージとは違う挙動をし、パフォーマンスを引き出すような配置を行っています。
オフライン
ああ、すれ違いで投稿があったようだ…。
ext4の場合は、オンラインでフラグがファイルシステムに含まれていたような記憶もあります。
また、wubiなど、直接パーティションにインストールしていない場合、その親ファイルシステムの影響を受けますので、それは間借りしているファイルシステムを使っているOSの方で、何とかしてください。
オフライン
同時書き込みが多発するような使い方をするとパフォーマンスが低下するらしいですが、
デスクトップ用途なら必要無いのではないでしょうか。
Crush による投稿:
ext4の場合は、オンラインでフラグがファイルシステムに含まれていたような記憶もあります。
オンラインデフラグはまだ、
パッチはありますが、十分にはテストされていません
って状態だったと思うのですが。
オフライン
ここによると、Linuxでデフラグが必要ないというのは神話のようです。
http://kawaji.wordpress.com/2010/04/10/ureadahead-faq/
Linuxで一般的な、ext3やext4は、ファイル一つ一つの断片化はなるべく避けるように設計されていますが、一つのプロセスにおいて、連続して複数のファイルを読み込む場合は、どうしてもシーク時間がかかってしまいます。
例えば、ubuntuの起動に必要なプログラム・ファイル群をデフラグで一つのまとまりにすることで、起動時のHDDシーク時間を短縮できると思います。(方法は分かりませんが…)
オフライン
現在のUbuntuの既定として採用されているext4ファイルシステムでは、
aaabbbcccdddeeefffggghhh さんの仰るように実験的なものが難しい手順を踏めば一応存在するという状況のため
「OSは出来るだけ遅くならないようにはしているがデフラグは出来ない」と思って良いと思います。
今後、「きわめて楽観的に進んで」半年、「たぶん」2年か3年後
# http://gihyo.jp/admin/clip/01/ubuntu-topics/201005/21
# http://www.phoronix.com/scan.php?page=news_item&px=ODI0NA
に、btrfsファイルシステムが(比較的容易に)使えるようになった後は、最小で1ファイル単位からデフラグ出来るようになるはずです。
オフライン
オフトピですが・・・
vbk による投稿:
例えば、ubuntuの起動に必要なプログラム・ファイル群をデフラグで一つのまとまりにすることで、起動時のHDDシーク時間を短縮できると思います。(方法は分かりませんが…)
ureadaheadの作者の方は将来的にそこまでやりたいと考えておられるようです。
例えばLoopデバイスを作ってその中に読み込まれるファイルの順にファイルを格納しておいて、起動時にはLoopデバイスから読み込むというのもひとつの手じゃないかなと思って見たりもしますが・・・
あさはかかな。
オフライン