System Requirements

Top  Previous  Next

CirrusPrint servers require computing resources, and those requirements vary widely since operational demands vary according to the number and types of jobs it processes, and the number of users or locations that connect to it.  It is possible to run a server on a very modest system if it is only supporting a small number of users, or infrequent jobs.  It is also possible to tax a large system if there are dozens or hundreds of jobs being run simultaneously, or many hundreds or thousands of users and remote locations connecting to the server.  In addition, CirrusPrint doesn't always run on its own server, so it may have to share resources with other applications.

 

As a guideline for modest workloads, a system should have at least 2 CPU cores, at least 2GB of memory, and at least 2GB of free disk space.  CirrusPrint resource usage is generally CPU oriented, so to improve performance you should first increase the number of CPU's.  Some types of jobs, or a large number of processes, may also require more memory, and a system with many users or heavily graphical documents might need more disk space.

 

Also as a general rule, Windows systems have more operating system overhead, so more resources may be required.  Likewise, Linux systems without a graphical interface can often run successfully with less memory.  However, CirrusPrint is a multi-process application, so multiple CPU cores should be used in all cases.

 

CirrusPrint runs well in both dedicated and virtual environments.

 

Windows Heap

On busy Windows systems, a CirrusPrint server may hit heap memory limits.  This can cause unpredictable issues, as it can prevent processes from starting, or only allow them to partially start and become suspended.  Heap memory is a fixed allocation based on a registry setting, so is not affected by increasing system RAM.  Instead, the registry must be edited to increase a value, and the system must be restarted.

 

The registry key that is edited is:

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

 

The value of this key contains a SharedSection segment.  Here is a typical setting:

 

SharedSection=1024,20480,768

 

The third number in this entry is a value allocated for services, such as the CirrusPrint server.  The default value on Windows 2008 and later servers is 768, which is inadequate for a service that may have dozens or even hundreds of tasks running, so this should be increased.  A good starting point is 2048, though it may need to be set even higher, in extreme cases as high as 8192.

 

Here is a preferred setting, with the minimum value for the third item:

 

SharedSection=1024,20480,2048

 

A system administrator should read this Microsoft support article before making this change:

 

https://support.microsoft.com/en-us/kb/184802