p4 configure
Set, view, and manage server configuration variables.
Syntax
p4 [g-opts] configure set [P4NAME#|server_id#]variable=value
p4 [g-opts] configure unset [P4NAME#|server_id#]variable
p4 [g-opts] configure show [allservers | P4NAME | variable]
Description
Configuration variables are used to control and customize the behavior of the Helix Core service. A configurable setting might affect the client, the server, or a proxy.
An alternative is using p4 server, which conveniently allows some configuration in the server spec. See the p4 server topic on the DistributedConfig: field.
The configuration variables are described both in this Reference and at the command line:
This Reference | Command-line |
---|---|
See Configurables - alphabetical list (indicates which ones require stopping the server.) |
p4 help configurables |
See Environment and registry variables | p4 help environment |
Precedence
The following table shows how the value of a configurable variable is set, where 1 overrides 2, 2 overrides 3, and 3 overrides 4:
Precedence |
How the value is set |
---|---|
1 |
Command line "-v" options that are passed at server startup. For example:
$ p4d -v net.keepalive.idle=2700
|
2 |
Persistently, using the This method allows you to set the specified configurable for a named server or for any server. |
3 |
Using environment variables.
|
4 |
Using default values (no action required). |
You can use K
and M
to represent large numbers. For example, 10M
is the default value for the dm.shelve.maxfiles configurable.
Viewing the values of configuration variables
To display the configuration
state of the current server, a named server, or any configurable, including a Helix Core environment variable, use p4 configure show
(See Environment and registry variables).
Each configurable is displayed along with its value, where the entry in the parentheses ( ) indicates how the value was set. For example,
p4 configure show might output:
If the output line is ... | the value was set by ... |
---|---|
P4PORT=20192 (-p) | p4d -p |
monitor=2 (-v) | p4d -v |
net.parallel.max: 10 (configure) | p4 configure |
serverid=commit (serverid) | p4 serverid |
Note that monitor is set to 2. To find out whether a specific configurable variable has been set in more than one way, specify that configurable variable:
p4 configure show monitor
which might output:
monitor=2 (-v) monitor=10 (configure)
to indicate that p4d -v set monitor to 2, and p4 configure set monitor to 10. Because p4d has precedence over p4 configure, the output of p4 configure show indicates that monitor is set to 2.
Unsetting a value
To remove a custom setting of a configurable, use the p4 configure unset
command.
After installing Helix server, it is good practice to:
- enable process monitoring by setting
monitor
to 1 or 2 - require ticket-based authentication by
setting
security
to 3 or 4 - prevent the automatic
creation of new users by setting
dm.user.noautocreate
to 1 or 2 - force new users that you create to reset their passwords by setting
dm.user.resetpassword
to 1
Stopping the server for some configurables
Changes to most configurables take effect immediately. For example,
|
Changes to |
For certain configurables, such as ssl.tls.version.min: After you change the value of this configurable, you must explicitly "stop" the server. Note
p4 admin restart is not sufficient. For UNIX, see Stopping the Perforce Service and Starting the Perforce Service. For Windows, see Starting and stopping the Helix server. |
Setting configurables in distributed environments
Servers can be identified by name. In replicated and distributed
environments, a master can control the settings of multiple replicas by
specifying the server name as part of the configurable. For example, the
following command sets the value of the serviceUser
configurable for an edge server (tokyo_edge
). The command is
executed on the commit server.
$ p4 configure set tokyo_edge#serviceUser=svc_tokyo_edge
For details, see Helix Core Server Administrator Guide: Multi-Site Deployment.
Accessing configurables when the server is down
If the
Helix server is not running or you cannot access the server, you can use the
command to list, set, and unset server
configurables:p4d
-
To list all server configuration variables, use the
-cshow
option. For example:$ p4d -r $P4ROOT -cshow
-
To set or unset values, use
-cset
or-cunset
. For example:$ p4d -r $P4ROOT "-cset myServer#auth.ldap.timeout=30" $ p4d -r $P4ROOT "-cunset myServer#db.replication"
For more information, see the Support Knowledgebase article, "Accessing Server Configuration Variables".
Options
|
Sets the named variable to the provided value. |
|
Unsets the named variable. |
|
Shows the current configuration of the server currently
specified by Note
Regarding the maximum size of
the |
|
Shows the configuration variables for all servers known to the system. |
|
Shows the setting of a specific configuration variable. |
|
If a
Helix server was invoked with |
|
See Global options. |
Usage Notes
Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required |
---|---|---|
N/A |
N/A |
|
Examples
p4 configure set "Replica1#startup.1=pull -i 1" |
On the server named Replica1, set the startup.n configurable to poll 1 every second |
p4 configure set rpl.labels.global=1
|
The server returns: For server 'any', configuration variable 'rpl.labels.global' set to '1' where 'any' means this setting applies to ALL servers, unless there is a local override for the same setting. |
Related Commands
The p4 configure
command replaces many of
the settings formerly set by p4 counter
.
To list all counters and their values |
|
To set Helix Core server system variables | p4 set |
Your search for returned result(s).