View Source

h1. Jenkins Features Controlled with System Properties

Jenkins has several "hidden" features that can be enabled with system properties. System properties are defined by passing {{\-Dproperty=value}} to the {{java}} command line to start Jenkins. Make sure to pass all of these arguments *before* the {{\-jar}} argument, otherwise they will be ignored. Example:

{noformat}java -Dhudson.footerURL=http://example.org -jar jenkins.war{noformat}

The following table lists the properties and the version of Jenkins they were introduced in.

* *Property* \- Java property name
* *Default* \- Default value if not explicitly set
* *Version* \- The version of Jenkins the property was introduced in
* *Notes* \- Other notes

||Property||Default||Version||Notes||
| hudson.ClassicPluginStrategy.useAntClassLoader | false | 1.316 | |
| hudson.consoleTailKB | 150 | | How many KB of console log to show in default console view |
| hudson.diagnosis.HudsonHomeDiskUsageChecker.freeSpaceThreshold | 1073741824 | 1.339 | The notification threshold for when the Hudson home directory is running low on disk space, in bytes |
| hudson.diyChunking | false | | Set to true if the servlet container doesn't support chunked encoding |
| hudson.DNSMultiCast.disabled | false | 1.359 | Set to "true" to disable DNS multicast |
| hudson.footerURL | [http://jenkins-ci.org/] | 1.416 | Allows tweaking the URL displayed at the bottom of Jenkins' UI |
| hudson.Functions.autoRefreshSeconds | 10 | 1.365 | Number of seconds between reloads when Auto Refresh is enabled |
| hudson.lifecycle | | | Specify full class name for Lifecycle implementation to override default |
| hudson.matrix.MatrixConfiguration.useShortWorkspaceName | false | | Use shorter but cryptic names in matrix build workspace directories. Avoids problems with 256 character limit on paths in Cygwin, path depths problems on Windows, and shell metacharacter problems with label expressions on most platforms. See [JENKINS-25783|https://issues.jenkins-ci.org/browse/JENKINS-25783]. |
| hudson.model.DownloadService.never | false | | Suppress the periodic download of data files for plugins |
| hudson.model.Hudson.flyweightSupport | was:false \\
1.337:true \\
1.598:unused | 1.318 | Matrix parent job and other flyweight tasks (e.g. Build Flow plugin) won't consume an executor when true. Unused since 1.598, flyweight support is now always enabled |
| hudson.model.Hudson.killAfterLoad | false | | Exit Jenkins right after loading |
| jenkins.model.Jenkins.logStartupPerformance | false | | Log startup timing info |
| hudson.model.Hudson.parallelLoad | true | | Loads job configurations in parallel on startup |
| hudson.model.LoadStatistics.clock | 10000 | | Load statistics clock cycle in milliseconds |
| hudson.model.LoadStatistics.decay | 0.9 | | Decay ratio for every clock cycle in node utilization charts |
| hudson.model.MultiStageTimeSeries.chartFont | SansSerif-10 | 1.562 | Font used for load statistics (see [Java documentation|http://docs.oracle.com/javase/7/docs/api/java/awt/Font.html#decode%28java.lang.String%29] on how the value is decoded) |
| hudson.model.Queue.cacheRefreshPeriod | 1000 \\ | 1.577 \\ | Defines the refresh period for the internal queue cache (in milliseconds). The greater period workarounds web UI delays on large installations, which may be caused by locking of the build queue by build executors. Downside - builds appear in the queue with a noticeable delay. \\ |
| hudson.model.Run.ArtifactList.listCutoff | 16 | 1.330 | More artifacts than this will use tree view or simple link rather than listing out artifacts |
| hudson.model.Run.ArtifactList.treeCutoff | 40 | 1.330 | More artifacts than this will show a simple link to directory browser rather than showing artifacts in tree view |
| hudson.model.Slave.workspaceRoot | workspace | 1.341? | name of the folder within the slave root directory to contain workspaces |
| hudson.model.UpdateCenter.never | false | | When true, don't automatically check for new versions |
| hudson.model.User.allowNonExistentUserToLogin | false | 1.602 | When true, does not check auth realm for existence of user if there's a record in Jenkins. Unsafe, but may be used on some instances for service accounts |
| hudson.model.WorkspaceCleanupThread.disabled | false | | Don't clean up old workspaces on slave nodes |
| hudson.model.WorkspaceCleanupThread.recurrencePeriodHours | 24 | 1.608 | How often workspace cleanup should run, in hours. |
| hudson.model.WorkspaceCleanupThread.retainForDays | 30 | 1.608 | Unused workspaces are retained for this many days before qualifying for deletion. |
| hudson.os.solaris.ZFSInstaller.disabled | false | | True to disable ZFS monitor on Solaris |
| hudson.remoting.FlightRecorderInputStream.BUFFER_SIZE | 1048576 | 1.563 | Size (in bytes) of the flight recorder ring buffer used for debugging remoting issues |
| hudson.remoting.Launcher.pingIntervalSec | 600 | 1.367 | Seconds between [ping checks|ping thread] to monitor health of slave nodes; 0 to disable ping |
| hudson.remoting.Launcher.pingTimeoutSec | 240 | 1.367 | If [ping of slave node|ping thread] takes longer than this, consider it dead; 0 to disable ping |
| hudson.PluginStrategy | | | Allow plugins to be loaded into a different environment, such as an existing DI container like Plexus; specify full class name here to override default ClassicPluginStrategy |
| hudson.scheduledRetention | false | Up to 1.354 | Control a slave based on a schedule |
| hudson.scm.CVSSCM.skipChangeLog | false | | Useful with ancient versions of CVS that don't support the \-d option in the log command |
| hudson.security.csrf.requestfield | .crumb | 1.310 | Parameter name that contains a crumb value on POST requests |
| hudson.security.ArtifactsPermission | false | 1.374 | The Artifacts permission allows to control access to artifacts; When this property is unset or set to false, access to artifacts is not controlled |
| hudson.security.ExtendedReadPermission | false | 1.324 | The ExtendedReadPermission allows read-only access to adminstrative pages; can also enable with extended-read-permission plugin |
| hudson.security.WipeOutPermission | false | 1.416 | The WipeOut permission allows to control access to the "Wipe Out Workspace" action, which is normally available as soon as the Build permission is granted |
| hudson.security.LDAPSecurityRealm.groupSearch | [Mouseover|#here|(& (cn=\{0\}) (\| (objectclass=groupOfNames) (objectclass=groupOfUniqueNames) (objectclass=posixGroup)))] | | LDAP filter to look for groups by their names |
| hudson.slaves.ChannelPinger.pingInterval | 5 | 1.405 | Frequency (in minutes) of [pings between the master and slaves|ping thread] |
| hudson.slaves.WorkspaceList | @ | 1.424 | When concurrent builds is enabled, a unique workspace directory name is required for each concurrent build. To create this name, this token is placed between project name and a unique ID, e.g. "my-project@123". |
| hudson.tasks.ArtifactArchiver.warnOnEmpty | false | | When true, builds don't fail when there is nothing to archive |
| hudson.tasks.Fingerprinter.enableFingerprintsInDependencyGraph | false | 1.430 | When true, jobs associated through fingerprints are added to the dependency graph, even when there is no configured upstream/downstream relationship between them. |
| hudson.tasks.MailSender.maxLogLines | 250 | | Number of lines of console output to include in emails |
| hudson.TcpSlaveAgentListener.hostName | n/a (same as web) | 1.445 | Change the host name CLI should connect to, e.g. when Jenkins UI is accessed through reverse proxy on other host |
| hudson.TreeView | false | | Experimental nested views feature |
| hudson.triggers.SCMTrigger.starvationThreshold | 1 hour | | Milliseconds waiting for polling executor before trigger reports it is clogged |
| hudson.udp | 33848 | | Port for UDP multicast broadcast (set to \-1 to disable) |
| hudson.upstreamCulprits | false | 1.327 | Pass blame information to downstream jobs |
| hudson.Util.noSymLink | false | | True to disable creation of symbolic links in job/builds directories |
| hudson.util.ProcessTree.disable | false | | True to disable cleanup of child processes |
| hudson.util.RingBufferLogHandler.defaultSize | 256 | 1.563 | Number of log entries in loggers available on the UI at {{/log/}} |
| hudson.util.Secret.provider | | 1.360 | Force a particular crypto provider; with Glassfish Enterprise set value to {{SunJCE}} to workaround a [known issue|6459@issue]. |
| hudson.Util.symlinkEscapeHatch | false | | True to use exec of "ln" binary to create symbolic links instead of native code |
| jenkins.security.FrameOptionsPageDecorator.enabled | true | 1.581 | Whether to send {{X-Frame-Options: sameorigin}} header, set to false to disable and make Jenkins embeddable |
| jenkins.InitReactorRunner.concurrency | 2x of CPU \\ | | {color:#000000}During start of Jenkins, loading of jobs in parallel have a fixed number of threads by default (twice the CPU). To make Jenkins load time 8x faster, increase it to 8x. For example, 24 CPU Jenkins Master host use this:{color} {color:#000000}\-Dhudson.InitReactorRunner.concurrency=192{color} |


{note:title=No compatibility guarantee}In general, these switches are often experimental in nature, and subject to change without notice. If you find some of those useful, please file a ticket to promote it to the official feature.{note}