私たちの開発ボックスの1つで、パフォーマンスが床から落ちることがあるという問題が発生しました。これが発生すると、ハードドライブのスラッシングが聞こえますが、原因はわかりません。
これは、ディスクアクセスが多い期間(数ギガバイトのファイルの読み取り/書き込み)に発生しますが、毎回ではなく、ディスクアクセスの全期間でも発生します。これらのファイルは、発生していると思われる種類の「シークスラッシング」を防ぐために、厳密にデフラグされた状態に保たれます。
問題は、システムのウイルス対策か、私が知らないディスクインデックスサービスにあると思われます(AFAIK、実行されていませんが…)。残念ながら、私のPerformance Monitor-fuは非常に弱く(大丈夫、ほとんど存在しない)、疑惑を確認/反証する方法や、本当の原因を見つける方法がわかりません。
更新:
Process Explorer 私のために犯人を見つけました— JavaクイックスターターとWindowsSearchサービス。前者をオフにするとパフォーマンスに顕著な影響があり、後者をオフにすると巨大なもの(アクセスするファイルが与えられていないにもかかわらず)。どちらも他のプロセスの5〜20倍のディスクアクセスを実行していました。
助けてくれてありがとう!
Process Explorer(sysinternals/Microsoft)をダウンロードします。
[表示]、[列の選択]、[プロセスパフォーマンス]で、[例: IO書き込みバイト、IO読み取りバイト。
これらの列をクリックして並べ替えることができます。
SysInternalsには、ここで役立つ可能性のあるツールがいくつかあります。彼らのPerfMonツールは、何が何にアクセスしているかについての(網羅的な)詳細を提供します。それが本当にスキャンを行うAVツールである場合、それは明らかに印象的にそこに表示されるはずです。これがWindowsのバックグラウンドタスクである場合、状況は少し複雑になりますが、それらのアクセスもそこに表示されます。どのサービスが責任を負っているのかがはっきりしていなくても。
Sysinternals FileMonを使用して、どのプログラムがどのファイルで多くのI/Oを実行しているかを確認しました。たとえば、ランダム書き込みのパフォーマンスが低いSSD(4 IOPS、OCZ Core v1)に切り替えたとき、FileMonはどのプログラムが書き込みを行っているかを教えてくれ、それらのファイルをSSDから別のHDDに移動できました。また、最終アクセスタイムスタンプの更新によってパフォーマンスが低下していることを確認するのにも役立ちました(Locate32が1日に1回すべてのディスクにインデックスを付ける場合)。そのため、最終アクセスタイムスタンプを無効にすることができました。
ディスクI/Oの問題を確認するには、パフォーマンスモニターで各ドライブの論理ディスク/現在のディスクキューの長さを監視することから始めます。ディスクにアクセスする複数のプロセスがない限り、これは通常ゼロのままです。過剰なI/Oまたは不十分なディスクパフォーマンスは、キューの長さを増加させます。
I/Oの問題を確認したら、 FileMon または Process Monitor for Microsoft( Sysinternals )のようなものを使用して、アクティビティの原因となっているプロセスを確認します。 。
I/Oに対応するプロセスが表示されない場合は、ページファイル/メモリの問題である可能性があります。パフォーマンスモニターに戻り、1秒あたりのメモリ/ページを追加します。これは、プロセスがディスクに移動してメモリをRAMにページングする頻度を示します。これがゼロを超えている場合は、より多くのメモリが必要であるか、アプリケーションでメモリリークが発生しています。メモリリークを見つけるには、1秒あたりのプロセス/ページを使用して、どのプロセスがページを強制しているかを確認します。
特定のしきい値に達したときにコマンドをトリガーするようにPerfmonを構成できます。これにより、DLuxは、現在のディスクキューの長さを監視し、3または4に達した場合に、バッチファイルをトリガーするように設定します。バッチファイルは、システムがアクセスしたすべてのファイルをログに記録できるfilemonのようなユーティリティをトリガーする可能性があり、システムが何にアクセスしているかをよりよく理解できるはずです。
考えられる原因は、ページファイルの過度の使用である可能性があります。 PerfMonを使用して、1秒あたりのページフォールトを追跡できます。パフォーマンスが低下したときにこれらが上昇した場合、あなたの答えがあります。