Contents
Managing the amount of memory used by PaperCut NG/MF
Last updated October 30, 2025
Contents
Note: This article is also useful if you’re wanting to limit the amount of memory that PaperCut uses - for example if you’re running PaperCut on a physical host with tens of GB of memory. Check out the ‘You may also specify the precise amount of physical RAM to use’ section below.
By default, the PaperCut NG and PaperCut MF Application Server is restricted to a maximum RAM allocation of up to one quarter (¼) of system memory. This ensures that the application does not consume too many resources, and “plays nicely” with other applications that may be run on the same system.
If the server is dedicated to running our software, then you may choose to increase the amount of memory made available to the Application Server component of the solution. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation can help the solution by allowing it to perform optimizations, such as disk and data caching. Being database driven applications, PaperCut NG and PaperCut MF can benefit greatly from such enhancement.
A popular option with our customers is to allow the application to use up to ½ of the machine’s memory, and then provision the system with at least 4 GB of total memory. This can strike a good balance between giving the application enough resources to process and analyze jobs, as well as letting the machine handle the operating system level tasks required for a print server. Since server loads and performance vary greatly, we highly recommend testing the configuration and increasing allocated memory (and CPU cores) if you are seeing performance issues that you suspect are due to low resources.
⚠️ Please Note: Somewhat counterintuitively, more is not always better; allocating the host of the Application Server an excessive amount of total system memory can in some cases have a deleterious effect on performance. PaperCut NG and PaperCut MF are Java applications, and hence subject to Java “garbage collection” activities, which maintain proper memory allocation. When a great deal of memory is available to the Application Server, full garbage collections will happen less frequently, but take longer to complete. The application must pause temporarily whilst these operations complete, so if the amount of memory available is imbalanced by a comparatively small amount of CPU resources, this may be observed as periodic spikes in highly unresponsive behavior. If unsure of the appropriateness of your resourcing, our Server Sizing Guide can be invaluable to check with.
Increasing Maximum Memory (Windows/Linux)
To increase the amount of memory available to PaperCut NG or PaperCut MF:
-
Locate the text file called
service.confin the following directory:
[app-path]\server\custom\ -
Open the file in a text editor and add the additional config line as below. Examples of memory configuration are provided below which can be used depending on your environment’s requirements.
-
Specify the max amount of physical RAM to use. For example, to allow the Application Server to use up to 2 GB of memory, the following line can be added:
wrapper.java.additional.6=-Xmx2G -
When maximum memory is set to a precise amount, a memory minimum can also be set to fully reserve the physical RAM for the application server. This improves performance, but prevents other applications from utilizing the server’s unused RAM. For example, to fully reserve 2GB, the following line can be added (in addition to the line above):
wrapper.java.additional.7=-Xms2G
Note: older sites may have configured allocations using the memory fraction method. This method is now deprecated (but still works for now) - you might see an error like this in the log files:Option MaxRAMFraction was deprecated in version 10.0 and will likely be removed in a future release. We recommend updating your configuration to the max/min non-fraction based configuration above.
Examples of the old fraction based memory configuration include:wrapper.java.additional.6=-XX:MaxRAMFraction=3(to allow the Application Server to use up to 1/3 of total physical memory on the server) orwrapper.java.additional.6=-XX:MaxRAMFraction=2(to allow the Application Server to use up to 1/2 of the total physical memory on the server).
-
-
Save and close the text file.
-
Restart the PaperCut Application Server service.
- On Windows, this can be done via
Control Panel->Administration Tools->Servicesby locating the PaperCut Application Server in the list of system services, right-clicking, and selecting to Restart it. - On Linux, this can be done by running the
stop-server.commandscript and then thestart-server.commandscript, both located in the following directory:
[app-path]/server/bin/linux-x64/
- On Windows, this can be done via
-
After the service is restarted, the Application Server log file
([app-path]\server\logs\server.log) will show the new “max memory” setting.
Increasing Maximum Memory (macOS)
To increase amount of memory available to PaperCut NG or PaperCut MF on macOS:
-
Locate the text file called
launch-app-server.confin the following directory:
[app-path]\server\custom\ -
You will need to specify the amount of system memory available to the Application Server. Open the file in a text editor and add the following line depending on the needs of your environment.
-
To allow the Application Server to use up to 2 GB of physical RAM, you would use the line:
export PC_CUSTOM_SERVER_ARG="-Xmx2G" -
You can also set a memory minimum to fully reserve the physical RAM for the application server. This improves performance, but prevents other applications from utilizing the server’s unused RAM.
To fully reserve 2GB of physical RAM, you would use the line:
export PC_CUSTOM_SERVER_ARG="-Xms2G -Xmx2G"
-
-
Save and close the text file.
-
Restart the PaperCut Application Server service by running the
stop-server.commandscript and then thestart-server.commandscript, both located in the following directory:
[app-path]/server/bin/mac/ -
After the service is restarted, the Application Server log file
([app-path]\server\logs\server.log) will show the new “max memory” setting.
Running out of Memory or High CPU Usage
If PaperCut NG or PaperCut MF run out of memory, an OutOfMemoryError will be displayed to the user and/or logged to the service.log file. You may also see GC overhead limit exceeded error, which is again an indication of running out of memory.
Another indication of running out of memory is very high CPU usage for extended periods of time, by the pc-app process/service, as the service tries to rearrange RAM for various tasks.
If this occurs then this is an indication that the server requires more memory, and there are two possible solutions:
- Allocate more RAM to the server.
- Increase the maximum amount of memory available to the Application Server, as described above. This should typically only be done if there are no other applications deployed to the same server, or if recommended by the Support Team.
See also
Category: How-to Articles
Subcategory: Administration
Keywords: memory usage, memory fraction, high cpu utilisation, increase memory pool
Comments