Display Perforce process information; control long-running tasks.
p4 [g-opts] monitor show [-a -l -e -L -s R | T | P | B | F | I ]
p4 [g-opts] monitor terminate id
p4 [g-opts] monitor clear [id | all]
p4 [g-opts] monitor pause id
p4 [g-opts] monitor resume id
p4 monitor
allows a system administrator to observe
and control
Perforce-related
processes running on a
Helix Core
server machine. Processes are tracked using a dedicated table that is
constantly updated; this has a minor impact on server performance.
To use p4 monitor
, you must enable monitoring on the
Perforce
service by setting the monitor
configurable with p4 configure
. You
control process monitoring by setting the monitor
configurable to one of the following values:
L
option for more information.Changes to the monitor
configurable affect all new
p4
processes that connect to the server; restarting
the server is not required.
Command syntax variants provide the following alternatives:
To list current process information, use p4 monitor
show
. By default, all processes are listed, but only
the command (for example, sync
, edit
,
submit
) is shown, without arguments. This form of
p4 monitor
requires list
level
access. Use the -s status
option to restrict the
display to processes in the specified state.
To show the list of arguments associated with each command, use the
-a
(arguments) option or -l
(long) option.
For additional information from the user environment, use the
-e
(environment) option. These options require
super
level access. Use the -L
option to
show locked files.
To mark a process for termination, use p4 monitor terminate
id
. This command requires that the user be an
operator or have super
level access.
The p4 monitor terminate
command will not mark a
process for termination unless the process has been running for at
least ten seconds. Some commands, such as p4 obliterate
,
cannot be terminated.
To control how often the list of processes is refreshed, see the
Configurable, db.monitor.interval
,
which is also mentioned in "Fixing a hung Helix Core server" at
http://answers.perforce.com/articles/KB/3785
To remove an entry from the monitor table, use p4 monitor
clear id
. You can clear the entire table with
p4 monitor clear all
. Both of these commands
require super
level access. ( If a command terminates
prematurely on the server side, it may be erroneously listed as
running. You can clear such processes with p4 monitor
clear
. )
Requires that the user be an operator or have super
access.
Processes marked as running continue to run to completion even if
removed from the monitor table with p4 monitor
clear
.
To control long-running tasks such as p4 verify
or p4 pull
, use the
p4 monitor pause
and p4 monitor
resume
commands.
p4 monitor pause
and p4 monitor
resume
require that the user be an operator or have
super
access.
Each line of p4 monitor
output consists of the
following fields:
pid
status
owner
hh:mm:ss
command
[args
]
pid |
The process ID under Unix (or thread ID under Windows) |
status |
Finish and Background occur only in replica servers. |
owner |
The Perforce user name of the user who invoked the command. |
hh:mm:ss |
The time elapsed since the command was called. |
command [args] |
The command and arguments as received by the Perforce service. |
For example, consider the following output to the p4 monitor
show -L
command, which displays information about locked
files:
8764 R user 00:00:00 edit [server.locks/clients/88,d/ws4(W),db.locks(R),db.rev(R)] 8766 R user 00:00:00 edit [server.locks/clients/89,d/ws5(W),db.locks(R),db.rev(R)] 8768 R user 00:00:00 monitor
Following pid, status, owner, and time information, this shows two edit
commands that have various files locked, including the client workspace
lock in exclusive mode for the workspaces ws4
and
ws5
, and db.locks and db.rev tables in read-only mode.
If you have enabled idle process monitoring (by setting the
monitor
configurable to 2), idle processes appear with a
status
of R
, but with a
command
of IDLE
.
Some commands (for instance, p4
submit
) invoke multiple processes. For example,
dm_CommitSubmit
or dm_SubmitChange
may appear
in the output of p4 monitor
as two separate phases of
the p4 submit
command.
If you are running a replica with monitoring enabled and you have not
configured the monitor table to be disk-resident, you can run the
following command to get more precise information about what pull threads
are doing. (Remember to set monitor.lsof
).
$ p4 monitor show -sB -la -L
Command output would look like this:
31701 B uservice-edge3 00:07:24 pull sleeping 1000 ms [server.locks/replica/49,d/pull(W)]
You must be an operator or have super
access to use the
following options.
|
Show all arguments associated with the process (for example,
Perforce user names are truncated to 10 characters, and each line is limited to a total of 80 characters of output. Requires that the user be an operator or have |
|
Show environment information including invoking Perforce application (if known), host IP address, and workspace name. Requires that the user be an operator or have |
|
Show all arguments in long form; that is, without truncating user names or the list of command line arguments. Requires that the user be an operator or have |
|
Show information about locked files. The information is
collected only for the duration of the Requires that the user be an operator or have Pre-requisites for using this option vary with the platform on which the server is running.
You can use the |
|
Restrict the display to processes in the Requires that the user be an operator or have |
|
See Global Options. |
Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required |
---|---|---|
No |
No |
|
|
Show
Perforce
processes information (commands only). Requires |
|
Show arguments and commands, without limits on line length.
Requires |
|
Show arguments and commands, limited to 80 characters per line
of output. Requires |
|
Instruct the
Perforce
service to mark process 123 for termination. Requires
|
|
Clears the monitor table of all entries. Requires
|
To turn on monitoring |
|
To turn off monitoring |
|