How to run in parallel executable graphicaly intensive applications on Win32

code Example of settings for 10 concurrent processes runing in batch mode:

1. Graphical Application could take cca 250 KB per instance from desktop heap, that is 2.5 MB for 10 running executables. Thus desktop heap for non interactive services should be set to 3072 KB if you want to run 10 Applications. You set it in registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\
\SubSystems\Windows%SystemRoot%\system32\csrss.exe
ObjectDirectory=\Windows SharedSection=1024,3072,3072 …

2. Total desktop heap per session is controlled by SessionViewSize. The size depends on total number of services you run. For instance running 10 services as domain user in session0 + default desktop + logon would give the minimum size around 30MB, set it to 42 MB ( decimal value !)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
DWORD key SessionViewSize = 42

3. GDIs most likely use area of paged pool for the session, so set parameter SessionPagedSize to 128 MB.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
DWORD key SessionPoolSize = 128

4. SessionPagedSize + SessionViewsSize should not exceed 450MB, however downside is decreasing other memory areas used by the system in it’s 2GB space (like system cache )

5.you should not boot the system with /3GB option *because system space has only 1 GB space, you can not influence SessionSpace size and it is fixed to 20 MB – that imply that you can not run many Applicationse on such system, may be more after turning some services off. Moreover GDI also uses SessionViewSpace and the limit 20 MB is insufficient even for one process running. Check that in c:\boot.ini that there is nothing like /3G

This entry was posted in Code and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s