Commit Graph

97 Commits

Author SHA1 Message Date
emaste
3b625ef4a1 top: use __mips__ and __NetBSD__ for consistency
r322767 fixed the mips64 build failure with Clang with a minimal change
to use __FreeBSD__ instead of FreeBSD in a #if test.  For consistency
and to facilitate possible upstreaming change the other macros in the
test to their canonical form.

Discussed with:	jhb
2017-08-23 17:56:55 +00:00
jhb
6581513d80 Fix FreeBSD-presence macro to fix the build on mips with clang.
GCC doesn't define 'mips' which is why it doesn't trip over this.

Sponsored by:	DARPA / AFRL
2017-08-21 17:52:09 +00:00
gahr
29c7f118b8 Enhance top(1) to filter on multiple usernames
Reviewed by:	cognet, bapt
Approved by:	cognet
MFC after:	1 week
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D11840
2017-08-07 08:45:08 +00:00
des
a80f887e23 Add -w to usage string.
Reported by:	Jamie Landeg-Jones <jamie@catflap.org>
MFC after:	1 week
2017-05-20 18:02:31 +00:00
rwatson
7037a749bf Provide proper contemporary function prototypes for many of the functions
implemented in top(1), rather than relying on K&R prototypes, which can
cause problems on targets where there are multiple incompatible calling
conventions and the compiler requires argument information to select the
correct one.

(There's a bit more to do here, since it looks like top(1) also sometimes
provides prototypes for various curses functions rather than relying on
the header file...)

Sponsored by:	DARPA, AFRL
MFC after:	1 week
2017-03-26 17:22:44 +00:00
allanjude
20fa77a948 Add ZFS compressed ARC stats to top(1)
Provides:
amount of compressed data
logical size of compressed data (how much it would have taken uncompressed)
compression ratio (logical size : total ARC size)
Overhead (space consumed for compression headers)

Example output:
ARC: 31G Total, 18G MFU, 9067M MRU, 2236K Anon, 615M Header, 2947M Other
     25G Compressed, 54G Uncompressed, 1.76:1 Ratio, 2265M Overhead

Reviewed by:	jpaetzel, smh, imp, jhb (previous version)
MFC after:	2 week
Relnotes:	yes
Sponsored by:	ScaleEngine Inc.
Differential Revision:	https://reviews.freebsd.org/D9829
2017-03-17 00:46:50 +00:00
des
a75ca8d009 Add a toggle to display the approximate amount of swap used by each
process.  We don't *quite* pull that number out of our backside, as
the actual number is difficult to determine without modifying the VM
system to report it, but it's still useful to get an idea of what's
going on when a machine unexpectedly starts swapping.

MFC after:	1 week
2016-09-05 08:27:04 +00:00
ngie
ec67c736f9 The readme provides a high-level overview of how to upgrade top(1).
Differential Revision: https://reviews.freebsd.org/D6493
MFC after: 1 week
Reviewed By: ngie
Submitted by: Randy Westlund <rwestlun@gmail.com>
Sponsored by: EMC / Isilon Storage Division
2016-05-26 07:09:42 +00:00
ngie
0378533250 Silence top(1) compiler warnings
The contrib/top code is no longer maintained upstream (last pulled 16 years
ago). The K&R-style followed by the code spews -Wimplicit-int and -Wreturn-type
warnings, amongst others. This silences 131 warnings with as little modification
as possible by adding necessary return types, definitions, headers, and header
guards, and missing header includes.

The 5 warnings that remain are due to undeclared ncurses references. I didn't
include curses.h and term.h because there are several local functions and macros
that conflict with those definitions.

