Configuring System Properties

This page describes how to set Java properties and options on startup for Confluence.

tip/resting Created with Sketch.

See Fix java.lang.OutOfMemoryError in Confluence for specific instructions for OutOfMemory Errors.

Linux

To configure System Properties in Linux installations:

  1. Edit the <installation-directory>/bin/setenv.sh file. 
  2. Find the section CATALINA_OPTS=
    (this is JAVA_OPTS= in Confluence 5.5 and earlier) 
  3. Refer to the list of parameters in Recognized system properties.

(info) Add all parameters in a space-separated list, inside the quotations.

Windows (starting from .bat file)

To Configure System Properties in Windows Installations When Starting from the .bat File:

  1. Edit the <installation-directory>/bin/setenv.bat file. 
  2. Find the section set CATALINA_OPTS=%CATALINA_OPTS%
    (this is JAVA_OPTS=%JAVA_OPTS% in Confluence 5.5 and earlier) 
  3. Refer to the list of parameters in Recognized system properties.

(info) Add all parameters in a space-separated list. Make sure to keep the string %CATALINA_OPTS% in place.

Windows service

There are two ways to configure system properties when you Start Confluence Automatically on Windows as a Service, either via command line or in the Windows Registry

Setting properties for Windows services via command line

To set properties for Windows services via a command line:

  1. Identify the name of the service that Confluence is installed as in Windows (Go to Control Panel > Administrative Tools > Services):

    (info) In the above example, the service name is Confluence121213135538
  2. Open the command window (Choose Start > cmd.exe
  3. cd to the bin directory of your Confluence instance and run the following command:

    tomcat8w //ES//<SERVICENAME>

    (info) In the above example, it would be tomcat8w //ES//Confluence121213135538
    The Tomcat version number may be different if you are using an earlier version of Confluence. 

  4. Click on the Java tab to see the list of current start-up options:
  5. Append any new option on its own new line by adding to the end of the existing Java Options. Refer to the list of parameters in Recognized system properties.

Setting properties for Windows services via the Windows registry

In some versions of Windows, there is no option to add Java variables to the service. In these cases, you must add the properties by viewing the option list in the registry.

  1. Go to the Registry Editor (Start > regedit.exe).
  2. Find the Services entry:
    64bit: HKEY_LOCAL_MACHINE >> SOFTWARE >> WOW6432Node >> Apache Software Foundation >> Procrun 2.0 >> Confluence service name
    32bit: HKEY_LOCAL_MACHINE >> SOFTWARE >> Apache Software Foundation >> Procrun 2.0 >> Confluence service name

  3. To change existing properties double-click the appropriate value.
  4. To change additional properties, double-click options.
  5. Refer to the list of parameters in Recognized system properties. Enter each on a separate line.

Confluence Data Center deployed in AWS

If you've used the Quick Start or CloudFormation template to deploy Confluence Data Center in AWS, you will pass system properties via the Cloud Formation Template, and not using the methods described above. 

  1. In the AWS Console, choose Update Stack
  2. Under Advanced, enter system properties in the Catalina Properties field as follows: 

    -Xms1024m -Xmx1024m -Dsystemproperty=value
  3. Changes are applied when a new nodes are provisioned. 

Verifying your settings

To see what Confluence is using, check Viewing System Properties.

Recognized system properties

Since

Default Value

Module...

Effect

atlassian.forceSchemaUpdate

1.0

false

atlassian-config

By default, Confluence will only run its database schema update when it detects that it has been upgraded. This flag will force Confluence to perform the schema update on system startup.

confluence.home

1.0

Any filesystem path

Confluence and atlassian-config

If this system property is set, Confluence will ignore the contents of the confluence-init.properties file, and use this property as the setting for the Confluence Home directory.

confluence.dev.mode

1.0

false

Confluence

Enables additional debugging options that may be of use to Confluence developers (additionally it changes spring bean creation to use lazy initialization by default to decrease startup time). Do not enable this flag on a production system.

confluence.disable.mailpolling

2.4

false

Confluence

If set to "true", will prevent Confluence from retrieving mail for archiving within spaces. Manually triggering "check for new mail" via the web UI will still work. This property has no effect on outgoing mail

confluence.i18n.reloadbundles

1.0

true

Confluence

Setting this property will cause Confluence to reload its i18n resource bundles every time an internationalized string is looked up. This can be useful when testing translations, but will make Confluence run insanely slowly.

confluence.ignore.debug.logging

1.0

true

Confluence

Confluence will normally log a severe error message if it detects that DEBUG level logging is enabled (as DEBUG logging generally causes a significant degradation in system performance). Setting this property will suppress the error message.

confluence.jmx.disabled

3.0

false

Confluence

If set to "true", will disable Confluence's JMX monitoring. This has the same effect as setting the "enabled" property to false in WEB-INF/classes/jmxContext.xml

confluence.optimize.index.modulo

2.2

20

Confluence

Number of index queue flushes before the index is optimized.

confluence.plugins.bundled.disable

2.9

false

Confluence

Starts confluence without bundled plugins. May be useful in a development environment to make Confluence start quicker, but since bundled plugins are necessary for some of Confluence's core functionality, this property should not be set on a production system.

atlassian.indexing.contentbody.maxsize
3.01048576atlassian

When a file is uploaded, its text is extracted and indexed. This allows people to search for the content of a file, not just the filename.

If the amount of content extracted from the file exceeds the limit set by this property (default is 1MB, in bytes), the file's contents will still be indexed and searchable, but will not appear when the file is returned in search results. Increasing this limit may make displaying search results slower. See Configuring Attachment Size for more info.

atlassian.mail.fetchdisabled

3.5

false

Confluence

Disables mail fetching services for IMAP and POP

atlassian.mail.senddisabled

3.5

false

Confluence and atlassian-mail

Disables sending of mail

atlassian.disable.caches

2.4

true

atlassian-plugins, atlassian-cache-servlet

Setting this property will disable conditional get and expires: headers on some web resources. This will significantly slow down the user experience, but is useful in devlopment if you are frequently changing static resources and don't want to continually flush your browser cache.

confluence.html.encode.automatic

2.9


Confluence

Setting this property forces the antixss encoding on or off, overriding the behavior dictated by settings. The default behavior differs between Confluence versions.

org.osgi.framework.bootdelegation

2.10

empty

atlassian-plugins

Comma-separated list of package names to provide from application for OSGi plugins. Typically required when profiling Confluence. For example: "com.jprofiler.,com.yourkit.".

confluence.diff.pool.size

3.1

20

Confluence

Maximum number of concurrent diffs. When that number is exceeded, additional attempts by RSS feeds to create diffs are ignored and logged. (The RSS requests succeed, they are just missing diffs).

confluence.diff.timeout

3.1

1000

Confluence

Number of milliseconds to wait for a diff operation (comparing two page versions) to complete before aborting with an error message.

confluence.html.diff.timeout
4.0
10000
ConfluenceNumber of milliseconds to wait for a diff operation (comparing two page versions) to complete before aborting with an error message.
atlassian.user.experimentalMapping

2.10

false

Confluence

Setting this property changes the relationship between local users and local groups to reduce performance degradation when adding a local user to a local group with a large number of users. Please note, setting this property can slow down other user management functions. We recommend that you set it only if you are experiencing performance problems when adding local users to large local groups. Please refer to CONF-12319, fixed in Confluence 3.1.1.

confluence.import.use-experimental-importer

3.2

false

Confluence

Setting this property changes Confluence to use the Experimental XML Importer. It is designed to be a more stable implementation but, at the time of the release of 3.2, the importer is largely untested and thus not supported.

atlassian.webresource.disable.minification

3.3

false

atlassian-plugins

Disables automatic minification of JavaScript and CSS resources served by Confluence.

index.queue.thread.count

3.3

See "Effect"

Confluence

Sets the number of threads to be used for the reindex job. The value has to be in the range of 1 to 50 (inclusive), i.e. at least one thread but no more than 50 threads will be used. There is no default value, i.e.

  • If you don't set index.queue.thread.count, the number of threads to be used are calculated based on the number of objects that need to be reindexed and the number of processors available (a maximum of 50 threads will be used).
  • If you set index.queue.thread.count=2, then two threads will be used to reindex the content (regardless of the number of objects to be reindexed or the number of processors available)
  • If you set index.queue.thread.count=200, then ten threads (the maximum allowed) will be used to reindex the content.

Note: For Confluence versions from 3.3 to 5.6 the maximum threads is 10.

index.queue.batch.size

3.3

1500

Confluence

Size of batches used by the indexer. Reducing this value will reduce the load that the indexer puts on the system, but indexing takes longer. Increasing this value will cause indexing to be completed faster, but puts a higher load on the system. Normally this setting does not need tuning.

password.confirmation.disabled

3.4

false

Confluence

This property disables the password confirmation functionality that Confluence uses as an additional security measure. With this property set, Confluence will not require password confirmation for the following actions: administrative actions, change of email address and Captcha for failed logins. Disabling password confirmations is useful if you are using a custom authenticator.

confluence.browser.language.enabled

3.5

true

Confluence

Setting this property to "false" disables the detection of browser language headers, effectively restoring Confluence behavior to that of earlier releases. Setting this property to "true" enables the detection of the language headers sent by the browser. Confluenc will change the UI language based on the browser headers. See documentation on how users can choose a language preference.

upm.pac.disable

Universal Plugin Manager 1.5

false

Universal Plugin Manager (UPM)

When this property is set to true, then UPM will not try to access the The Atlassian Marketplace. This is useful for application servers that do not have access to the Internet. See the UPM documentation.

confluence.reindex.documents.to.pop

3.5.9

20

Confluence

Indicates how many objects each indexing thread should process at a time during a full re-index. Please note that this number does not include attachments

confluence.reindex.attachments.to.pop

3.5.9

10

Confluence

Indicates how many attachments each indexing thread should process at a time during a full re-index.

confluence.upgrade.active.directory

3.5.11

false

Confluence

Forces Confluence to treat any LDAP directories it migrates as Active Directory, rather than relying on looking for sAMAccountName in the username attribute. This is necessary if you are upgrading from before Confluence 3.5, and need to use an attribute other than sAMAccountName to identify your users and are seeing LDAP: error code 4 - Sizelimit Exceeded exceptions in your logs. For more details, see Unable to Log In with Confluence 3.5 or Later Due to 'LDAP error code 4 - Sizelimit Exceeded'

confluence.context.batching.disable
4.0
false
ConfluenceDisables batching for web resources in contexts (e.g. editor, main, admin). Useful for diagnosing the source of javascript or CSS errors.
com.atlassian.logout.disable.session.invalidation

4.0

false

Confluence

Disables the session invalidation on log out. As of 4.0 the default behavior is to invalidate the JSession assigned to a client when they log out. If this is set to true the session is kept active (but the user logged out). This may be valuable when using external authentication systems, but should generally not be needed.

officeconnector.spreadsheet.xlsxmaxsize
4.0.52097152 Office ConnectorIndicates the maximum size in bytes of an Excel file that can be viewed using the viewxls macro. If empty, the maximum size defaults to 2Mb. See CONF-21043 for more details.
com.atlassian.confluence.extra.calendar3.display.events.calendar.maxpercalendar

200Team CalendarsSpecifies the maximum number of events per calendar. This property is effective only if the Team Calendars plugin is installed on your Confluence site.
com.atlassian.confluence.allow.downgrade
4.3.2, 5.0-OD-10falseConfluenceAllows Confluence to start up against the home directory of a newer version of Confluence. Note that running Confluence like that is unsupported. You should only turn this on if you know what you are doing. See After Downgrading, Confluence Will No Longer Run for details.
confluence.skip.reindex

false
When true, allows Confluence to skip rebuilding the search index when Confluence is upgraded. This can be useful if you have a very large site and wish to delay rebuilding the index until a time after the upgrade is complete.
reindex.thread.count
5.2
ConfluenceSets the number of threads to be used for a one-off reindex job. The value has to be in the range of 1 to 50 (inclusive), i.e. at least one thread but no more than 50 threads will be used. There is no default value. This system property does not affect the incremental indexing that Confluence does.
reindex.attachments.thread.count
5.24Confluence

Sets the number of threads to be used for reindexing attachments specifically, and allows you to reduce the concurrency for these more memory intensive index items.

atlassian.confluence.export.word.max.embedded.images
5.250
This property limits the number of images that are included when you export a Confluence page to Word. When you export a page with many large images images to Word, all the images are loaded into memory, which can then cause out of memory errors affecting your entire Confluence site. You can temporarily increase this limit, using this system property, if you need to export a page with lots of images.
confluence.mbox.directory
5.4.1
ConfluenceSetting this property defines the directory on your Confluence Server where mailboxes can be imported from (for use with the Confluence Mail Archiving add-on). Mailboxes are not able to be imported from any other location. We recommend administrators create a directory in the Confluence Home directory specifically for this purpose. Mail cannot be imported from the server until this system property is set.
confluence.search.max.results
5.51000ConfluenceSetting this property changes the maximum number of items Confluence Search will return.
confluence.upgrade.recovery.file.enabled
5.5trueConfluenceBy default, Confluence creates an upgrade recovery file before and after an upgrade. The operation can take long time on large databases and can be safely turned off if there is a process to back up database and verify the backup before performing an upgrade. Setting this property to false will disable upgrade recovery file creation.
confluence.junit.report.directory
5.5
ConfluenceSetting this property defines the directory on your Confluence Server where JUnit Reports can be imported from (for use in the JUnit Report Macro). No other locations are permitted. We recommend administrators create a directory in the Confluence Home directory specifically for this purpose. JUnit Test result files cannot be imported from the server until this system property is set.
officeconnector.textextract.word.docxmaxsize
5.5.316777216Confluence

When a file is uploaded, its text is extracted and indexed. This allows people to search for the content of a file, not just the filename.

Confluence will only extract content from a Word document up to the limit set by this property (defaults to 16MB, in bytes), before proceeding to index it. This will mean that only part of file's contents are searchable. See Configuring Attachment Size for more info.

cluster.login.rememberme.enabled
5.6

False


In a cluster, setting this property to True will enable the 'Remember Me' checkbox on the login page. This is not recommended in a cluster, and is disabled by default (i.e. 'Remember me' is always on and users can move seamlessly between nodes).

This system property has no effect in standalone Confluence.

confluence.cluster.hazelcast.listenPort
5.65801

In a cluster, this property can be used to override the default port that Hazelcast will bind to, for example, if the port is unavailable, or you need to run more than one node on the same host (not recommended). It defaults to 5801.

confluence.document.conversion.threads
5.7
ConfluenceThe number of threads allocated to the file conversion service is calculated dynamically based on the amount of memory assigned to the instance and the number of CPU cores (usually 4 to 6 threads). This property can be used to change the number of threads. Decrease threads to resolve OOME issues, increase threads to resolve problems with documents spending too long in the queue.
confluence.document.conversion.threads.wait
5.71000ConfluenceSet this property to change the maximum number of items that can be queued for conversion. Any file conversion requests that are made when this maximum limit has been reached are aborted.
confluence.cluster.node.name
5.7
ConfluenceSet this property to give each node in your Data Center cluster a human readable name (displayed in email notifications and in the footer). If left unset, Confluence will assign a node identifier to each node.
confluence.document.conversion.fontpath
5.8.7
Confluence

Set this property to define a directory where you can add additional fonts to be used when rendering files (in previews and thumbnails).

This is useful if you need to support previewing files with specific fonts, or fonts with multibtye characters (such as Japanese).

confluence.document.conversion.words.defaultfontname
5.8.7
Confluence

Set this property to change the default font for rendering Word (.doc and .docx) files in Confluence.

Specify just the name of the font (not the path).

confluence.document.conversion.slides.defaultfontname.regular
5.8.7
Confluence

Set this property to change the default font for rendering regular fonts in Powerpoint (.ppt and .pptx) files in Confluence.

Specify just the name of the font (not the path).

confluence.document.conversion.slides.defaultfontname.asian
5.8.7TakaoPGothicConfluence

Set this property to change the default font for rendering asian fonts in Powerpoint (.ppt and .pptx) files in Confluence.

Specify just the name of the font (not the path).

confluence.document.conversion.slides.defaultfontname.symbol
5.8.7
Confluence

Set this property to change the default font for rendering symbols in Powerpoint (.ppt and .pptx) files in Confluence.

This is the font that will be used for bullets and other symbols when the font Symbol is not found.

Specify just the name of the font (not the path).

confluence.clickjacking.protection.disable
5.8.15falseConfluenceSecurity features prevent Confluence from being embedded in an <iframe>. To disable this protection, set this property to true which will allow Confluence to be embedded in an <iframe>.
confluence.cluster.index.recovery.query.timeout
5.9.110
In Confluence Data Center, the amount of time, in seconds, that a confluence node needing index recovery will wait for another node to offer an index snapshot, before it gives up and stops attempting to recover the index.
confluence.cluster.index.recovery.generation.timeout
5.9.1120
In Confluence Data Center, the amount of time, in seconds, that a confluence node needing index recovery will wait for an index snapshot to be created by another node, before it gives up and and stops attempting to recover the index.
confluence.cluster.index.recovery.num.attempts
5.9.11
In Confluence Data Center, the number of times that a node needing index recovery will attempt to recover its index. Set this property to 0 to disable index recovery on that node (for example, when you want to force a node to automatically rebuild its own index on startup).
com.atlassian.confluence.officeconnector.canary.memory_value
5.9.11024ConfluenceSets the memory (in megabytes) available to the Office Connector Canary process, which is a workaround for a known issue with the Import from Word option. See JVM crashes during Import from Word in Confluence for more information.
com.atlassian.confluence.officeconnector.canary.timeout
5.9.1120000ConfluenceSets the maximum timeout (in milliseconds) for the Office Connector Canary process, which is a workaround for a known issue with the Import from Word option. See JVM crashes during Import from Word in Confluence for more information.
atlassian.plugins.enable.wait
5.9.5300
Set this property to increase the default time to wait for plugins to start up. This is useful if you have problems with plugins not starting up in time, causing Confluence to fail to start.
confluence.cluster.hazelcast.max.no.heartbeat.seconds
5.9.730ConfluenceIn Confluence Data Center, this sets how long (in seconds) a node can be out of communication with the cluster before it's removed from the cluster. See balancing uptime and data integrity for more info on when you may want to change this setting.
confluence.startup.remigration.disable
5.10.8False
Set this property to true if you repeatedly experience issues with Confluence creating a new page version as it attempts to migrate pages containing unmigrated wiki-markup macros each time a plugin is install or updated. See CONF-37710 - Getting issue details... STATUS for more details.
cluster.safety.time.to.live.split.ms
6.0.060000

In Confluence Data Center, this is the amount of time (in milliseconds) that the cluster safety job will wait to allow the nodes to rejoin after a split brain is detected. If the node still can't find the cluster safety number in the cache after this time, the node will panic.

confluence.cph.max.entries
6.0.02000ConfluenceThis is the maximum number of pages that can be copied when you copy a page and its child pages. Increase this if you need to copy a page with more than the default number of child pages.
confluence.cph.batch.size
6.0.010ConfluenceThis is the number of pages copied in each batch when you copy a page and its children. Increase or reduce this number if you experience problems copying a page with many child pages.
synchrony.port (formerly known as reza.port)
6.0.08091
This is the port that Synchrony, the service that powers collaborative editing, runs on. You should only need to change this if port 8091 is not available. For Confluence Data Center system properties see Configuring Synchrony for Data Center.
From 6.0.4, Confluence Server will accept either reza.port or synchrony.port.
synchrony.memory.max (formerly reza.memory.max)
6.0.01g
This is the maximum heap size (Xmx) allocated to Synchrony, the service that powers collaborative editing. Change this value if you need to increase or decrease the heap size. For Confluence Data Center system properties see  Configuring Synchrony for Data Center.
From 6.0.4, Confluence Server will accept either reza.memory.max or synchrony.memory.max.  
synchrony.stack.space
6.0.02048k
This sets the stack size (Xss) of the Synchrony JVM. Increase if you experience stack overflow errors, or decrease if you experience out of memory errors from Synchrony.
synchrony.enable.xhr.fallback
6.0.0True
XML HTTP Request (XHR) fallback allows a user, who cannot connect to Synchrony via a WebSocket, to use the Confluence Editor. From Confluence 6.1 this is enabled by default, and only used when a WebSocket connection is not available. You should not need to disable this, unless directed by our support team.
synchrony.database.test.connection.on.checkin
6.0.0True
Verifies the connection to the database is valid at every connection checkin. Atlassian Support may suggest you set this property to False if you experience performance issues in sites that have very frequent page edits.
synchrony.proxy.enabled
6.0.0True

By default, Confluence uses an internal proxy to communicate between the Confluence JVM and Synchrony JVM. See Administering Collaborative Editing for more information.

In Confluence 6.0, set this property to true to manually enable the internal proxy (useful if you have configured a reverse proxy and want to also use the internal Synchrony proxy).

In Confluence 6.1 or later it should not be necessary to use this system property, as Confluence intelligently determines when to use the proxy.

This property has no effect in Confluence Data Center.

synchrony.bind (formerly known as reza.bind)
6.0.00.0.0.0
This is the specific network interface that Synchrony listens on. It is unlikely that you will need to change this in Confluence Server. In Confluence Data Center this should be set to the same value as synchrony.cluster.bind.
From 6.0.4, Confluence Server will accept either reza.bind or synchrony.bind. 
synchrony.context.path
6.0.0/synchrony
This is the context path for Synchrony. There should be no need to change this in Confluence Server.
confluence.flyingpdf.default.characters.per.line
6.0.380
If the total characters in a table column heading exceeds the value of this property, Confluence will automatically adjust the width of the other table columns so that all columns will fit within one page when the page is exported to PDF.
synchrony.host
6.0.4127.0.0.1
This is the IP that Confluence uses to connect to Synchrony. It defaults to localhost. Change this if you need to allow Confluence to contact Synchrony via a custom hostname or IP address.
synchrony.proxy.healthcheck.disabled
6.1.0false
The Synchrony proxy health check is used to check whether the Synchrony proxy is running and responding to requests. It requires a http connection. If a http connector is not present in your server.xml (for example you're using a https or AJP connector) the health check will fail even if the Synchrony proxy is operational. You can use this system property to disable the health check if necessary.
page.index.macro.max.pages
6.1.45000
Sets the maximum number of pages that the Page Index macro can display. The Page Index macro can significantly slow down your Confluence instance and cause out of memory errors when used in a space with a large number of pages. If the number of pages in the space exceeds this limit, the Page Index macro will show a page count, and a message that there are too many pages to display.
atlassian.indexing.attachment.maxsize 
6.2.2104857600

When a file is uploaded, its text is extracted and indexed. This allows people to search for the content of a file, not just the filename.

If the uploaded file is larger than the limit set by this property (default is 100MB, in bytes), text extraction and indexing will be skipped. See Configuring Attachment Size for more info.

officeconnector.excel.extractor.maxlength
6.2.21048576

When a file is uploaded, its text is extracted and indexed. This allows people to search for the content of a file, not just the filename.

Confluence will only extract content from an Excel spreadsheet up to the limit set by this property (default is 1MB, in bytes), before proceeding to index it. This will mean that only part of file's contents are searchable. See Configuring Attachment Size for more info.

confluence.collab.edit.user.limit
6.3.012
When collaborative editing is enabled, this sets the maximum number of users that can simultaneously edit a page. Reduce this number if you experience degraded performance when many people are editing.

Last modified on Aug 15, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.