htop 3.3.0

This is htop, an interactive process viewer for Unix systems. It is a text-mode application (for console or X terminals) and requires ncurses.

Tags system-administrators linux freebsd openbsd macos monitoring
License GNU GPL
State stable

Recent Releases

3.3.010 Jan 2024 19:51 minor feature: Multiple refactorings and code improvements. Shorten docker container IDs to 12 characters. Settings: preserve empty header. execlp() argument without pointer cast. OpenFilesScreen: Make column sizing dynamic for file size, offset and inode. Add support for "truss" (FreeBSD equivalent of "strace"). Darwin: add NetworkIOMeter support. HeaderLayout: add "3 columns - 40/30/30", "... 30/40/30" "... 30/30/40". Meter: use correct unicode characters for digit '9'. Note in manual re default memory units of KiB. Add column for process container name. Add logic to filter the container name (+type) from the CGroup name. Change NetworkIOMeter value unit from KiB/s to bytes/second. Cap DiskIOMeter "utilisation" percentage at 100 . PCP platform implementation of frontswap and zswap accounting. Shorten podman/libpod container IDs to 12 characters. Write configuration to temporary file first. Incorporate shared memory in bar text. Move shared memory next to used memory. Correct order of memory meter in help. Add recalculate to Ctrl-L refresh. Update process list on thread visibility toggling. Support dynamic screens with 'top-most' entities beyond processes. Introduce Row and Table classes for screens beyond top-processes. Rework ZramMeter and remove MeterClass.comprisedValues. More robust logic for CPU process percentages (Linux PCP). Show year as start time for processes older than a year. Short-term for docker container detection. default color preset: use bold blue for better visibility. Document 'O' keyboard shortcut. Implement logic for '--max-iterations'. Update F5 key label on tab switch (Tree List). Force re-sorting of the process list view after switching between list/treeview mode. Linux: (hack) work around the fact that Zswapped pages may be SwapCached. Linux: implement zswap support. Memory,Swap Meter: add "compressed memory" metrics. Darwin: add DiskIOMeter support. scroll relative to followed process. ZramMeter: update bar mode. Use shared real memory on Fre
3.2.230 Dec 2023 18:10 major bugfix: * CPUMeter now can show frequency in text mode * Add option to render distribution path prefixes shadowed * DiskIOMeter converts to bytes per second (not per interval) * DiskIOMeter uses complete units, including missing "iB/s" * DiskIOMeter indicates read and write in meter mode * NetworkIOMeter converts to packets per second, shows packet rate * Allow continued process following when changing display settings * Update the panel header when changing to another tab * Drop margin around the header if there are no meters * Use Unicode replacement character for non-printable characters * Default color preset uses bold blue for better visibility * Update the Panel header on sort order inversions ('I') * Toggle the header meters with pound key * Fix ScreenPanel to handle quitting the panel while renaming * Add fallback for HOME environment variable using passwd database * Replace meaningless ID column with FD column in lock screen * Use device format in the lock screen matching the files screen * On Linux, improvements to file-descriptor lock detection * On Linux, further distinguish systemd states in the SystemdMeter * On Linux, improvements to cgroup and container identification * On Linux, support openat(2) without readlinkat(2) platforms * On Darwin, fix current process buffer handling for busy systems * On DragonFly BSD, fix incorrect processor time of processes * On FreeBSD, fix an issue with the memory graph not showing correctly * On FreeBSD, add support for displaying shared memory usage * On PCP, use pmLookupDescs(3) if available for efficiency * On PCP, normalize generic columns values for consistent display * On PCP, changes preparing for configurable, dynamic screens * Handle invalid process columns from the configuration file * Avoid undefined behaviour with deeply nested processes * Fix crash when removing the currently active screen * Prevent possible crash on a very early error path * Include automake for Debian/Ubuntu * Restore non-mouse support * Rejec
2.2.011 Apr 2018 03:15 major bugfix: Solaris/Illumos/OpenIndiana support. -t/--tree flag for starting in tree-view mode. macOS: detects High Sierra version to avoid OS OpenBSD: read battery data. Various automake and build improvements. Check for pkg-config when building with --enable-delayacct. Avoid some bashisms in configure script. Use CFLAGS from ncurses*-config if present. Header generator supports non-UTF-8 environments. Linux: changed detection of kernel threads. Collapse current subtree pressing Backspace. : behavior of SYSCR column. : obtain exit code of lsof correctly. : crash with particular keycodes. : with small terminals. : terminal color : preserve LDFLAGS when building. : overflow for systems with = 100 signals.
2.1.119 Feb 2018 00:25 minor bugfix: Check for pkg-config when building with --enable-delayacct. : behavior of SYSCR column. : preserve LDFLAGS when building. : with small terminals. : crash with particular keycodes. : terminal color.
2.1.006 Feb 2018 00:05 major bugfix: Linux: Delay accounting metrics. DragonFlyBSD support. Support for real-time signals. 'c' key now works with threads as well. Session column renamed from SESN to SID. Improved UI for meter style selection. Improved code for constructing process tree. Compile-time option to disable setuid. Error checking of various standard library operations. Replacement of sprintf with snprintf. Linux: performance improvements in battery meter. Linux: update process TTY device. Linux: add support for sorting TASK_IDLE. Linux: add upper-bound to running process counter. : avoid crash when battery is removed. : macOS: infinite loop in tree view.
2.0.222 Jul 2016 03:16 minor feature: FreeBSD: use KERN_PROC_PROC with kvm_getprocs to avoid erroneously co?. Avoid overlapping key values defined by curses. Avoid overlapping key values defined by curses (Real ). Revert 5c593fa (xCalloc). Explicit "maxItems" property of meters. Assert (Platform_meterTypes 0 == CPUMeter_class). BarMeterMode_draw minor code improvement. If task_for_pid fails, stop trying. Merge branch 'master' of https://github.com/hishamhm/htop. Update header. Use target_os instead of target in configure.ac. Use Linux backend on the Hurd. a typo in the man page (Debian Lintian spelling-error-in-manpage). Add Keywords entry to.desktop file (Debian Lintian warning desktop-e?. Revert "FreeBSD CPU calculation". Remove needless allocation error conditions. Rename Meter.setValues() functions to updateValues(). a small undefined behavior detected by libubsan. Improve reproducible builds. Make PgDown behavior more usual. Merge branch 'master' of https://github.com/hishamhm/htop. Auto-follow process after a search. macro Header_forEachColumn. Replace deprecated autoconf macros. Reorder configure macros to avoid "missing script" warning. Update INSTALL text from autoconf-2.69. Fail early if libtool is not present. Use set_escdelay() to avoid problems with ESCDELAY as a macro. Make sure a pointer fits in the argument!. . Silence warnings about seteuid return value. Remove redundant is-null checks on free(Meter.drawData). Silence cast warning. Stricter strdup. Remove extra checks made redundant by XAlloc. Handle SIGQUIT. Merge branch 'master' of https://github.com/hishamhm/htop. Don't check if (!str) in xStrdup. Add assert and __attribute__((nonnull)) on xStrdup. xStrdup debuild failure allow Clang to use ((nonnull)). Don't store invisible trailing whitespace. Added Ctrl+A and Ctrl+E to go to beginning and end of line. Merge branch 'master' of https://github.com/hishamhm/htop. Document Alt+ h,j,k,l and Ctrl+ A,E into man page. Use "-" as the Ctrl and Alt joiner.
2.0.108 Mar 2016 22:32 minor feature: OpenBSD: Various fixes and improvements (thanks to Michael McConville and Juan Francisco Cantero Hurtado) FreeBSD: fix CPU and memory readings (thanks to Tim Creech, Hung-Yi Chen, Bernard Spil, Greg V) FreeBSD: add battery support (thanks to Greg V) Linux: Retain last-obtained name of a zombie process Mac OS X: Improve portability for OS X versions (thanks to Michael Klein) Mac OS X: Fix reading command-line arguments and basename Mac OS X: Fix process state information Mac OS X: Fix tree view collapsing/expanding Mac OS X: Fix tree organization Mac OS X: Fix memory accounting Fix crash when emptying a column of meters Make Esc key more responsive