MFC after: 3 weeks
Reviewed by: cem, ngie
Submitted by: Randy Westlund <rwestlun@gmail.com>
Differential Revision: https://reviews.freebsd.org/D6468
2016-05-22 04:17:00 +00:00
lidl
741f62a5b1 Fixup include protections for building on mips64 with clang
Reviewed by:	sbruno, imp
Approved by:	rpaulo (mentor)
Differential Revision:	https://reviews.freebsd.org/D4457
2015-12-11 15:12:01 +00:00
marcel
3f1876f2b9 Move contrib/top/top.X to contrib/top/top.xs and move
contrib/top/top.local.H to contrib/top/top.local.hs.
This fixes a build breakage when src is on a case-
insensitive file system -- we never properly create
top.x nor top.local.h. Change the makefile accordingly.

MFC after:	3 days
2015-06-08 19:45:24 +00:00
jmg
884afc8873 add an assert in case the sizeof int ever becomes bigger.. Then we will
have issues, at least we'll know where one of them are..

Submitted by:	Erich Dollansky
2015-02-11 07:44:53 +00:00
bdrewery
971b2fb328 - Add J command to help.
MFC after:	2 weeks
X-MFC-with:	r265249
2014-05-02 23:47:14 +00:00
bdrewery
b5296cf7b9 - Add a hint for 'u' and 'J' command that '+' displays all.
MFC after:	2 weeks
2014-05-02 23:32:44 +00:00
bdrewery
1042af2b8e Add -J command/flag to filter by jail name/jid. This will automatically
display the JID as well (the -j command/flag).

  0 displays host.
  + displays all.

MFC after:	2 weeks
Relnotes:	yes
2014-05-02 23:30:39 +00:00
rpaulo
c884fec161 Bump MAX_COLS to 512 to take advantage of wider terminals. 2012-12-13 06:45:45 +00:00
rpaulo
071c95708c Add "pid" to the help menu (sort keys section). 2012-11-11 08:22:58 +00:00
jhb
a461bd1507 Add a new line to top that provides a brief summary of the ZFS ARC memory
usage on hosts using ZFS.  The new line displays the total amount of RAM
used by the ARC along with the size of MFU, MRU, anonymous (in flight),
headers, and other (miscellaneous) sub-categories.  The line is not
displayed on systems that are not using ZFS.

Reviewed by:	avg, fs@
MFC after:	3 days
2012-06-27 18:08:48 +00:00
kib
9aeef56183 In batch mode, exit after receiving SIGINT, instead of immediate
output of the next display.

Submitted by:	Andrey Zonov <andrey zonov org>
MFC after:	1 week
2012-03-07 18:05:45 +00:00
kib
57e2f851ed Fix a race in top non-interactive mode. Use plain sleep(3) call instead
of arming timer and then pausing.  If SIGALRM is delivered before pause(3)
is entered, top hangs.

Submitted by:	Andrey Zonov <andrey zonov org>
MFC after:	1 week
2012-02-27 20:52:20 +00:00
jhb
f3caef077b Rework the dynamic per-CPU stats code a bit. Always set 'statics->ncpus'
to the maximum number of CPUs to ensure that lcpustates[] array is always
allocated to the maximum size.  Previously, if top was started without
per-CPU stats it would allocate a smaller lcpustates[] array.  When
per-CPU stats were then enabled, it would overflow the array and trash
the cpustates_columns[] array causing the CPU stats to be printed in the
wrong locations.

Approved by:	re (kib)
MFC after:	1 week
2011-07-18 21:15:47 +00:00
jhb
b1d0d78c99 Tweak the interactive description of CPU vs WCPU.
PR:		bin/158819
Submitted by:	arundel
Approved by:	re (kib)
2011-07-18 21:08:14 +00:00
jhb
85e4624c62 Add a leading space to the status messages output after toggling the
'C' and 'H' flags at runtime.  This matches messages output for other
toggles which leave the first column in the message blank to hold the
cursor.

PR:		bin/158775
Submitted by:	arundel
MFC after:	3 days
2011-07-11 16:51:29 +00:00
jhb
67900f72b1 Allow per-CPU statistics to be toggled at runtime via the 'P' key.
While here, make -P a toggle similar to other options such as -I.

