人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ローカル環境でperlを動かし、毎日少しずつネット上から情報を取得し保存しているのですが、HDD中の断片化率が酷いような気がします。
そこで、なるべく断片化させること無くHDDへ情報を保存させる方法は無いものでしょうか?
宜しくお願い致します。

●質問者: TREEG
●カテゴリ:コンピュータ インターネット
✍キーワード:HDD Perl いもの ネット ローカル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sirotugu40
●15ポイント

仮想ディスクを作ってそこに保存すれば断片化を防げます。

http://www.forest.impress.co.jp/docs/review/20091105_326376.html

◎質問者からの返答

回答いただきありがとうございます。

面白いアイディアですが、物理的には1つのファイルですが、

VirtualPCの様な仮想HDを作った場合、その仮想HDの中が断片化してしまいそうですがどうでしょうかね?

結局は、断片化によるHDDの速度低下や壊れやすさの低減には役に立たないような気がします。


2 ● decoy2004
●27ポイント

3つ方法をあげます。

A. あらかじめファイルを用意する

あらかじめ大きめのファイルを用意しておき、後から上書きすれば断片化を防げます。

B. ファイルの断片化を防ぐユーティリティを使う

相栄電器、ファイルの断片化を防止するデフラグソフト「Diskeeper 2010」 - http://www.asahi.com/digital/bcnnews/BCN200911190014.html

ファイルの断片化を最大85%、未然に防ぐ機能「IntelliWrite(インテリライト)」を搭載。

C. 頻繁に書き換えるドライブと保存するドライブを分ける。

ファイル断片化を未然に防ぐ - http://www6.airnet.ne.jp/~shiyou/cgi-bin/weblog/logwing.cgi?comm...

◎質問者からの返答

回答いただきありがとうございます。

Aについて、これは、Perlでも有効でしょうか?もし分かりましたらコードとともに教えていただけると助かります。

Bについては、ダウンタイムの発生はあまり好ましくありませんので難しいです。

Cについては、すでに、HDD1台丸ごと、データ保存用にしています。


3 ● decoy2004
●38ポイント ベストアンサー

Aについて

Perlで実現する場合は、fileをopenしてread/writeすることになります。

初回ファイル作成はHDDフォーマット直後 or HDDデフラグ直後にダミーデータを書きこんでおきます。

本物のデータを書く際は、断片化を防ぐためファイルサイズを増減させないよう書き換えます。

サンプルコード

ランダムアクセスを使って読み書きする - Perl入門?サンプルコードによるPerl入門? -

http://d.hatena.ne.jp/perlcodesample/20080810/1218332357

Bについて

元記事には「ファイルの断片化を最大85%、*未然*に防ぐ機能」「ほかの作業に影響を与えることなく

デフラグ処理を行う。 」とあるので、おそらくダウンタイムにはならないと自分は解釈しました。

元記事だけではこれ以上は分からないので、詳しく知りたい場合はこのソフトの販売元に問い合わせる

と良いと思います。

Cについて

データ保存用ドライブではファイルを追加だけにして削除/サイズ増減をしなければ、

理論上は断片化を防げると思います。

複数プロセスでデータ保存用ドライブへのファイル書き込みすると断片化が発生し

うるので、書き込みは1プロセスだけに限定した方がいいですね。

実装例:外部から受け取ったデータは一旦作業用ドライブに格納しておきデータ保存用ドライブ

への転記は1ファイルずつにする。

◎質問者からの返答

回答いただきありがとうございます。

A.ちょっと今回の私の用途ではそのまま使えない気もしますが、とても興味深いコードでした。

B.できれば、これ以上外部のソフトを入れたくないため、こちらについてはどうしても必要になった時、本格的に調べてみようと思います。

C.この方法はなかなか良いかもしれません。ただ、欲を言えば、今あるPerlコードを少しだけ書き換える程度できればと思っていましたので、なかなか興味深くはあるのですが残念なところですが、新しく作るプログラムについてはこの方法を採用するのもありですね!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