2013-03-13 80 views
2

我有一個程序,我試圖使用經常崩潰的程序,其中一個修復程序是將其設置爲僅使用一個處理器。 我可以輕鬆地通過任務管理器手動執行此操作,但我更傾向於沿着雙擊快捷方式的方式提供解決方案。在cmd.exe中使用/ affinity啓動可執行文件(Windows XP)

我試圖使在.bat文件與這行代碼: C:\ WINDOWS \ SYSTEM32 \ CMD.EXE/C開始/親和力1 KSP.exe

然而,它只是拒絕運行。刪除/ C開關只會啓動cmdbox。

嘗試鍵入/ affinity 1將KSP.exe放入cmdbox(謝天謝地,cmdbox以.bat文件所在的目錄開頭,與.exe相同的文件夾在那裏沒有問題)只是給出了這個錯誤:

開關無效 - 「/ affinity」。

回答

1

我剛剛遇到了同樣的問題,我自己試圖在較早的Win XP 32位平臺上運行KSP。在Vista,IIRC之前,cmd.exe沒有收到/ affinity關鍵字。

我意識到OP已經過了一年多了,但它仍然是目前一些用戶的問題。解決的辦法是代替CMD.EXE的,這可以在這裏找到使用psexec.exe Sysinternals公司:

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

微軟Sysinternal的PSEXEC的-a標誌可以在Windows XP中設置處理器關聯:

Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i 
[session]][-c [-f|-v]][-w directory][-d][-][-a n,n,...] cmd [arguments] 
-a   Separate processors on which the application can run with 
      commas where 1 is the lowest numbered CPU. For example, 
      to run the application on CPU 2 and CPU 4, enter: 
      "-a 2,4" 

例如:

psexec -a 2 cmd /c "E:Games\KSP\KSP.exe" 

將在2號核心運行KSP。 (任務管理器中的核心1)

只需更正系統的路徑並將其放入.bat或快捷方式的目標字段中。另外,您需要將PsTools(或簡單地PsExec.exe)提取到C:\ Windows或系統路徑中的另一個文件夾中,或者將其放入您的KSP根目錄中。

0

首先要注意的是,您必須爲您的程序提供管理員權限,無論是右鍵點擊,還是以管理員身份登錄,或通過創建任務。

所以,你與那些管理權開始你的CMD後,你就可以開始你的程序是這樣的:

<code>`start /AFFINITY 1 /B notepad.exe`</code> 

在記事本進程使用procexp,並點擊右鍵+設置親和力,你會看到它只使用處理器0

這樣做:

<code>`start /AFFINITY 1 /B notepad.exe`</code> 

,你會看到它在處理器上運行2

那麼如果你想讓你的進程在覈心的一半上運行?

這樣做:

<code>`start /AFFINITY AA /B notepad.exe`</code> 

在一個辛芯,它會在處理器1,3,5運行,7

  • /AA爲芯的一半,奇數,( 1,3,5,7)
  • /A爲芯,奇數的夸脫,(1,3)
  • /F是用於第一半,(0,1,2,3)
  • /FF是全部,(0,1,2,3,4,5, 6,7)

問候。

相關問題