Reviewed by:	arundel
MFC after:	1 week
2011-07-11 16:48:52 +00:00
jhb
58a5a6ddbe Note that -a, -C, -H, -j, and -z are also toggles.
PR:		bin/158682
Reported by:	arundel
MFC after:	3 days
2011-07-08 13:45:53 +00:00
delphij
f715e0405a Revert r214857 pursudant to 9.0-RELEASE cycle.
Requested by:	jh
2011-06-20 16:48:00 +00:00
jhb
a73a4dbfbb - Document the -H option and 'H' key alongside other options and keys
rather than at the bottom of the manpage.
- Remove an obsolete comment about SWAIT being a stale state.  It was
  resurrected for a different purpose in FreeBSD 5 to mark idle ithreads.
- Add a comment documenting that the SLEEP and LOCK states typically
  display the name of the event being waited on with lock names being
  prefixed with an asterisk and sleep event names not having a prefix.

MFC after:	1 week
2011-05-31 15:41:10 +00:00
jhb
3e43795a7a Add a new option to toggle the display of the system idle process (per-CPU
idle threads).  The process is displayed by default (subject to whether or
not system processes are displayed) to preserve existing behavior.  The
system idle process can be hidden via the '-z' command line argument or the
'z' key while top is running.  When it is hidden, top more closely matches
the behavior of FreeBSD <= 4.x where idle time was not accounted to any
process.

MFC after:	2 weeks
2011-05-31 15:11:23 +00:00
jhb
eb4f6eac7b Output an appropriate amount of padding to line up per-CPU state columns
rather than using a terminal sequence to move the cursor when drawing the
initial screen.

Requested by:	arundel
MFC after:	3 days
2011-02-01 15:48:27 +00:00
pluknet
94c14112fc Add 'jid' as a possible sort order to the help screen.
PR:		bin/150992
Submitted by:	Frederic Culot <frederic at culot dot org>
Approved by:	avg (mentor)
MFC after:	5 days
2010-11-12 16:50:11 +00:00
delphij
e5ffca4db6 Inverse display of top(1)'s table header when running in inactive mode.
MFC after:	2 weeks
2010-11-06 03:59:21 +00:00
brucec
11b8361778 Since top displays the uptime including seconds, there is no need to add 30
onto it, which may have been used for rounding purposes in other utilities.

PR:	bin/147934
Submitted by:	Janne Snabb <snabb at epipe.com>
Approved by:	rrs (mentor)
MFC after:	2 weeks
2010-08-17 09:51:08 +00:00
rpaulo
19435b2958 Make these files compile with clang.
Submitted by:	Dimitry Andric <dimitry at andric.com>
2010-07-22 18:52:29 +00:00
nwhitehorn
9e69ae693d Fix brokenness in top on big-endian 32-bit systems introduced when
changing format_k2 to take a long long. Because itoa is defined as a K&R
C function, without prototyping its arguments, format_k2 passed a 64-bit
value, but itoa() received only the first word, showing '0' in all memory
fields.
2010-04-19 14:34:44 +00:00
brucec
ce9748d41d Specify the parameter in the format_k2 prototype.
This fixes top on ARM, which assumes that format_k2 takes an int.

Approved by:	rrs (mentor)
2010-04-01 21:20:19 +00:00
brucec
9d0c668a14 Change the 'amt' parameter in format_k2 from int to unsigned long long
to match the values passed in and prevent the SIZE field being corrupted
when more than 2TB is allocated.

PR:		bin/129706
Approved by:	rrs (mentor)
MFC after:	1 week
2010-03-13 11:17:39 +00:00
ed
8f467b7b0f Let top(1) use MAXLOGNAME instead of UT_NAMESIZE.
The maximum user login length should have nothing to do with <utmp.h>.
2009-12-25 09:02:41 +00:00
jhb
f67f7744c1 Explicitly line up the CPU state labels with the calculated starting column
that takes into account the width of the largest CPU ID.  On systems with
> 10 CPUs the labels for the first 10 CPUs were not lined up properly
otherwise.

