History log of /freebsd-11-stable/contrib/top/top.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 332948 24-Apr-2018 lidl

MFC r332671: top: fix warnings from clang/gcc

Add includes for <curses.h> and <termcap.h> where necessary, and
rename a few internal functions to have a "top_" prefix to avoid
clashes with standard names from curses.h/termcap.h headers.

Top now compiles without warnings on both gcc and clang.


# 330630 08-Mar-2018 eadler

MFC r318587:

Add -w to usage string.


# 322509 14-Aug-2017 gahr

MFC r322139

Enhance top(1) to filter on multiple usernames

Reviewed by: cognet, bapt
Approved by: cognet
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D11840


# 318449 18-May-2017 allanjude

MFC r315435:
Add ZFS compressed ARC stats to top(1)

MFC r316314:
top(1) read the wrong amount of data from sysctl

MFC r318448:
Explain the new fields in top(1) related to ZFS compressed ARC

Remove the laundry field during the merge, does not exist in stable/11


# 307757 21-Oct-2016 des

MFH (r305414): add a toggle to show approximate swap usage.


# 302408 07-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
# 300395 22-May-2016 ngie

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


# 265250 02-May-2014 bdrewery

- Add a hint for 'u' and 'J' command that '+' displays all.

MFC after: 2 weeks


# 265249 02-May-2014 bdrewery

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


# 237656 27-Jun-2012 jhb

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


# 232660 07-Mar-2012 kib

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


# 232239 27-Feb-2012 kib

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


# 224205 18-Jul-2011 jhb

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


# 224204 18-Jul-2011 jhb

Tweak the interactive description of CPU vs WCPU.

PR: bin/158819
Submitted by: arundel
Approved by: re (kib)


# 223937 11-Jul-2011 jhb

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


# 223936 11-Jul-2011 jhb

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


# 222530 31-May-2011 jhb

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


# 179911 21-Jun-2008 ru

Removed the no-op -p; documented -P.

MFC after: 3 days


# 175420 17-Jan-2008 peter

Add a -P flag to display per-cpu cpu usage stats.


# 175195 09-Jan-2008 obrien

Improve -u (limit uid lookups) behavior.

Submitted by: David Frascone <dave@frascone.com>
PR: 119490


# 169257 04-May-2007 rafan

- 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)


# 168863 19-Apr-2007 rafan

- Add new 'a' and 'j' options into usage

Approved by: delphij (mentor, implicit)
Forgotten by: stas ('a') and rafan ('j')


# 168799 17-Apr-2007 rafan

- 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


# 168710 14-Apr-2007 stas

- 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


# 157866 19-Apr-2006 ru

Re-add option -C to usage().


# 157842 18-Apr-2006 ru

Bring SYNOPSIS in line with usage().


# 146342 18-May-2005 keramida

Merge the CPU and WCPU columns in a single %6.2f column, add a new 'C'
command that toggles between the two and update the ORDER_PCTCPU()
macro to sort correctly by the visible "cpu" value.

This saves 6 more columns in 80-column terminals, making things a lot
better for the COMMAND column.

Tested on: i386, sparc64 (panther), amd64 (sledge)
Approved by: davidxu (in principle)


# 145073 14-Apr-2005 keramida

- Add a THR column to the process listing, that shows the number of
threads a process has. The THR column is disabled and disappears
when 'H' is hit, because then every thread gets its own output line.
- Allow sorting processes by "threads".

Approved by: davidxu
Inspired by: Jiawei Ye <leafy7382@gmail.com>


# 133817 16-Aug-2004 alfred

This patch merges the sort fields for both pages, so you can (for
example) view io stats while sorting by process size. Also adds
voluntary and involuntary context-switch stats to the io page because
there was lots of room.

Submitted by: Dan Nelson dnelson at allantgroup.com


# 132005 12-Jul-2004 alfred

Make 'S' in interactive mode toggle display of system processes.


# 131829 08-Jul-2004 keramida

Build upon the nice work of Alfred and add sorting capabilities to
the -m "io" mode of top.

Approved by: alfred


# 131616 05-Jul-2004 des

Correct a misleading (cut'n'pasted) comment.


# 131402 01-Jul-2004 alfred

New feature, provide a display that shows the amount of IO processes
are doing. Toggle this mode by hitting "m" or passing the command line
option "-m io" to top(1). This allows one to identify disk bandwidth
hogs much easier.


# 117709 17-Jul-2003 julian

Changes to allow top to decide whether or not to show multiple threads per
process. Option -H enables it and it is toggled at the interactive
screen by 'H'.

Submitted by: Jung-uk Kim <jkim@niksun.com>


# 89757 24-Jan-2002 dwmalone

Resolve conflicts (our -t option, we'd fixed a bug in a slightly different way).


# 86042 04-Nov-2001 dwmalone

Make top exit if its tty vanishes.

PR: 30939, 30581
Submitted by: Edwin Groothuis <edwin@mavetju.org>
Submitted by: Andrew L. Neporada <andr@dgap.mipt.ru>
MFC after: 2 weeks


# 81187 06-Aug-2001 kris

Don't do unsafe activities inside signal handlers. Just set a flag and
return.

Obtained from: OpenBSD
Reviewed by: audit


# 68293 03-Nov-2000 imp

Fix another possible bufer overflow in top.

PR: bin/22496


# 66641 04-Oct-2000 imp

display.c: sprintf -> snprintf
top.c: fix from NetBSD/OpenBSD: make sure that new_message() is called
with a format.

Add $FreeBSD$ While I'm here.

These files are already off the vendor branch.


# 42447 09-Jan-1999 obrien

uptime display more in style with original code


# 38090 04-Aug-1998 des

Add -t option ('t' in interactive mode) to make top(1) ignore itself.
Attempts to contact the author of top(1) (William LeFebvre) have so
far been unsuccessful.

PR: 7253
Submitted by: Yours Truly


# 24142 23-Mar-1997 joerg

Apply the FreeBSD-local patches.

Obtained from: The ports collection.


# 24140 23-Mar-1997 joerg

This commit was generated by cvs2svn to compensate for changes in r24139,
which included commits to RCS files with non-trunk default branches.


# 24139 23-Mar-1997 joerg

This is the long-awaited import of top into the base system (actually,
the src/contrib/top part right now). This tools is simply too system-
dependant to maintain it in the ports collection.