私たちは、いくつかのツールを備えたサーバー (Win2k) を実行しています。ワークステーション (XP) はすべて、そのフォルダーを含むように PATH が設定されています。
ワークステーションの DOS ボックスからツール (例grep
) を実行すると、ツールが実行されるまで (最大 1 分) 長い遅延が発生することがあります。遅延の後は、すべて通常どおりに実行されます。後続の実行では、別の DOS ボックスから実行した場合でも、遅延は発生しません。
何か案は?
* 詳細はこちら *
このシナリオでは常に遅延が発生します。サーバー上の特定のフォルダーにあるツールで作業しています。ツールは、ツールがビルドされたフォルダーにある DOS ボックス内の 1 つのワークステーションで編集およびコンパイルされ、実行されますが、常に遅延が発生します。次の実行は問題ありません。そのため、EXE を再生成すると遅延が発生します。
答え1
Windows は、必要なコマンドがそのフォルダー内にあるかどうかを確認するためにサーバーにログインしています。 1 回目以降は、すでにログインしています。 毎日、サーバー上のドキュメントやフォルダーを開くときに同じ問題が発生します。
ログイン中に次のコマンドを実行すると、速度が向上する可能性があります (Windows の場合)。
Net Use \\ServerName
このコマンドの処理には 1 分ほどかかりますが、ユーザーが気付かないバックグラウンド タスクとして実行される可能性があります。ただし、このケースで「接続が多すぎる」問題が発生するかどうかはわかりません。
答え2
grep
は Win32 コマンドではなく Unix コマンドなので、古いバージョンの Windows に存在する Unix サブシステムを呼び出している可能性があります。
これらの Unix コマンドをサポートするには、特別なシステム プロセスを起動する必要があります。これが初期遅延の原因です。プロセスの名前は思い出せませんが、Process Explorer などを使用すると、プロセスが起動しているのがわかります。
たぶんこれはTechNet シリーズ役に立つかもしれません。サブシステムの詳細については、「Windows Internals」という本を参照してください。
答え3
パス内にタイムアウトしているネットワークの場所がある可能性があります。DOS またはスタート メニューの [実行] オプションからプログラムを実行しようとすると、実行可能ファイルまたはスクリプト/バッチ ファイルが現在の作業ディレクトリで最初に見つからない場合、PATH にリストされている各ディレクトリも検索されます。
DOS ウィンドウに「PATH」と入力すると、ドライブ C: 以外のものがリストに含まれているかどうかを確認できます。含まれていない場合は、次のものが疑わしい可能性があります。
非常に大きなプログラムを初めてロードする場合も問題になることがあります (その後の使用はキャッシュから行われるため)。使用している「grep」ツールへのリンクはありますか? 小さなスタンドアロン プログラムであれば、これは問題にならないはずです。
遅いウイルス対策ソフトウェア(非常にまれ)
ディスク障害が発生し始めています(できるだけ早く完全バックアップを取得してください)
ファイル システムの断片化が多すぎる ([スタート] メニュー -> [プログラム] -> [アクセサリ] -> [システム ツール] -> [ディスク デフラグ] にあるディスク デフラグ ツールを実行すると簡単に解決できます)