Approved by:	re (kib)
MFC after:	1 week
2009-08-19 15:17:13 +00:00
rwatson
40428b7066 Merge r183430 from vendor/top/dist to head/contrib/top, although with
record-only mergeinfo because an automated merge is confused by the
flattening that took place:

  Move install to install-sh to prevent name-clashes.

MFC after:	3 days
2009-03-10 11:46:41 +00:00
ru
58967561b9 Removed the no-op -p; documented -P.
MFC after:	3 days
2008-06-21 15:48:16 +00:00
ru
1d29dab182 system_info.cpustates isn't sparse, so a bitmask of available CPU states
is redundant (I think it's a leftover from an older implementation).
2008-04-11 11:39:26 +00:00
peter
368d76456b Add a -P flag to display per-cpu cpu usage stats. 2008-01-18 01:43:14 +00:00
obrien
2678039b69 Improve -u (limit uid lookups) behavior.
Submitted by:	David Frascone <dave@frascone.com>
PR:		119490
2008-01-09 18:06:24 +00:00
rafan
747bdd6a18 - s/jail id/jail ID/, acronyms should be in uppercase in general. Also,
it is written this way in jail(8).

Suggested by:	brueffer
Approved by:	delphij (mentor, implicit)
2007-05-04 15:42:58 +00:00
stas
55daa60ccc - Add documentation notes for the 'a' option, forgotten in the previous
commit.

  commands.c [1]
  top.X

Suggested by:	rafan [1]
2007-05-03 22:17:35 +00:00
rafan
c654468e48 - Add new 'a' and 'j' options into usage
Approved by:	delphij (mentor, implicit)
Forgotten by:	stas ('a') and rafan ('j')
2007-04-19 14:24:54 +00:00
rafan
3306a8a299 - Add a new 'j' switch and runtime option to toggle display jail id for
each process.
- While I'm here, keep help message sorted by keys

PR:		98489, 98975
Submitted by:	clsung
Approved by:	delphij (mentor)
MFC after:	2 weeks
2007-04-17 03:12:39 +00:00
stas
b2e4c77a02 - Add new 'a' switch and runtime option that allows 'top' to display process
titles extracted from argv vector instead of the real executable names.
  This is useful when you want to watch applications that set their status
  information via setproctitle(3).

Approved by:	alfred
MFC after:	2 weeks
2007-04-14 10:16:52 +00:00
keramida
b9438a6636 The sigconv.awk script generates a sigdesc.h header file, which
contains a sigdec[] vector of structures, but the generated output is
missing braces around the initializer of each struct, which
triggers warnings in WARNS=3:

src/usr.bin/top/sigdesc.h:10: warning: missing braces around initializer
src/usr.bin/top/sigdesc.h:10: warning: (near initialization for `sigdesc[0]')

  * Fix the sigconv.awk script to generate a header with initializers
    which look better.

  * Add rules to usr.bin/top/Makefile that rebuilds a new sigconv.h
    header which matches the correct signal set from the build-time
    version of `${DESTDIR}/usr/include/signal.h' (so sigconv.h doesn't
    get stale once changes are made to the header).

  * Remove the old sigconv.h header, now that it is autoupdated at
    build time.

  * Various Makefile style fixes (the committed Makefile was kindly
    submitted by Ruslan):

    - Reorder .PATH, PROG, SRCS and CFLAGS to match style.Makefile(5)
    - Split off the generated sources (sigdesc.h top.local.h) in an
      SRCS+= line of their own.
    - Add entries to CLEANFILES near the rules that generate the
      respective files.
    - Move the explicit rule which builds top.1 after the implicit
      rules which generate its dependencies.

Reviewed by:	ru, bde
Submitted by:	ru (Makefile)
MFC after:	2 weeks
2006-12-01 07:01:19 +00:00
keramida
3937232b20 Update the description of the `STATE' column for SMP systems,
and add the missing `C' SMP-only column.

PR:		docs/29245
Submitted by:	ada@bsd.org
Patch by:	Pawel Worach <pawel.worach@telia.com>
MFC after:	3 days
2006-05-16 15:27:43 +00:00