inode 単一化処理プログラムの更新2006年10月24日 11時34分13秒

内容が同じファイルの inode を同じものに変えるプログラムを更新した。変更自体は少々前に行なったのだが、なかなか時間が取れず遅くなってしまった。自分の欲しかった機能はほぼ実装が終わった。もう少し、修正したい部分も残っている。テストはしているが、誤動作の責任は保証しない。自己責任で試して頂きたい。

Cntl-C を押すと、動作が途中で止まるようにした。また、タイムスタンプをプログラム実行前に戻す機能も動作を確かめた。タイムスタンプの復元を有効にして、Cntl-C を押すと、作業を止めて、タイムスタンプを元に戻した後に終了する。そのため、大量のファイルを扱っていると、終了までに時間が掛かる事になる。kill -KILL なら、その作業無しで強制終了される。

数百 GB 単位のディスクを扱っているとき様の最適化を実験してみたが、全然変わらなかったので諦めた。大量のファイルを扱うと、メモリがたくさん必要になる。

/usr/ports を tar | tar で復元するのと dump | restore で復元するのを比べると、手元の機械では 2 倍以上の差がでる。tar だとディレクトリに沿って処理するので、キャッシュが効くのだが dump だと i-node 順になるらしく、それが足枷になっている。

このプログラムも i-node を元にファイルにアクセスするので、処理速度は遅い。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/10/24/572985/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。