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.
Related Articles
Allow a Windows user to start/stop a service
Background On newer Windows OS’s, the current user may not be allowed to install/start/stop services. This may prevent the user from installing/starting/stopping TopView Engine Services. The solution has been to run the Configurator “as ...
Bulk edit TopView Services
TopView provides a command line tool called the "TopView Service Manager" (tvservicemgr.exe) to query and manipulate the settings for TopView services. This tool is useful when you want to list, remove, or install services with common settings for ...
TopView OPC cannot connect as Service
This article is useful if TopView connects to your OPC server when run interactively, but cannot connect to remote OPC Server(s) when you run TopView as a Service. Interactive applications (non-Service) run under the account of the logged in ...
Example scripts to remove/install TopView services using PowerShell
The TopView Service Manager command line application is a utility which provides the ability to list, install, and remove TopView services. This is a particularly useful tool when changing the user account for each TopView service is necessary. The ...
Keeping TopView healthy
Like all software, TopView is running in an environment that is under constant change. OS updates, protocol versions updates, email authentication deprecations, and other things can affect the health of your TopView system. Even systems off the ...