mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux Mint - Ext4 ファイルシステムをデフラグ!

[ サーバ構築 ] [ Linux, LinuxMint ]

こんばんは。

一般的に Linux ではシステムの性質上デフラグの作業は必要ないと思われています。

フラグメンテーションが発生しにくいからそう思われているだけで、実際は長い期間使用していればフラグメンテーションは発生します。

そこで、今回は Ext4 ファイルシステム向けのデフラグ用コマンド e4defrag についてのメモを残しておきます。

作業メモ

0. 前提条件

  • Linux Mint 13 Maya (64bit) での作業を想定。
  • Ubuntu 等でも同様。
  • デフラグ対象のファイルシステムが Ext4 であること。

1. 使い方

e4defrag コマンドだけを実行すれば、使用方法が表示される。

1
2
3
$ e4defrag
Usage : e4defrag [-v] file...| directory...| device...
  : e4defrag  -c  file...| directory...| device...

ファイル、ディレクトリ、デバイスを指定できる。 LVM は非対応ではないでしょうか?(未確認)

2. チェック

以下のようにして、デフラグの必要性の有無をチェックする。 (以下は、"/usr" ディレクトリをチェック)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ sudo e4defrag -c /usr
<Fragmented files>                             now/best       size/ext
1. /usr/local/texlive/2012/texmf-dist/fonts/vf/public/japanese-otf/utfkgr0-h.vf
                                                 4/1             29 KB
2. /usr/local/texlive/2012/texmf-dist/fonts/vf/public/japanese-otf/brsgnmlgotheb-v.vf
                                                 4/1             35 KB
3. /usr/local/texlive/2012/texmf-dist/fonts/vf/public/japanese-otf/cidtmr1-h.vf
                                                 3/1             37 KB
4. /usr/local/texlive/2012/texmf-dist/fonts/vf/public/japanese-otf/utftmr9-v.vf
                                                 3/1             40 KB
5. /usr/local/texlive/2012/texmf-dist/fonts/vf/public/japanese-otf/utfcmr5-h.vf
                                                 3/1             40 KB

 Total/best extents               295195/295068
 Average size per extent          29 KB
 Fragmentation score              0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This directory (/usr) does not need defragmentation.
 Done.

詳細情報も出力したいなら -v オプションも付与する。

実行した結果、 Fragmentation score が

  • 0 - 30 なら、問題無し。
  • 31 - 55 なら、わずかに断片化している。
  • 56 - なら、デフラグが必要。

ということである。

3. デフラグ

実際にデフラグを行うなら、-c オプションを指定せずに実行する。

1
2
3
4
5
6
7
8
$ sudo e4defrag /usr
         :
====< 途中省略 >====
         :
[377371/377372]/usr/sbin/grpconv: 100%    [ OK ]

  Success:            [ 294990/377372 ]
  Failure:            [ 82382/377372 ]

詳細情報も出力したいなら -v オプションも付与する。 “Failure” に数字が出ているが、元々移動できないブロック等ではないか?


今回使用した OS はインストール後1ヶ月ほどでしたので、フラグメンテーションはほとんど発生していませんでした。

将来いつか効果を発揮する日が来るでしょう。

以上。

Comments