TopView Service won't start - Running a large number of services

TopView Service won't start - Running a large number of services

This answer is also included in the documentation shipped with TopView.

How many TopView Services can I run?

When Microsoft Windows starts, it reserves various areas of memory for tracking its resources. One of these is the relatively unknown desktop heap. When a large number of processes are running, this heap may run out of memory. This has implications on the number of TopView Services that can be started. A symptom of insufficient heap size is: You have a number of services already running, when you start the next one (TopView_X), it fails to start. If you stop one of the running TopView Services, you are able to start TopView_X without any errors. Note that you are more likely to have memory heap issue on older Microsoft Operating Systems (2003/XP).

Modifying heap size

To modify heap settings, you must modify the Windows Registry. To start the Windows registry editor, click Start > Run, and enter: regedt32. We suggest that you research and understand the implications of making any registry changes. See Microsoft's support article on modifying heap size or use the following instructions. The registry entries that you should modify are different based on the LogOn settings of your TopView Services. You must reboot after making these changes.

If you are TopView running as a specific user account

Registry entry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ Key: SessionViewSize, DWORD Recommended value: 48 (decimal)

If you are running TopView Services as LocalSystem

Registry entry: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\ Key: Windows, EXPAND_SZ The default data for this registry value will look similar to the following (all on one line):
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

Recommended value: set the third SharedSection value (512 in above example) to 1024.