在多用户环境中停止多个进程

最近,我们将生产terminal服务器从独立刀片式服务器迁移到在虚拟服务器(Windows 2003)上运行的数据中心。

我们开始遭受相当大的性能问题,其中一个主要的罪魁祸首似乎是IE7,用户启动它的多个副本,而不是使用新的窗口/选项卡。 它占用了相当大的内存空间。

有没有人遇到任何我们可以用来阻止他们启动同一个应用程序的多个实例?

理想情况下,你可以告诉它要注意什么,当用户试图打开第二个副本时,它会停止发生,并告诉他们为什么。

任何人都知道任何事情,请记住它在terminal服务器环境中运行,因此每个用户都需要工作(每个用户可以打开一个IE进程)

干杯卢克

我会使用像这样的WMI脚本或使用AutoIT或AutoHotkey工具制作的脚本来注意具有相同名称的新窗口并杀死它们。

具体到思杰是在这里

http://cwashington.netreach.net/depo/view.asp?Index=992

如果这没有帮助,请告诉我,我可以写一个AutoIT脚本或自定义给定的脚本。

我不认为你的解决scheme应该终止用户正在尝试的过程。 我确定终止iexplore.exe进程出于任何原因将导致比任何事情更多的负面后果。

我会认真考虑查看分配给虚拟机的资源,并开始填补导致性能问题的空白。 内存现在非常便宜,你应该让你的服务器库存充足,以适应当前和预期的负载。 如果最大限度地提高内存不能解决您的问题,开始考虑集群的机器负载平衡。

我想不出一种方法来本地做到这一点。 我知道IE8有​​一个新的stream程模型,这意味着它必须使用多个进程 – 但是有一个重新configuration它的方法,以便它只使用一个。 但是,如果性能是您最关心的问题,那么转向IE8并不是最好的主意。

脚本解决这个问题是相对简单的,但我认为这是治疗症状,而不是原因。

你确定IE7是问题吗? 因为在IE 打开一个新标签确实会在进程列表启动一个新的“iexplore.exe”,所以实际上在进程列表中会出现多个IE窗口打开的情况。

告诉这些人使用Firefox。 眨眼