我們運行一個伺服器(Win2k),上面有幾個工具。所有工作站 (XP) 的 PATH 都設定為包含該資料夾。
當我們grep
從工作站上的 DOS 框執行一個工具(例如)時,有時該工具在運行之前會出現很長的延遲(最多一分鐘)。延遲後一切正常。隨後的運行不會有延遲,即使是從另一個 DOS 框運行時也是如此。
有任何想法嗎?
* 更多細節*
這種情況總是會產生延遲。我們正在開發伺服器上特定資料夾中的工具。該工具在一台工作站上的 DOS 框中進行編輯和編譯,該工具位於建置該工具的資料夾中,然後運行,延遲始終存在。下面的運行就很好了。因此重新產生 EXE 會導致延遲。
答案1
Windows 正在登入伺服器以查看您想要的命令是否在該資料夾中。第一次後,它已經登入了。
您可以透過在登入期間執行以下命令來加快速度(在 Windows 中):
Net Use \\ServerName
該命令將需要一分鐘的時間來處理,但它可能會作為使用者不會注意到的後台任務發生。但是,我不知道這是否會導致您的情況出現“連接過多”問題。
答案2
grep
不是 Win32 指令,而是 Unix 指令,因此您可能呼叫了舊版 Windows 中存在的 Unix 子系統。
必須啟動一個特殊的系統進程來支援這些 Unix 命令,這可以解釋初始延遲的原因。我不記得該進程的名稱,但如果您使用 Process Explorer 之類的工具,您可以看到它正在啟動。
也許這個技術網系列可以有一些幫助。有關該子系統的詳細資訊可以在《Windows Internals》一書中找到。
答案3
您的路徑中可能存在逾時的網路位置 - 當您嘗試從 DOS 或「開始」功能表中的「執行」選項執行程式時,如果在該路徑中沒有先找到可執行檔或腳本/批次檔目前工作目錄,然後也會搜尋PATH 中列出的每個目錄。
您可以在 DOS 視窗中鍵入「PATH」以查看清單中是否包含磁碟機 C: 以外的任何內容。如果不是,那麼下一個嫌疑犯可能是:
首次載入非常大的程式也可能是一個問題(因為後續使用將來自快取)。您有您正在使用的“grep”工具的連結嗎?如果它是一個小型獨立程序,那麼這不應該是問題
防毒軟體速度慢(非常罕見)
磁碟故障開始出現(盡快獲得完整備份)
檔案系統中的碎片過多(可以透過執行磁碟碎片整理程式輕鬆修復,可以在以下位置找到該碎片整理程式:開始功能表 -> 程式 -> 附件 -> 系統工具 -> 磁碟片段整理程式)