Configurables
Configurables are used to set parameters that customize P4 behavior. For details about each configurable, including whether it affects the server, client, or proxy, see the Configurables reference.
To modify the value of a configurable, you must be a user with the appropriate access level A permission assigned to a user to control which commands the user can run. See also the 'protections' entry in this glossary and the 'p4 protect' command in the P4 CLI Reference.. A typical way to set a configurable is to use the p4
	    configure command, which requires the super access level and is also available to an operator user.
To learn how to set configurables, see:
See also: Environment and registry variables.
Set server configurables
p4 configure show displays the current configuration of this server.
A user with the super access level (or an operator user) can set or unset configurables that affect a
      P4 Server. These configurables are also described in p4 help
	  configurables. For options for setting server configurables, see  p4
	    configure.
The DistributedConfig field of the server spec shows a line for each configurable that is set to a non-default value. In this field, you can edit the value, add a new line to set a different configurable to a non-default value, or delete a line to reset that configurable to its default value.
p4 configure history allows the super user to track the history of changes to the values of configurables.
You can set configurables that affect the server by using the following methods, which are shown in order of precedence, where 1 overrides 2, 2 overrides 3, and 3 overrides 4:
| Precedence | How the value is set | Persistent configuration? | 
|---|---|---|
| 1 | Command line "-v" options that are passed at server startup. For example: p4d -v net.keepalive.idle=2700 | No, but the option can be supplied each time the server is started, | 
| 2 | Using the  | Yes | 
| 3 | Using environment variables. 
 | Yes only for Windows | 
Server restart required for some configurables
Most configurables can be set dynamically. However, some configurables require the server to be stopped and restarted. In the Alphabetical list of configurables, these are indicated in the column with the heading "Server restart required?"
Set client configurables
You can set configurables  that affect the client by using the following methods, which are shown in order of precedence, where 1 overrides 2, 2 overrides 3, and 3 overrides 4. For example, values set in a P4CONFIG file override
	  those set in a P4ENVIRO file.
| Precedence | Method | Persistent configuration? | 
|---|---|---|
| 1 | Command line global options. | No | 
| 2 | Entries in the file specified by  Use the  | Yes | 
| 3 |  Entries in the  | Yes | 
| 4 | p4 setcommand for Windows and macOS. | Yes | 
Set proxy configurables
You can set configurables that affect the proxy in the following ways:
| Precedence | Method | Example | Persistent configuration? | 
|---|---|---|---|
| 1 | Command line options. | p4p -p tcp64:[::]:1999 -t central:1666 -r /var/proxyroot -v proxy.monitor.level=2 | No | 
| 3 | p4 setcommand for Windows | p4 set -S "Perforce Proxy" P4DEBUG=net.keepalive.idle=2800 | Yes |