方案一:步骤一:在中间层服务器上,设置3GB参数,使得组件的内存占用能够超出2GB;3GB开关的设置方法:右键桌面【我的电脑】,选择【属性】1、在系统属性窗口,选择【高级】页签2、点击启动和故障恢复栏的【设置】按钮,打开启动和故障恢复窗口3、在系统启动栏中,点击【编辑】按钮,打开boot.ini启动参数文件编辑界面,如下面的例子中添加/3GB参数到此文件中,然后保存,并重新启动计算机才能搞生效。[bootloader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operatingsystems]multi(0)disk(0)rdisk(0)partition(2)\%systemroot%="WindowsServer2003DatacenterEdition"/3GB步骤二:在几个资源占用比较明显的组件包中,如ebogl、ebopublic等几个,勾选“启用3gb支持”的选项;组件包打开方式为:开始,程序,管理工具,组件服务。点开后,点开组件服务,计算机我的电脑,COM+组件。ebogl、ebopublic的进程池改为2或者3.方案二:方法:扩大DesktopHeap以增加创建Apartment的个数。a)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\SessionViewSize缺省是48M,是系统范围的desktopheap的大小,将SessionViewSize改成96M来增加整个系统范围内的desktopheap的大小。b)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\SubSystems\Window的值:%SystemRoot%\system32\csrss.exeObjectDirectory=\WindowsSharedSection=1024,3072,512......1024,3072,512是defaultsetting,将512改成4096,以增加可创建窗口的数量。说明:每个系统Desktop对象都有heap与之对应,Desktop对象使用heap(堆)存储菜单字符串和窗体等。系统从核心缓存(48M)中分配desktopheap。一个WINDOWS操作系统可以有多个desktopheap。其分配可以通过注册表进行控制,上面b)的SharedSection=1024,3072,512的三个数字控制heap的分配第一个键值是Desktop所有对象共享的heap大小。包括全局句柄表(窗体、菜单、图标等的句柄)第二个键值对应交互式windowstationWinsta0的desktopheap的大小。用户对象如钩子、菜单、字符串、窗体等消耗desktopheap的内存。此值不必修改。第三个键值对应非交互式windowstation的desktopheap的大小。如果没有这个键值,那么其大小和第二个键值一样。在非交互式工作站下,SCM(服务控制管理台)为一个用户账号的每一个服务进程创建一个新的desktop,因此,一个用户账号的每一个服务将消耗desktopheap的数千字节。减少第二个或第三个键值的大小会增加相应工作站desktop的可创建数量。但较小的键值会限制每个desktop内钩子、菜单、字符串和窗体的数量,即限制此进程内组件的创建。另一方面,增加第二个或第三个键值的大小会减少desktop的可创建数量,但每个desktop内钩子、菜单、字符串和窗体的数量会增加。因为在非交互式工作站下,SCM为一个用户账号的每一个服务进程创建一个新的desktop,较大的desktopheap值将减少此系统可以服务的用户账号数量。全部的desktopheap必须适应于48M系统范围的缓存。当发生组件创建失败/超出内存的错误时,可以适当加大这些键值,如将SharedSection=1024,3072,512的三个数字改为2048,3072,2048。