我試圖通過啓動一個控制檯應用程序program2
來執行並行處理,它可以完成工作。它由program1
啓動,它知道要啓動多少個實例。多個實例
在某些時候,程序無法啓動更多的實例。即使你增加instancesmount
,它也只會啓動到極限。在這種情況下,只有92.如果我將限制設置爲100或200,它仍然只在服務器上啓動92。
我寫在C#程序,它在Windows Server 2008中
這裏運行是代碼:
for (int instanceCount = 0; instanceCount < InstancesAmount; instanceCount++)
{
using (System.Diagnostics.Process myProcess = new System.Diagnostics.Process())
{
if (hiddeConsoleWindow)
{
myProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
}
myProcess.StartInfo.FileName = ExecutablePathProgram2;
System.Security.SecureString password = new System.Security.SecureString();
foreach (char c in ConfigurationSettingsManager.ProcessStartPassword.ToCharArray())
{
password.AppendChar(c);
}
myProcess.StartInfo.UserName = ConfigurationSettingsManager.ProcessStartUserName;
myProcess.StartInfo.Password = password;
myProcess.StartInfo.Domain = ConfigurationSettingsManager.ProcessStartDomain;
myProcess.StartInfo.UseShellExecute = false;
myProcess.Start();
}
}
我一直在尋找,如果有最大情況下推出,但它總是說它和操作系統支持的一樣多。
我也檢查是否有每個會話或每個用戶的最大實例,但找不到任何描述這樣的事情,或者我確實想念它。
好的。這聽起來很合邏輯,但是系統並沒有吸引人,因爲啓動的實例正在運行,而pc的內存和cpu沒有5%的使用率。我發現了一些奇怪的東西。其實program1是一個服務,program2是一個控制檯。以及如果我將program1轉換爲控制檯它達到了我以前指定的金額,但不是服務。 – dragonlord 2011-06-13 19:49:17
更具體地說,Program1是一個WCF服務,而Program2是一個控制檯,全部在VS2010中編寫框架4 – dragonlord 2011-06-13 19:55:53