History log of /freebsd-current/usr.bin/procstat/procstat.1
Revision Date Author Comments
# fa9896e0 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line nroff pattern

Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/


# 1f3d8c09 30-Aug-2022 Gleb Smirnoff <glebius@FreeBSD.org>

procstat: fix printing divert(4) sockets


# bd8701de 07-Apr-2022 Konstantin Belousov <kib@FreeBSD.org>

Document procstat(1) advlock command

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D34834


# 25c6318c 13-Feb-2021 Konstantin Belousov <kib@FreeBSD.org>

procstat: distinguish vm map guards in procstat vm output.

Requested and reviewed by: rwatson (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D28658


# 67af9aba 23-Dec-2020 Konstantin Belousov <kib@FreeBSD.org>

Decode and report native eventfd descriptors from libprocstat and procstat.

Submitted by: greg@unrelenting.technology
Reviewed by: markj (previous version)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D26668


# 688f8b82 24-Nov-2020 John Baldwin <jhb@FreeBSD.org>

Remove the cloned file descriptors for /dev/crypto.

Crypto file descriptors were added in the original OCF import as a way
to provide per-open data (specifically the list of symmetric
sessions). However, this gives a bit of a confusing API where one has
to open /dev/crypto and then invoke an ioctl to obtain a second file
descriptor. This also does not match the API used with /dev/crypto on
other BSDs or with Linux's /dev/crypto driver.

Character devices have gained support for per-open data via cdevpriv
since OCF was imported, so use cdevpriv to simplify the userland API
by permitting ioctls directly on /dev/crypto descriptors.

To provide backwards compatibility, CRIOGET now opens another
/dev/crypto descriptor via kern_openat() rather than dup'ing the
existing file descriptor. This preserves prior semantics in case
CRIOGET is invoked multiple times on a single file descriptor.

Reviewed by: markj
Relnotes: yes
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D27302


# fd92b91c 05-Oct-2020 Fernando ApesteguĂ­a <fernape@FreeBSD.org>

procstat(1): Add EXAMPLES section

* Add some examples showing binary, arguments and file info from living
processes.
* Show information from core dumps including an attempt using an old core file.
* While here, fix warning 'no blank before trailing delimiter' reported by igor.

Approved by: manpages (0mp@)
Differential Revision: https://reviews.freebsd.org/D25467


# 085e0494 17-Sep-2020 Konstantin Belousov <kib@FreeBSD.org>

Add pargs, penv, pwdx commands and aliases to procstat(1).

Intent is to mimic Solaris commands with the same names.

Submitted by: Juraj Lutter <juraj@lutter.sk>
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D26310


# 6a855903 05-Mar-2019 Mark Johnston <markj@FreeBSD.org>

Show wiring state of map entries in procstat -v.

Note that only entries wired by userspace are shown as such. In
particular, entries transiently wired by sysctl_wire_old_buffer() are
not flagged as wired in procstat -v output.

Reviewed by: kib (previous version)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19461


# 8b75008b 23-Jan-2018 Brooks Davis <brooks@FreeBSD.org>

Don't escape '?'s in protocol output.

This isn't required by mandoc and is nonfunctional in groff.

PR: 224632
Reported by: w.schwarzenfeld@utanet.at
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D13779


# 2a243b95 14-Oct-2017 Brooks Davis <brooks@FreeBSD.org>

Switch procstat from subcommand flags to verbs

- Use an enumerated value instead of separate flags for commands
- Look for a verb if no command flag is set
- Lookup the "xocontainer" value based on the command
- Document the new command verbs in the man-page

Submitted by: kdrakehp@zoho.com
Differential Revision: https://reviews.freebsd.org/D10916


# 3cfa7c6e 03-Oct-2017 Edward Tomasz Napierala <trasz@FreeBSD.org>

Make procstat(1) recognize process descriptors, so that it shows
"P" instead of "?" in "procstat -af" output. Note that there are
still a few more DTYPE_* kinds we don't decode yet.

Reported by: rwatson
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D12426


# fbf87d40 26-May-2017 Brooks Davis <brooks@FreeBSD.org>

Add missing usage and getopt(3) options

- Add the missing option 'n' to the getopt(3) string
- Add the missing options 'libxo' and 'N' to the usage message
- Add the missing options 'M' and 'N' to the man-page

Submitted by: Keegan Drake H.P. <kdrakehp@zoho.com>
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D10915


# 1ec87e7f 11-May-2017 Enji Cooper <ngie@FreeBSD.org>

procstat(1): also reference icmp(4) and sctp(4)

This was missed in the previous commit by accident.

MFC after: 3 weeks
MFC with: r318178
Sponsored by: Dell EMC Isilon


# 316ccf01 11-May-2017 Enji Cooper <ngie@FreeBSD.org>

procstat(1): document all possible `PRO` (network protocol) values

Reference the appropriate section 4 manpages for networking
protocols.

MFC after: 3 weeks
Sponsored by: Dell EMC Isilon


# 9c72afc9 11-May-2017 Enji Cooper <ngie@FreeBSD.org>

procstat(1): clarify the Signal Disposition section

- Fix a typo (SIGIGN -> SIG_IGN). Use .Dv when referencing SIG_IGN.
- Use semi-colons as soft breaks when separating sentences for
the FLAGS section.
- Tweak wording for C slightly to flow better and to be a bit
more technically correct (signals with handlers installed will
be caught by the target program).
- Reference signal(3) in the SEE ALSO section.

MFC after: 3 weeks
Sponsored by: Dell EMC Isilon


# 83fbc885 11-May-2017 Enji Cooper <ngie@FreeBSD.org>

procstat(1): fix a typo (it's -> its)

MFC after: 3 weeks
Sponsored by: Dell EMC Isilon


# 86be94fc 30-Mar-2017 Tycho Nightingale <tychon@FreeBSD.org>

Add support for capturing 'struct ptrace_lwpinfo' for signals
resulting in a process dumping core in the corefile.

Also extend procstat to view select members of 'struct ptrace_lwpinfo'
from the contents of the note.

Sponsored by: Dell EMC Isilon


# 474b62b8 05-Sep-2015 Allan Jude <allanjude@FreeBSD.org>

Introduce libxo to procstat(1)

Reviewed by: rodrigc, bapt
Approved by: marcel (mentor)
Relnotes: yes
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D2446


# 04017fc7 20-May-2015 Allan Jude <allanjude@FreeBSD.org>

Create links to the libprocstat man pages for all of the libprocstat functions so they can be looked up by name

Add a cross refrence to libprocstat in the procstat.1 man page

Differential Revision: https://reviews.freebsd.org/D2578
Suggested by: jmg
Reviewed by: brueffer
Approved by: wblock (mentor)
MFC after: 1 week
Sponsored by: ScaleEngine Inc.


# a506f1dd 11-Mar-2015 Scott Long <scottl@FreeBSD.org>

Fix a typo and update the date in the man page.

Submitted by: emax
Obtained from: Netflix, Inc.
MFC after: 3 days


# cee9136c 10-Mar-2015 Scott Long <scottl@FreeBSD.org>

Implement basic cpuset reporting in procstat via the -S flag.

Obtained from: Netflix, Inc.
MFC after: 3 days


# 587be2d8 20-Jul-2014 Robert Watson <rwatson@FreeBSD.org>

In "procstat -v" (VM), spell out 'FL' to 'FLAG' since there are two extra
columns available anyway. Also left align as we tend to do for flags
fields, although you can't see that currently as the string fully fills
that available columns.

MFC after: 3 days
Sponsored by: DARPA, AFRL


# cb353016 17-May-2014 John Baldwin <jhb@FreeBSD.org>

Add descriptions of the display formats for -e, -l, -r, and -x. Fix a few
typos in indent settings while here.


# 81c3d395 16-May-2014 John Baldwin <jhb@FreeBSD.org>

Correct some minor nits in the per-thread signal format description such
as missing posessives and misordering of fields.

MFC after: 1 week


# dc0aa067 16-May-2014 John Baldwin <jhb@FreeBSD.org>

- Add support for dumping current resource usage for processes via a new -r
flag to procstat.
- Add an -H flag to request information about threads rather than processes
when dumping statistics. Currently it is only used for -r to display
resource usage for individual threads instead of the entire process.

Reviewed by: kib (older version without -H)
MFC after: 1 month


# 2db08c03 11-Feb-2014 John Baldwin <jhb@FreeBSD.org>

Expose OBJT_MGTDEVICE VM objects used for GEM/TTM with drm2 as an
explicit object type.

Reviewed by: kib
MFC after: 1 week


# 7aa2b692 27-Oct-2013 Mark Johnston <markj@FreeBSD.org>

With r247602, the "c" flag is no longer printed as a file descriptor flag.

Reviewed by: pjd
MFC after: 3 days


# 643fe75c 19-Sep-2013 Bryan Drewery <bdrewery@FreeBSD.org>

cap_new(2) and cap_getrights2) were replaced with cap_rights_limit(2)
and cap_rights_get(2) in r247602

Reviewed by: pjd
Approved by: gjb
Approved by: re (rodrigc)


# 948baa40 20-Apr-2013 Mikolaj Golub <trociny@FreeBSD.org>

Make use of newly added libprocstat(3) ability to extract procstat
info from a process core file.

So now one can run procstat(1) on a process core e.g. to get a list of
files opened by a process when it crashed:

root@lisa:/ # procstat -f /root/vi.core
PID COMM FD T V FLAGS REF OFFSET PRO NAME
658 vi text v r r-------- - - - /usr/bin/vi
658 vi ctty v c rw------- - - - /dev/pts/0
658 vi cwd v d r-------- - - - /root
658 vi root v d r-------- - - - /
658 vi 0 v c rw------- 11 3208 - /dev/pts/0
658 vi 1 v c rw------- 11 3208 - /dev/pts/0
658 vi 2 v c rw------- 11 3208 - /dev/pts/0
658 vi 3 v r r----n-l- 1 0 - /tmp/vi.0AYKz3Lps7
658 vi 4 v r rw------- 1 0 - /var/tmp/vi.recover/vi.GaGYsz
658 vi 5 v r rw------- 1 0 - -

PR: kern/173723
Suggested by: jhb
MFC after: 1 month


# bf38ffc9 01-Oct-2012 Eitan Adler <eadler@FreeBSD.org>

add SG state type

PR: bin/171664
Submitted by: Jan Beich jbeich@tormail.org
Approved by: cperciva
MFC after: 1 week


# 599fc82b 16-Jul-2012 Gabor Pali <pgj@FreeBSD.org>

- Add support for displaying process stack memory regions.

Approved by: rwatson
MFC after: 3 days


# 50d675f7 28-Mar-2012 Eitan Adler <eadler@FreeBSD.org>

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


# ca263e00 23-Mar-2012 Mikolaj Golub <trociny@FreeBSD.org>

When displaying binary information show also osreldate.

Suggested by: kib
MFC after: 2 weeks


# 409763ce 29-Feb-2012 Sergey Kandaurov <pluknet@FreeBSD.org>

Update the description for -s flag after r232182.
When displaying security credential information show also process umask.

X-MFC-with: r232182


# 447fdbd0 28-Nov-2011 Mikolaj Golub <trociny@FreeBSD.org>

Update SYNOPSIS to include the flags added recently.

Spotted by: jhb


# 598585e8 24-Nov-2011 Mikolaj Golub <trociny@FreeBSD.org>

usr.bin/procstat

Add -l flag to display resource limits.

PR: bin/161257
Reviewed by: kib
MFC after: 2 weeks


# e99272c7 22-Nov-2011 Mikolaj Golub <trociny@FreeBSD.org>

Add new options, -e and -x, to display process environment variables
and ELF auxiliary vectors.

MFC after: 2 weeks


# 729bfad6 08-Nov-2011 Mikolaj Golub <trociny@FreeBSD.org>

Bumb date after r227317.

Reminded by: pluknet


# 82841ae6 07-Nov-2011 Mikolaj Golub <trociny@FreeBSD.org>

When displaying process virtual memory mappings print superpage
mapping flag.

Submitted by: Mel Flynn <mel.flynn+fbsd.hackers@mailing.thruhere.net>
Reviewed by: alc, rwatson


# d57486e2 13-Aug-2011 Robert Watson <rwatson@FreeBSD.org>

Updates to libprocstat(3) and procstat(1) to allow monitoring Capsicum
capability mode and capabilities.

Right now no attempt is made to unwrap capabilities when operating on
a crashdump, so further refinement is required.

Approved by: re (bz)
Sponsored by: Google Inc


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 1b90b87f 22-Mar-2010 Konstantin Belousov <kib@FreeBSD.org>

MFC r204879:
Teach procstat(1) to display some information about signal disposition
and pending/blocked status for signals.

MFC r204880:
Add file forgotten in r204879.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 55f65cd9 08-Mar-2010 Konstantin Belousov <kib@FreeBSD.org>

Teach procstat(1) to display some information about signal disposition
and pending/blocked status for signals.

Reviewed by: rwatson
MFC after: 2 weeks


# 341631ae 06-Feb-2010 Antoine Brodin <antoine@FreeBSD.org>

Document one more file descriptor type and two more vnode types.

MFC after: 2 weeks


# 7a34e29b 13-Aug-2009 Robert Watson <rwatson@FreeBSD.org>

Merge r196120 from head to stable/8:

Update procstat(1) for the fact that devfs paths are no longer unsupported.

Approved by: re (kib)


# d19d55a7 12-Aug-2009 Robert Watson <rwatson@FreeBSD.org>

Update procstat(1) for the fact that devfs paths are no longer unsupported.

Approved by: re (kib)


# d5db4444 19-Dec-2008 Wesley Shields <wxs@FreeBSD.org>

Fix a typo.

Approved by: rwatson


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# bc093719 20-Aug-2008 Ed Schouten <ed@FreeBSD.org>

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


# d693ac20 28-Jul-2008 Ed Schouten <ed@FreeBSD.org>

Fix a small typo in the procstat(1) manpage: messsage queue.

Approved by: philip (mentor)
MFC after: 3 days


# 070356d1 21-Apr-2008 Robert Watson <rwatson@FreeBSD.org>

Use ddb(4), not DDB(4) for man page cross-references.

MFC after: 3 days
Reported by: novel


# b27c1c8d 19-Apr-2008 Robert Watson <rwatson@FreeBSD.org>

Provide more detailed information about each procstat(1) display mode,
including a key to fields in each mode and flag abbreviations.

MFC after: 3 days
X-MFC-note: POSIX shared memory memory objects aren't in 7-STABLE yet


# ba8ca9db 18-Apr-2008 Robert Watson <rwatson@FreeBSD.org>

It is a bug that procstat(8) works only on live kernels and not crashdumps;
document in case anyone wants to work on fixing this.

MFC after: 3 days


# 3d91be41 02-Dec-2007 Robert Watson <rwatson@FreeBSD.org>

Add procstat(1), a process inspection utility. This provides both some
of the missing functionality from procfs(4) and new functionality for
monitoring and debugging specific processes. procstat(1) operates in
the following modes:

-b Display binary information for the process.
-c Display command line arguments for the process.
-f Display file descriptor information for the process.
-k Display the stacks of kernel threads in the process.
-s Display security credential information for the process.
-t Display thread information for the process.
-v Display virtual memory mappings for the process.

Further revision and modes are expected.

Testing, ideas, etc: cognet, sam, Skip Ford <skip at menantico dot com>
Wesley Shields <wxs at atarininja dot org>