
私の会社は、CPU (および GPU、場合によっては I/O) を集中的に使用する長時間タスクを定期的に実行するシミュレーション ソフトウェアを公開しています。当社のユーザー ベースはエンジニアで、その一部は大企業に所属していますが、IT に関して 90 年代にふさわしいかなり時代遅れの考え方を今でも信じている人もいます。
非常に高性能なクライアント コンピューター (一部は 5 桁のドル値のコモディティ マシン) でシミュレーションを実行すると、社内のマシンで同じシミュレーションを実行する場合よりも 2 ~ 30 倍遅くなるという状況を、これまでに何度か経験しています。クライアント マシンは、基本的にすべての面 (CPU、GPU、RAM、ディスク) で社内のマシンを上回っています。
ごくまれに、ウイルス対策ソフトウェアが原因であると特定できたこともありますが、これは通常、当社側の確実な調査作業によるものではなく、偶然の状況によるものです。当社はウイルス対策についてあまり経験がありませんが、観察したところ、アクティブスキャンを行うウイルス対策ソフトウェアの多くは、CPU 自体を占有したり、タスク マネージャー プロセスとして表示されたりすることはありませんが、(おそらく) CPU 使用率が当社のプロセスに割り当てられ、パフォーマンスが大幅に低下する原因となっています。
その他の場合(1k~100k のバイナリ ファイルに高速にアクセスする場合など)には、CPU の使用率が頻繁に 0% まで低下し、システムが長時間アイドル状態になることがあります(一方、当社の内部マシンでは、タスクが完了するまで CPU の使用率は 100% を維持します)。
ウイルス対策をオフにすると、パフォーマンスがすぐに期待どおりのレベルにまで上がることが時々あります。残念ながら、これらの企業の IT 部門に、勘だけでこれを行うように依頼するのは非常に困難です (当然のことですが)。場合によっては、IT 部門はエンジニアを最低限のサポート以上のサポートを本当に提供することに関心がないため、部門間の不快な争いになります。
ウイルス対策がパフォーマンスの問題を引き起こしているかどうかを確実に検出し、議論する価値があるかどうかをより適切に判断できる方法はありますか?
クライアントによっては管理者権限がある場合とない場合があるため、どちらについても解決策や提案を歓迎します。