WinnyからHDDを守るツールを作ろう Part2.3
>>899 構ってもらえないからってそんなに必死で荒らすなよ
はいはいまた作者作者
904 :
[名無し]さん(bin+cue).rar:2006/01/26(木) 18:23:45 ID:uZ275Xr/0
>>901 穿った言い方ではあるが一応ポータブルHDDもある。
ただ方向性として比べるならやはりUSBメモリあたりが妥当か。
でも今のUSBメモリは洗濯OK衝撃OKだったりするからこれまた微妙なところだ。
まあ、FDの利点は安いから使い捨てられるって事ぐらいだからな
フロッピー以上に信用ならんなこのツール
フロッピーの利点は
投げて飛ばして遊べる事
ソースは?
それは作者に言えw
>>906 PC9801全盛当時は3.5インチですらすごいと言われてたからな。
外付けHDDなんて100Mだったよw
需要の無いメディアは値上がりするから今フロッピー買おうとしたら結構高そうだなぁ。
>>909 その利点はCDメディアでも言えると思うw
フロッピーとCD、フリスビーのように投げたらどっちが遠くに飛ぶか
これってトリビアになると思うんですよね。よろしくお願いします。
今のバージョンの期限が切れるけど、
今週末にバージョンアップなかったら終わりだな。
期限だけ書き換えるから大丈夫
最近NY使ってないけどとりあえず保守。
1 名前: ◆aBeASKncAI [sage] 投稿日:2005/11/24(木) 00:32:23 ID:tDWZCklH0
WinnyのHDDアクセスはHDDに優しくないらしい
このスレはWinnyのHDDアクセスを、優しいものに変えるツールを作るテスターさんの連絡所です
http://www.geocities.jp/ny2scan/ http://www.geocities.jp/ny2scan_kaisestu/ 基本的な原理
・nyは64kB毎にファイルを分割して受送信するのでこれを同時に複数行うとHDDのヘッドが激しく右往左往する
・そこでファイルごとにRAM上に数MBのバッファを作ることでHDDへの読み込み/書き込み回数を減らす 例えば
2つのファイルの1MB分を読み出して送信する際、そのままではヘッドが離れた領域の間を32回動いて読み出しを
する事になるが このソフトを使えば2回1MBの読み出しをするだけで済む!
・ただし、先読みしたデータを必ず全て使うとは限らないので無駄に先読みしてそのぶんHDDに負荷をかける場合も有るかな…
ということでこのソフトを実用的に使えるまで開発協力をしてくれるテスターさんを募集してます
とりあえず正しい使い方であればOS・ハードが破損することはありません。ただし、場合によっては扱うファイルが壊れることはあります。
テスタをするのに必要なもの
・対象のアプリ:お好きなものをどうぞ ただし動かないかも(推奨はwinny2b7.1)
・本体:作者のサイトの(名称未定)→ExtraFileCacheTest。
・観察用ソフト:最初は作者のサイトのStatHddActivityのみでOK
やり方
最初はStatHddActivityの付属ドキュメントに書いてあるやり方で行ってこのスレに書き込んでください
慣れて来たら自分が思うHDDの負荷を示す数値(温度等)も一緒に測定するといいかも
お約束
・全ては自己責任。転んでも泣かない
・ソース厨は保守要員です。大切に無視しましょう
・作者に過度の期待・要望・要求・強要は止めましょう 「〜すれば使用者が増える」よりもあなたがテスタをするために必要なことを書いてください
・分からないことがあったらこのスレで聞いてしまいましょう
2 名前: ◆aBeASKncAI [sage] 投稿日:2005/11/24(木) 00:32:46 ID:tDWZCklH0
3 名前: ◆aBeASKncAI [sage] 投稿日:2005/11/24(木) 00:33:12 ID:tDWZCklH0
4 名前: ◆aBeASKncAI [sage] 投稿日:2005/11/24(木) 00:33:31 ID:tDWZCklH0
>◆aBeASKncAI
さっさと次バージョン上げろよ。やる気あんのか?
テスターに報告だけさせてまた辞めますでバックレか?
こっちは使ってやってんだからちゃんとしろよ。
義務なんざどこにも無いね
はいはいまた作者乙
>>921 役に立つかもわからないツール使ってやってんだから義務に決まってんだろ馬鹿
つまんねーレス打ってる暇あったらさっさと作れ
924 :
[名無し]さん(bin+cue).rar:2006/01/29(日) 05:56:54 ID:sezi8t+C0
☆ チンチン〃 Λ_Λ / ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < バージョンマダー?
\_/⊂ ⊂_ ) \____
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
OSのディスクキャッシュをバイパスするはONにしたほうがいいの?
しないほうがいいの?
使い方の分からない馬鹿は使わないでくださいって書いてあるだろ
キャッシュ変換が遅くなる件ですが、
こればかりに時間を使って、
他の作業が止まるのはどうかと思うので、
中途半端ですが、測定を打ち切って報告します。
結論から先に言うと、
条件によって遅くなる程度が違うが、
普通の使い方(モニタなし)では、
速度低下は少なく、対策は必要なさそう
ということです。
測定結果を以下に示します。
概ね、
>>751で書いた傾向です。
Winny上の速度表示ではなく、ファイルサイズを
変換に要した秒数で割って、変換速度を求めています。
それぞれの条件について2回ずつ測定しています。
同じ設定でも、かなりのフラつきがあるのだけれど、
測定に時間がかかる(1回に10分程度)ので、
平均を取れるほど測定できないので、
やむなく2回の値を速度順に並べて書いています。
テスト環境は以下です。
OS:Windows2000 SP4
HAL&カーネル:ACPIマルチプロセッサ
boot.iniオプション:/ONECPU
CPU:Pentium3 1GHz(FSB133MHz)
メモリ:2GB
Winnyのバージョン:β7.1
ツールのバージョン:0.21.3
変換するキャッシュのサイズ:700MB
※1回変換する度にリブートしています。
※変換したファイルは変換する度に削除しています。
※HDDは2台をWindowsのダイナミックディスクでスパンボリュームとしています。
※HDDには十分な空き領域があり、書き込みは ほとんど断片化しません。
+−−−−−−−−−ツールの有無
|+−−−−−−−−Winnyの状態 接=接続あり、切=接続なし
||+−−−−−−−DisableCache 0=×、1=○
|||+−−−−−−EnableMonitor 0=×、1=○
||||+−−−−−モニタの状態 終了=×、一時停止=△、刻々更新=○
|||||+−−−−DisableOsBufferAndCache 0=×、1=○
||||||
||||||
|||||| 変換速度 MB/秒 遅、速 備考
||||||
無接____ 3.23、3.66
有接×○○× 1.64、1.70
有接×○○○ 1.50、1.61
有接×○△× 3.15、3.38
有接×○△○ 3.21、3.27
有接×○×× 3.24、3.38
有接×○×○ 3.02、3.10
有接××_× 3.76、3.78
有接××_○ 3.10、3.11
有接××_× 3.76、3.76 キャッシュフォルダのみ対象
有接××_○ 3.63、3.74 キャッシュフォルダのみ対象
有接××_× 3.61、3.80 ダウンフォルダのみ対象
有接××_○ 3.30、3.76 ダウンフォルダのみ対象
有接○○○_ 1.82、1.88
有接○○△_ 3.02、3.55
有接○○×_ 3.55、3.72
+−−−−−−−−−ツールの有無
|+−−−−−−−−Winnyの状態 接=接続あり、切=接続なし
||+−−−−−−−DisableCache 0=×、1=○
|||+−−−−−−EnableMonitor 0=×、1=○
||||+−−−−−モニタの状態 終了=×、一時停止=△、刻々更新=○
|||||+−−−−DisableOsBufferAndCache 0=×、1=○
||||||
||||||
|||||| 変換速度 MB/秒 遅、速 備考
||||||
無切____ 1.61、3.11 CPU使用率は、1.61MB/秒のとき約30%、3.11MB/秒のとき約60%
有切××_× 1.92、1.92
有切××_○ 1.89、1.91
有切××_× 2.06、2.71 キャッシュフォルダのみ対象
有切××_○ 2.51、3.55 キャッシュフォルダのみ対象
有切××_× 1.85、1.90 ダウンフォルダのみ対象
有切××_○ 1.79、1.80 ダウンフォルダのみ対象
有切××_× 1.72、2.54 バッファ1MB
有切××_○ 1.31、1.77 バッファ1MB
有切××_× 1.73、2.08 バッファ10MB
有切××_○ 1.69、1.73 バッファ10MB
有切××_× 1.92、2.33 バッファ10MB、先読みサイズ0
有切××_○ 1.46、1.58 バッファ10MB、先読みサイズ0
+−−−−−−−−−ツールの有無
|+−−−−−−−−Winnyの状態 接=接続あり、切=接続なし
||+−−−−−−−DisableCache 0=×、1=○
|||+−−−−−−EnableMonitor 0=×、1=○
||||+−−−−−モニタの状態 終了=×、一時停止=△、刻々更新=○
|||||+−−−−DisableOsBufferAndCache 0=×、1=○
||||||
||||||
|||||| 変換速度 MB/秒 遅、速 備考
||||||
有切×○○× 0.89、0.90 バッファ50MB
有切×○△○ 1.92、1.95 バッファ50MB
有切×○○○ 0.85、0.88 バッファ50MB
有切×○○○ 0.82、1.57 バッファ50MB モニタのウィンドウを最小化
有切××_× 1.86、1.91 バッファ50MB
有切××_○ 1.95、1.97 バッファ50MB
有切○○○_ 0.85、1.53 バッファ50MB
有切○○△_ 1.72、3.04 バッファ50MB
有切○○×_ 2.57、3.11 バッファ50MB
モニタを表示していると変換が遅くなることについて
すでに書いたことの繰り返しになりますが、
必要なければEnableMonitor=0にしてモニタ表示をやめるか、
表示を見ていない時は、[一時停止]にチェックを入れて描画を止めてください。
(※ウィンドウを最小化するだけでは不十分です。)
モニタの表示が無駄に重いのは、
ひどく手抜きをして作ったからです。
動作状況を簡易的に見るためのもので、
最初に、動いていることを確認したら、
普段は使わないものと想定していたので、
現状では、手間をかけていません。
Winnyが接続状態ではない場合に遅くなることについて
このツールの使用に関係なく、もともとのWinnyの挙動のようです。
キャッシュ変換は、間欠的に処理されていて、
変換処理を開始してから約150msec経過したら一旦処理を中断して、
次の機会に続きを処理するようになっているようです。
この処理は、2回ずつ行われるようになっていて、
そのきっかけは、
・タイマー(1秒間隔に設定)による呼び出し
・C++Builderが提供するアイドル時の呼び出し(1秒間隔?)
のいずれかのようです。
片方だけならば、
150msecの処理が2回なので合計300msecで、CPU使用率30%
両方ならば、
150msecの処理が2回を2通りで合計600msecで、CPU使用率60%
となります。
これは、おおむね、測定中のCPU使用率の傾向と合致します。
Winnyが接続状態ではない場合は、タイマーが止まっているのだと思います。
そのため、接続状態かどうかで、キャッシュ変換速度が変ってくるのだと思います。
また、アイドル時の呼び出しのタイミングは安定したものではないので、
CPU使用率のグラフがひどくガタガタになったり、
測定結果のフラつきが大きくなるのだと思います。
蛇足の話ですが、
WinnyはWin32APIのGetTickCountを使って経過時間を測定しています。
GetTickCountをフックして、返り値を1/2や1/3にしてみたところ、キャッシュ変換の速度が速くなりました。
乙です
HDDのメーカーは?
なんか作者糞なのがはっきり解るなぁ
長文過ぎて読む気はしないが乙です
描画回数を数分の一にするだけでもずいぶん変わると思うが
>>734 >>740 >>745 >>799 それだけでは、原因がわかりません。
詳しく報告してください。
>>739 >>756 変換速度が遅くなると、なぜHDDにやさしくないのですか?
>>743 このツールは、
ファイルを大きなサイズでまとめて読み書きするので、
変換元のキャッシュが細かく断片化している場合や、
変換先のファイルを書き込む場所に連続した空き領域がない場合に、
短時間に多くのヘッドの移動が生じるので、
かえってアクセス音が大きくなってしまいます。
その挙動は、
DisableOsBufferAndCacheの設定によって違ってきますので、
0と1を試してみて、良好なほうを使ってください。
>>754 解説サイトを作ってくれた方がいますので、そちらを読んで見てください。
それでもわからなければ、このツールの完成度が上がるまで、待ってください。
>>766-767 すみません。
モニタは、かなり手抜きで作ったので、
データが届いた都度、コントロールの内容を書き換えています。
それがよろしくないことは、わかっていますので、いずれ改善します。
>>770 大半の部分が、とりあえず作ったレベルで、ベータ未満の品質です。
プラモデルでいえば、とりあえずパーツを仮組みしてみた、といったところです。
>>774 それもありますが、
HDD延命ツールではなく、
ファイルアクセスをバッファリングする用途不明のツールだとしても、
完成には、まだまだ遠い段階です。
>>783 ツールを使った場合と使わない場合で、どれくらい違うのか、
このスレや過去ログを参考に、報告してもらえませんか?
もしかしたら、えらく裏目に出ているかもしれませんので。
>>790 例えるとしたら、
2冊の本を読むときに、
1冊ずつ順番に読めば楽だが、
2冊を並べて1行ずつ交互に読むと酷く疲れる
といったところでしょうか。
>>792 HDDメーカーの出している資料などの裏づけありませんか?
どこかのHDDメーカーの人が雑誌か何かのインタビューで、
HDDの寿命を左右する要因をいくつか列挙していて、
その中の1つがシーク量だったという覚えがあるのですが、
読み書きが要因として挙げられていたか、覚えていないのです。
>>813 ファイルの破損について、少し調べてもらえませんか?
たとえば、
・破損する場合としない場合の傾向があるか
・どういう破損のしかたをしているか
など。
少しでも情報が多い方が、原因を突き止められる可能性が高まります。
漠然と探して直すのは困難なので、
より詳細な情報をもらえないと、調べる場所を絞り込めませんので。
また、ファイルの破損は、このツールのバグ以外にも、原因が考えられます。
ハードウェアの問題や、
ダウンロードの相手のノードが持っているキャッシュに問題がある場合など。
>>817 キャッシュからファイルに変換している時に、
Winnyが全体ハッシュ不整合などのエラーを検出するのですか?
それとも、Winnyは正常に変換を終了したと表示しているのに、
変換されたファイルが壊れているのですか?
また、そのとき、ディスクの残り容量がゼロになったりしていませんでしたか?
>>826 > 定期的にデフラグするなり、別のHDDにファイルコピーして断片化解消を月1回でも
> してればnyつかってても問題なくない?
詳細は過去ログを見てほしいのですが、
もし仮にファイルがまったく断片化していなくても、
Winnyは複数のファイルを交互にアクセスするので、
ヘッドが交互に移動することになります。
デフラグだけでは不十分なのです。
> HDDの断片化を押さえるということなんですがHDD自身にもキャッシュ機能がついていますよね
> ny使ってると断片化ファイルが増えるのですがこのソフトを使うことで断片化は減少するものなんでしょうか?
HDDについているキャッシュは、
OSのファイルシステムの断片化の発生自体には関係がありません。
ファイルの中身のデータの配置を決めているのはOSであって、HDDではないからです。
このツールを使うと設定にもよりますが、
ディスクに書き込むときの1つの断片の大きさが大きくなり、
また、1つのファイルが断片に分かれる数が減ります。
断片化がまったくなくなるわけではないことに注意してください。
たとえば、
1GBのファイルが500MBの2つの断片に分かれている
といった何ら問題がない状態であっても、
デフラグツールによっては、真っ赤に表示したり、
断片化しているファイルのリストに載せたりするかもしれません。
>>827 > しかし、最小書き込み量が増えることで
> 小さいファイルを落とすとき効率が悪くなる
これは違います。
>>859 すみません。
すべてのバグをすぐに直したいのはやまやまですが、
時間が限られていますので、
・プライオリティの低いバグ
・回避手段があるバグ
・近々作り直そうと思っているところにあるバグ
は、後回しになってしまいます。
また全体的に、とりあえずの実装になっています。
すぐ使える完成したツールになるまで、待ってください。
>>887 まずはメーカーの診断ツールでハードウェア的な故障なのか、チェックしてください。
>>925 その機能は安定しているようなので、
両方を試してみて、
StatHddActivityの結果やHDDのアクセス音などの、
良好なほうを選んでください。
未対策の問題としては、
・ディスクの残り容量がゼロになった場合のファイルの破損のしかたが酷くなるかもしれない
・このツールを経由して書き込んでいるファイルを、同時に他のプログラムが開くと問題がある
の2つがあります。(他にもまだあるかもしれない。)
>>935 富士通と、Seagate(IBMへのOEM)です。
型番はMAJ3182MPとST318404LWです。
ファームのバージョンやモードページパラメータは調べていません。
ドライブの性能差はさほどないので、
どちらのドライブにファイルの実体が置かれても、
さほど影響はないと思います。
本物のシングルCPUで普通の単一ドライブでやったほうがいいのですが、
そういうPCが余っていなかったので。
>>936 ええ、あんまり実験うまくないです。
このツールのソースコードがなくてもできる測定なので、
そう言われるのなら、936さんが上手に実験して報告してください。
>>927 一つ一つにレスつけたり、実験結果を載せるのは大変ありがたいんだが
通常のwinnyによるキャッシュ変換とこのツールを使った際の一番遅く
なった場合のキャッシュ変換の時間で何%程度の速度低下があったかを
載せてくれないか
それが会って初めて
>速度低下は少なく、対策は必要なさそう
という意見が出てくるのだと思う
>>944 更新部のメソッドに適当な変数を設けて1回ごとに++
もしそれが10の倍数なら描画更新、そうでないなら更新しない
とかその程度の策でもかなり軽くなるんだが「とりあえずの回避策」で実装しないのか?
労働対効果はかなりいいぞ
来月使えるver.まだー? ちんちん
そういえばHDD故障の原因に、プラッタ内週部が起動のときに磨り減っていって吸着を起こすとかなかったっけ?
測定回数と標準偏差ぐらいないとDATAとして信用できん
【専ブラ用イライラ棒】
スタート >1-1000>1-1000>1-1000>1-1000>1-1000>1-1000>1-100
>1-1000 >1-1000 >1-1000 >1-100
>1-1000>1-1000 >1-1000 >1-9 >1-1000 >1-1000>1-100 >1-100
>1-1000>1-1000 >1-1000 >1-10 >1-1000 >1-1000>1-100 >1-100
>1-1000 >1-1000 >1-100 >1-1000 >1-1000>1-100 >1-100
>1-1000 >1-1000>1-1000 >1-1000 >1-1000 >1-1000>1-100 >1-100
>1-1000 >1-1000 >1-100>1-10>1-10 >1-100
>1-1000>1-1000>1-1000>1-1000>1-1000>1-1000>1-1000>1-1000>1-1000ゴール
>>942 このツールの話とはずれるんですが
前に、「NYのキャッシュは断片化する様に出来ているから
デフラグしてもHDDの寿命を下げるだけ」
と、聞いた事があるんですが
月1くらいでデフラグかけた方がいいって事でしょうか?