By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of system memory. This ensures that PaperCut 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 PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps PaperCut by allowing it to perform optimizations such as disk and data caching. Being a database driven application, PaperCut can benefit greatly.

A popular option with our customers is to allow PaperCut to use up to ½ of the machine’s memory, and then provision the machine with at least 4GB of memory. That strikes a good balance between giving enough resources to PaperCut to process and analyze jobs, as well as letting the machine handle the OS level tasks required for a print server. Since server loads and performance vary greatly, we highly recommend testing the configuration and increasing memory (and CPU) if you are seeing performance issues that you suspect are due to low resources.

!! Increasing maximum memory (Windows/Linux/Novell)

To increase amount of memory available to PaperCut.

'''1.''' Create a text file called @@service.conf@@ in the directory: @@[app-path]\server\custom\@@

[-'''Please Note: The filename needs to be service.conf and NOT server.conf'''-]

'''2.''' Open the file in a text editor and add the following line to make PaperCut use up to '''one third''' of physical RAM:

to:

(:title Increasing the Memory Available to PaperCut NG and PaperCut MF:)

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 [[https://www.papercut.com/kb/Main/PaperCutServerSizingGuide|Server Sizing Guide]] can be invaluable to check with.

!! Increasing Maximum Memory (Windows/Linux/iPrint)

To increase the amount of memory available to PaperCut NG or PaperCut MF:

'''1.''' Locate the text file called @@service.conf@@ in the following directory:

@@[app-path]\server\custom\@@

'''Please Note:''' If you're running a version of PaperCut NG or PaperCut MF prior to 17.3, you will instead need to create the @@service.conf@@ file in the directory noted above.

'''2.''' Open the file in a text editor and add the following line to allow the application to employ up to '''one third''' of total physical RAM:

Changed lines 25-26 from:

->To make PaperCut use up to '''one half''' of physical RAM use the line:

to:

->To employ up to '''one half''' of total physical RAM, use the line:

Changed lines 29-30 from:

-> You may also specify the amount of physical RAM to use. To make PaperCut use up to 768MB use the line:

to:

-> You may also specify the precise amount of physical RAM to use. For example, to allow use of up to 768 MB, the following line can be added:

Changed lines 33-39 from:

'''3.''' Save the text file'''4.''' Restart the PaperCut Application Server service (On Windows do this in Control Panel->Admin Tools->Services).

'''5.''' After the service is restarted the server log file (@@[app-path]\server\logs\server.log@@) will show the new "max memory" setting.

to:

'''3.''' Save and close the text file.

'''4.''' Restart the '''PaperCut Application Server''' service. On Windows, this can be done via [@Control Panel->Administration Tools->Services@] by locating the '''PaperCut Application Server''' in the list of system services, right-clicking, and selecting to '''Restart''' it.

'''5.''' After the service is restarted, the '''Application Server''' log file (@@[app-path]\server\logs\server.log@@) will show the new "max memory" setting.

Changed lines 41-50 from:

!! Increasing maximum memory (Apple Mac)

'''NOTE: This only works on PaperCut 9.6 and higher.'''

To increase amount of memory available to PaperCut on the Mac.

'''1.''' Create a text file in the directory: @@[app-path]\server\custom\@@ directory called @@launch-app-server.conf@@. Change the file permissions to make the file readable to all users (or at least the @@papercut@@ user).

'''2.''' Open the file in a text editor and add the following line to make PaperCut use up to 256MB of physical RAM:

to:

!! Increasing Maximum Memory (macOS)

'''Please Note:''' This method only works on version 9.6 and higher of PaperCut NG and PaperCut MF.

To increase amount of memory available to PaperCut NG or PaperCut MF on macOS:

'''1.''' Locate the text file called @@launch-app-server.conf@@ in the following directory:

@@[app-path]\server\custom\@@

'''Please Note:''' If you're running a version of PaperCut NG or PaperCut MF prior to 17.3, you will instead need to create the @@launch-app-server.conf@@ file in the directory noted about. Be sure to change the file permissions to make the file readable to all users, or at minimum, the @@papercut@@ host user account.

'''2.''' 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 to allow the application to employ up to, for example, 256 MB of physical RAM:

Changed lines 57-58 from:

->To make PaperCut use up to 512MB of physical RAM use the line:

to:

-> For up to 512 MB of physical RAM, you would instead use the line:

Changed lines 61-74 from:

'''3.''' Save the text file'''4.''' Restart the PaperCut Application Server service (By running @@stop-server.command@@ and then @@start-server.command@@ scripts located in @@[app-path]/server/bin/mac/@@).

'''5.''' After the service is restarted the 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 runs 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@@ 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.

to:

'''3.''' Save and close the text file.

'''4.''' Restart the '''PaperCut Application Server''' service by running the @@stop-server.command@@ script and then the @@start-server.command@@ script, both located in the following directory:

@@[app-path]/server/bin/mac/@@'''5.''' 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.

Changed lines 78-79 from:

* Add more RAM to the server. We recommend at least 2GB of RAM for busy servers. Our larger customers run around 4Gb of RAM.* Increase the maximum amount of memory available to PaperCut (see above). This should only be done if there are not other applications running on the server or if recommended by the support team.

to:

* 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.

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources and "plays nicely" with other applications that may be run on the same system.

to:

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of system memory. This ensures that PaperCut does not consume too many resources and "plays nicely" with other applications that may be run on the same system.

A popular option with our customers is to allow PaperCut to use up to ½ of the machine’s memory, and then provision the machine with at least 4GB of memory. That strikes a good balance between giving enough resources to PaperCut to process and analyze jobs, as well as letting the machine handle the OS level tasks required for a print server. Since server loads and performance vary greatly, we highly recommend testing the configuration and increasing memory (and CPU) if you are seeing performance issues that you suspect are due to low resources.

Deleted lines 25-26:

-> '''NOTE:''' This can be used to increase the memory available to PaperCut up to 1GB. To increase this further contact the [[https://www.papercut.com/contact/ | technical support team]] for advice.

If PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file.

to:

If PaperCut runs 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@@ which is again an indication of running out of memory.

!! Running out of memoryIf PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. If this occurs then this is an indication that the server requires more memory, and there are two possible solutions:

to:

!! Running out of memory or High CPU usage

If PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. 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:

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps PaperCut by allowing it to perform optimizations such as disk and data caching.

to:

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps PaperCut by allowing it to perform optimizations such as disk and data caching. Being a database driven application, PaperCut can benefit greatly.

'''1.''' Create a text file in the directory: @@[app-dir]\server\custom\@@ directory called @@service.conf@@.

to:

'''1.''' Create a text file in the directory: @@[app-path]\server\custom\@@ directory called @@service.conf@@.

Changed lines 24-25 from:

-> '''NOTE:''' This can be used to increase the memory available to PaperCut up to 1GB. To increase this further contact the [[https://www.papercut.com/contact/ | technical support team]] for advise.

to:

-> '''NOTE:''' This can be used to increase the memory available to PaperCut up to 1GB. To increase this further contact the [[https://www.papercut.com/contact/ | technical support team]] for advice.

Changed lines 30-32 from:

'''5.''' After the service is restarted the server log file (@@[app-dir]\server\logs\server.log@@) will show the new "max memory" setting.

to:

'''5.''' After the service is restarted the server log file (@@[app-path]\server\logs\server.log@@) will show the new "max memory" setting.

Changed lines 41-42 from:

'''1.''' Create a text file in the directory: @@[app-dir]\server\custom\@@ directory called @@launch-app-server.conf@@. Change the file permissions to make the file readable to all users (or at least the @@papercut@@ user).

to:

'''1.''' Create a text file in the directory: @@[app-path]\server\custom\@@ directory called @@launch-app-server.conf@@. Change the file permissions to make the file readable to all users (or at least the @@papercut@@ user).

Changed lines 54-58 from:

'''4.''' Restart the PaperCut Application Server service (By running @@stop-server.command@@ and then @@start-server.command@@ scripts located in @@[app-dir]/server/bin/mac/@@).

'''5.''' After the service is restarted the server log file (@@[app-dir]/server/logs/server.log@@) will show the new "max memory" setting.

to:

'''4.''' Restart the PaperCut Application Server service (By running @@stop-server.command@@ and then @@start-server.command@@ scripts located in @@[app-path]/server/bin/mac/@@).

'''5.''' After the service is restarted the server log file (@@[app-path]/server/logs/server.log@@) will show the new "max memory" setting.

'''Before making this change it is recommended to contact the [[https://www.papercut.com/contact/ | technical support team]] to discuss available options.'''

To increase amount of memory available to PaperCut on the Mac.

'''1.''' Create a text file in the directory: @@[app-dir]\server\custom\@@ directory called @@launch-app-server.conf@@. Change the file permissions to make the file readable to all users (or at least the @@papercut@@ user).

'''2.''' Open the file in a text editor and add the following line to make PaperCut use up to 256MB of physical RAM:

-->@@[=PC_CUSTOM_SERVER_ARG=-Xmx256m=]@@

->To make PaperCut use up to 512MB of physical RAM use the line:

-->@@[=PC_CUSTOM_SERVER_ARG=-Xmx512m=]@@

'''3.''' Save the text file

'''4.''' Restart the PaperCut Application Server service (By running @@stop-server.command@@ and then @@start-server.command@@ scripts located in @@[app-dir]/server/bin/mac/@@).

'''5.''' After the service is restarted the server log file (@@[app-dir]/server/logs/server.log@@) will show the new "max memory" setting.

If PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. If this occurs then this is an indication that the server requires more memory, and there are two possible solutions:

* Add more RAM to the server. We recommend at least 1GB of RAM for busy servers.* Increase the maximum amount of memory available to PaperCut (see below). This should only be done if there are not other applications running on the server or if recommended by the support team.

to:

Added lines 33-41:

!! Running out of memory

If PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. If this occurs then this is an indication that the server requires more memory, and there are two possible solutions:

* Add more RAM to the server. We recommend at least 2GB of RAM for busy servers.* Increase the maximum amount of memory available to PaperCut (see above). This should only be done if there are not other applications running on the server or if recommended by the support team.

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps performance as it allows PaperCut to perform optimizations such as disk and data caching.

to:

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps PaperCut by allowing it to perform optimizations such as disk and data caching.

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources an "plays nicely" with other applications that may be running on the same system.

to:

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources and "plays nicely" with other applications that may be run on the same system.

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources ensuring that it "plays nicely" with other applications that may be running on the same system.

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocations will help performance as it allows PaperCut to perform optimizations such as disk and data caching.

to:

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources an "plays nicely" with other applications that may be running on the same system.

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocation helps performance as it allows PaperCut to perform optimizations such as disk and data caching.

By default, the PaperCut Application Server will only allocate up to one quarter of physical memory. This ensures that PaperCut does not consume too many resources which would interfere with other applications.

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes.

to:

By default, the PaperCut Application Server is restricted to a maximum RAM allocation of up to one quarter (1/4) of physical memory. This ensures that PaperCut does not consume too many resources ensuring that it "plays nicely" with other applications that may be running on the same system.

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes. Increased RAM allocations will help performance as it allows PaperCut to perform optimizations such as disk and data caching.

If the server is dedicated to running PaperCut then you can increase the amount of memory available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes.

to:

If the server is dedicated to running PaperCut then you may choose increase the amount of memory made available to PaperCut. This can improve application performance, particularly on sites with many users or with large printing volumes.

Changed lines 9-10 from:

When PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. If this occurs then this is an indication that the server requires more memory, and there are two possible solutions:

to:

If PaperCut runs out of memory an @@[=OutOfMemoryError=]@@ will be displayed to the user and/or logged to the @@service.log@@ file. If this occurs then this is an indication that the server requires more memory, and there are two possible solutions: