要為主機上的應用程式恢復效能,在虛擬機控制台中,選項虛擬串行連接阜, 並且檢查「讓CPU適應登記模式」複選框。
如果被影響的虛擬機正在試著做的唯一事情是登記虛擬串行連接阜,這個組態選項強迫它適應處理器時間。
改變串行連接的輸入速度
第二個選項-serial<n>.pipe.charTimePercent = <x>-應該作為一個新行被增加到你的虛擬機組態文件中(在編輯組態文件之前關閉虛擬機並關閉VMware Workstation視窗)。從一個管道上的串行連接擠出每個可能的速度位到虛擬機是有用的。
沒有在輸出速度上的限制,這就是為何虛擬機經過虛擬串行連接阜傳送資料很快。輸出速度依賴於在管道另一端讀取資料的應用程式返回到它的速度有多快。
<n>是串行連接阜號,從0開始。因此第一個串行連接阜是serial0。
<x>是任意正整數。它指定傳輸一個字串的時間,對於客戶操作系統的串行連接阜設定表示成預設速度的百分比。
例如, 一個200的設定迫使連接阜取得每個字串的兩倍,或以預設速度的一半傳送資料。
一個50的設定迫使連接阜只取得每個字串的一半,或以預設速度的兩倍傳送資料。
你應該先使用客戶操作系統為你正在虛擬機中執行的應用程式支持的最高設定組態串行連接阜。
一旦串行連接阜速度在客戶操作系統中被適當地設定,以這個設定作實驗。
以100的值開始並逐漸地減少它直到你找到你的連接能可靠工作的最高速度。
用法情況:遍及虛擬串行連接阜排錯
你可以在虛擬機中使用Debugging Tools for Windows (WinDbg)或Kernel Debugger (KD)在一個虛擬串行連接阜上排錯內核程式碼。
你可以從Windows DDK網站
www.microsoft.com/ddk 下載Debugging Tools for Windows。
下列兩個例子舉例說明如何在虛擬機中使用虛擬串行連接阜排錯內核程式碼:
這裡排錯應用程式在VMware Workstation主機上(僅對Windows主機)
這裡排錯應用程式是在相同的VMware Workstation主機上的另一台虛擬機中(在Linux主機上這是有用的, 但是也可以在Windows主機上這樣做)
使用這些方法中的任何一個允許你在一個系統上排錯內核程式碼而不需要兩台物理電腦、一個調製解調器或串行電纜。
從Windows主機排錯一個在虛擬機中的應用程式
在這種情形中,你在虛擬機 (稱為目標虛擬機) 中有要排錯的內核編碼並且在你的Windows主機上正在執行WinDbg或KD。
準備目標虛擬機,對一個Windows主機按照在「連接主機上的一個應用程式到虛擬機」中的步驟做。
確定按下列各項組態虛擬機的虛擬串行連接阜:
選項「這端是伺服器」
在「I/O模式」下,選項「讓CPU適應登記模式」複選框,即在目標虛擬機中的內核使用以登記模式使用虛擬串行連接阜,不使用中斷模式。
要準備主機, 確定你已經下載Debugging Tools for Windows的正確版本。你需要4.0.18.0版,註明日期為2001年12月21日,因為它支持在管道上排錯。
注意:管道支持在WinDbg和KD產品內的說明 或微軟的網站上沒有我的文件說明。
當你準備開始時,完成下列各項步驟:
1、開啟虛擬機。
2、檢查確定串行連接阜被連接。選項「選項編輯>可移動設備」。如果串行連接阜沒有被連接,選項虛擬串行連接阜,然後連接。
3、在主機上,開啟命令提示字元視窗並做下列各項之一:
如果你正在使用WinDbg,按鍵輸入下列各項:
windbg -k com
ort=\\.\pipe\<namedpipe>,pipe
如果你正在使用KD,按鍵輸入下列各項:
kd -k com
ort=\\.\pipe\<namedpipe>,pipe
然後按Enter鍵鍵開始排錯。
從另一台虛擬機排錯虛擬機中的一個應用程式
在這種情形中,你在虛擬機(稱為目標虛擬機)中有要排錯的內核程式碼並且在相同的主機上的另一台虛擬機(稱為debugger虛擬機)中Debugging Tools for Windows(WinDbg)或Kernel Debugger(KD)正在執行。
如果你正在Linux主機上執行VMware Workstation,這是有用的。debugger虛擬機必須在Windows客戶操作系統中執行Debugging Tools for Windows (WinDbg)或Kernel Debugger (KD)。
準備目標虛擬機,按照在「連接兩台虛擬機」中對適當主機的伺服器虛擬機的步驟操作。
確定當你在組態你選項了「讓CPU適應登記模式」 複選框的虛擬機的虛擬串行連接阜時,在目標虛擬機中的內核以登記模式而不是中斷模式使用虛擬串行連接阜。
要準備debugger虛擬機, 確定你已經下載了Debugging Tools for Windows。然後對於客戶虛擬機按照在「連接兩台虛擬機」中的步驟操作。
當你準備開始時,完成下列各項步驟:
1、把兩台虛擬機都開啟。
2、檢查確定串行連接阜被連接。選項「選項編輯>可移動設備」。如果串行連接阜沒有被連接,選項虛擬串行連接阜,然後連接。
3、在debugger虛擬機中,通常使用WinDbg或KD排錯。