Commit Graph

214 Commits

Author SHA1 Message Date
Hisham Muhammad
d880def0e9 Merge branch 'master' into wip
Conflicts:
	Process.c
	Process.h
	htop.c
	linux/LinuxProcess.c
	linux/LinuxProcess.h
	test_spec.lua
2015-04-02 01:57:37 -03:00
Hisham Muhammad
272e2d9b34 Major advances in FreeBSD port. 2015-03-16 23:02:03 -03:00
Hisham Muhammad
adbfe3c3f1 Get FreeBSD tree to compile again with latest changes. 2015-03-16 03:14:20 -03:00
Hisham Muhammad
e3fe3962cb Move more Linux-specific code into Linux subdir. 2015-03-15 20:29:13 -03:00
Hisham Muhammad
6f868b00c0 Fix allocation of processes. Closes #166. 2015-02-20 14:52:10 -02:00
Hisham Muhammad
3383d8e556 Sorry about the mega-patch.
This is a work-in-progress, code is currently broken.
(Some actions, and notably, the header, are missing.)
2015-01-21 23:27:31 -02:00
Hisham Muhammad
cda6bdd56b Add ProcessList_delete to the variable interface. 2014-11-27 17:48:38 -02:00
Hisham Muhammad
aaaaf063a1 Builds on Linux again! 2014-11-24 19:22:50 -02:00
Hisham Muhammad
eb229d9aef Changes for supporting separate platform subdirectories. 2014-11-24 18:55:03 -02:00
Hisham Muhammad
9faf4938b8 Refactored key handlers.
Made the logic more modular, hopefully easier to follow,
and removed repeated code.
Plus, some optimization in RichString code.
2014-11-19 23:17:52 -02:00
Jeff Garrett
ab0bceb550 Interpret command line PIDs as PIDs, not TIDs 2014-10-08 11:52:56 -05:00
yar
730ab0c9a8 pass processlist flags to readOpenVZData (fixes build error) 2014-05-04 09:43:45 -07:00
Hisham Muhammad
f54a37b4a9 Update values for fields whose columns may appear later. Fixes #80. 2014-05-03 17:51:19 -03:00
Hisham Muhammad
e0209da88f Support pagefaults stats. Closes #45. 2014-04-24 19:40:47 -03:00
Hisham Muhammad
34b89a9747 Add sanity checks. 2014-04-24 12:15:56 -03:00
Hisham Muhammad
28d4cad5fe xread may return -1. 2014-04-22 18:48:27 -03:00
Hisham Muhammad
f677843288 Restrict size of inputs on sscanf reads. 2014-04-21 19:17:57 -03:00
Hisham Muhammad
3fbd1ef76d check return of topoErr 2014-04-21 19:17:46 -03:00
Hisham Muhammad
5b30280810 shorten scope of variables. 2014-04-21 19:00:35 -03:00
Hisham Muhammad
4027e5ee44 goto considered harmful and confuses cppcheck. 2014-04-21 18:55:58 -03:00
Hisham Muhammad
99bc23771f Fix resource leak detected by cppcheck 2014-04-21 18:23:21 -03:00
Hisham Muhammad
4716a9857b Fix logic for skipping non-numeric directories.
Closes #42.
2014-04-11 20:17:07 -03:00
Edgar Kalkowski
c8be3701b8 Fix tree view if userland threads are hidden. 2014-04-11 13:45:24 +02:00
Hisham Muhammad
cb297af848 Fix invalid access when highlighting basename of threads. 2014-04-09 17:43:54 -03:00
Hisham Muhammad
f2a190b0e9 New logic for highlighting basenames with spaces 2014-02-27 17:11:23 -03:00
Hisham Muhammad
6d90e58c01 alignment improvements 2014-02-27 16:35:22 -03:00
Leigh Simpson
da236ca318 Added additional column to monitor OOM killer score of each process 2014-01-29 22:41:55 +00:00
Hisham Muhammad
76a715ee8c Fix order of calloc arguments.
(Patch by Dawid Gajownik)
2014-01-16 18:51:16 -02:00
Hisham Muhammad
8ace29c267 Make CPU meter optionally account guest time in its percentages 2013-12-18 02:58:34 +00:00
Hisham Muhammad
af285d1d3b Fixes in accounting of guest time when using virtualization
(thanks to Patrick Marlier)
2013-12-18 02:20:39 +00:00
Hisham Muhammad
6cfa9e0bf2 Performance improvements due to conditional parsing of IO data depending on selected fields.
On my machine, this gives a ~20% improvement in htop process time use with the default config.
2013-05-24 22:46:01 +00:00
Hisham Muhammad
322ba274ea Performance improvements
(thanks to Jann Horn)
2013-04-29 23:00:15 +00:00
Hisham Muhammad
00b324bfc1 Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
Hisham Muhammad
2a73405cd0 search and filter for the strace and lsof screens! 2012-11-10 00:31:37 +00:00
Hisham Muhammad
f44a8f2009 Option to update process names on every refresh
(thanks to Rob Hoelz)
2012-10-20 00:43:25 +00:00
Hisham Muhammad
1b21827f1f Fail gracefully when /proc is not mounted
(thanks to Philipp Hagemeister)
2012-10-19 18:59:48 +00:00
Hisham Muhammad
47e881f460 Add IO priority support ('i' key) 2012-10-04 23:59:45 +00:00
Hisham Muhammad
e6c6d7fbf7 Add -p flag, contributed by Rob Hoelz 2012-08-10 21:54:41 +00:00
Hisham Muhammad
90d567531a Fix CPU percentage. Patch 3522180 for bug 3516978, by Richard. 2012-05-28 00:47:05 +00:00
Hisham Muhammad
05a78c8111 Auto-follow process when selecting which signal to use when killing a process.
This avoids killing the wrong process.
2012-03-30 01:20:32 +00:00
Hisham Muhammad
1a604a05a5 BUGFIX: behavior of 'F' (follow) key was broken, also affecting the
persistence of mouse selections. Closes #3165065.
2012-02-02 23:45:40 +00:00
Hisham Muhammad
45f7a4fc8d Remove old memory debugging routines. We have Valgrind nowadays. 2011-12-26 22:04:29 +00:00
Hisham Muhammad
84281bdc44 major header cleanup 2011-12-26 21:35:57 +00:00
Hisham Muhammad
81e44312b4 Use strdup explicitly 2011-12-25 20:23:53 +00:00
Hisham Muhammad
bfd86a60cc Keep panel structure up-to-date as process list changes when headers are updated during the screen manager. Hopefully closes #3444533. 2011-12-01 12:31:57 +00:00
Hisham Muhammad
bc87a8ff8c Remove bundled hwloc-1.2.1. Use either native Linux affinity support or an external libhwloc.
(for details see https://sourceforge.net/mailarchive/forum.php?thread_name=CAJpkDYeZpwqcWxZ77wq6bMrnhn-KzkU1xAqb3cU0drfnA3n9FQ%40mail.gmail.com&forum_name=htop-general )
2011-11-21 02:52:41 +00:00
Hisham Muhammad
7ca1081712 Mega-commit with features and tweaks for 1.0:
* Performance improvements
* Support for splitting CPU meters into two or four columns
  (thanks to Wim Heirman)
* Switch from PLPA, which is now deprecated, to HWLOC.
* Bring back support for native Linux sched_setaffinity,
  so we don't have to use HWLOC where we don't need to.
* Support for typing in user names and column fields in selection panels.
2011-11-18 06:08:56 +00:00
Hisham Muhammad
ca6b9238a3 Support for UTF-8 tree drawing
(thanks to Bin Guo)
2011-11-03 22:12:12 +00:00
Hisham Muhammad
d1b1cbc757 cleanups and fixes, thanks to cppcheck and gcc -Wextra 2011-10-25 00:05:46 +00:00
Hisham Muhammad
ec17b7029a Convert affinity control from the deprecated PLPA to HWLOC 2011-09-24 00:30:47 +00:00
Hisham Muhammad
f7fe4b4722 Fix off-by-one error in PROCESSOR display 2011-09-08 02:48:53 +00:00
Hisham Muhammad
27b470e10d Don't simply trust that string splits were successful... 2011-08-29 20:45:29 +00:00
Hisham Muhammad
9599e5650e larger numbers 2011-05-26 16:32:05 +00:00
Hisham Muhammad
219bb9ccff handle large values for process time 2011-03-28 19:06:06 +00:00
Hisham Muhammad
a9c0ea3753 * Option for counting CPUs from zero
(thanks to Sean Noonan)
* Meters update in every screen (no longer halting while on Setup, etc.)
2011-03-22 20:37:08 +00:00
Hisham Muhammad
8bdec7155e show names of zombie processes properly 2011-03-17 04:26:28 +00:00
Hisham Muhammad
72dbb72b68 All processes where showing as belonging to 'root'. Fixed.
Thanks to Sven Hartrumpf for pointing this out in htop-0.9-rc2
2010-11-26 16:51:20 +00:00
Hisham Muhammad
5effb12e46 Fix behavior of expand/collapse-tree. Thanks Rob for the heads up! 2010-11-24 12:00:34 +00:00
Hisham Muhammad
941ad72f67 correct thread detection 2010-11-24 01:02:29 +00:00
Hisham Muhammad
831538b0f9 Split process and thread counts in tasks meter 2010-11-23 13:28:47 +00:00
Hisham Muhammad
d8e1480a27 Remove arbitrary limit from rich strings
Fix subtree hiding
Fix reading of CPU values in hidden threads
Fix hiding of zombie processes as kernel threads
Remove "debug proc" code
Code cleanup in processElements
2010-11-22 12:40:20 +00:00
Hisham Muhammad
10f007e07e Fix for systems where there's no /proc/PID/task/PID/. Closes #2789634. 2010-11-20 20:27:37 +00:00
Hisham Muhammad
45de5694ac no need to pad values; provide a default on machines without cgroup 2010-10-30 19:30:19 +00:00
Hisham Muhammad
84ed4c01f6 Support for cgroups (thanks to Guillaume Zitta and Daniel Lezcano) 2010-10-30 19:24:07 +00:00
Hisham Muhammad
6486229308 add support for steal/guest CPU time measurement
simplify processor data accounting (add CPUData structure)
remove Process_clone trick
2010-08-24 23:20:38 +00:00
Hisham Muhammad
9eb912149e expand/collapse tree 2010-06-17 19:02:03 +00:00
Hisham Muhammad
dc262f4df6 STARTTIME column 2010-03-29 18:36:11 +00:00
Hisham Muhammad
02a30bfecd warning fixes 2010-02-25 01:43:18 +00:00
Hisham Muhammad
8f230920cd show custom thread names 2010-02-25 01:37:31 +00:00
Hisham Muhammad
c9e59b4a33 minor tweaks by David Weber 2010-02-22 20:54:01 +00:00
Hisham Muhammad
1e124da059 coverity fixes 2009-10-16 20:03:18 +00:00
Hisham Muhammad
3b950e4189 BSD related fixes:
* BUGFIX: Correct page size calculation for FreeBSD systems
  (thanks to Andrew Paulsen)
* Allow compilation without PLPA on systems that don't support it
  (thanks to Timothy Redaelli)
2009-03-11 13:15:43 +00:00
Hisham Muhammad
b93e5c00b6 Rename VEID to CTID in OpenVZ systems
(thanks to Thorsten Schifferdecker)
2009-03-11 13:05:19 +00:00
Hisham Muhammad
dc38fc2da3 Fix missing tree view when userland threads are hidden
(thanks to Josh Stone)
2009-02-17 17:12:59 +00:00
Hisham Muhammad
0baba6d7b4 Fix for VPID on OpenVZ systems
(thanks to Wolfgang Frisch)
2009-02-17 15:36:43 +00:00
Hisham Muhammad
a2f6eea0c4 Remove assertion that fails on hardened kernels
(thanks to Wolfram Schlich for the report)
2008-09-23 06:29:03 +00:00
Hisham Muhammad
c3550e18e8 Avoid reading process IO info multiple times on multithreaded processes.
Bugfix from Gerhard Heift.
2008-09-23 05:56:15 +00:00
Hisham Muhammad
a5dfaa2393 Add Linux-VServer support,
contributed by Jonathan Sambrook and Benedikt Bohm
2008-09-23 04:31:13 +00:00
Hisham Muhammad
2338ad5820 Ability to change sort column with the mouse by
clicking column titles (click again to invert order).
Also, add a consolidated IO kbyte/s column.
2008-03-14 18:50:49 +00:00
Hisham Muhammad
da23c8c5a1 Clean up headers by using 'static' whenever possible.
Reduces resulting code size.
2008-03-09 08:58:38 +00:00
Hisham Muhammad
12f4f09e6e Add support for Linux per-process IO statistics,
enabled with the --enable-taskstats flag, which
requires a kernel compiled with taskstats support.
Thanks to Tobias Oetiker!
2008-03-09 08:02:22 +00:00
Hisham Muhammad
8fa33dc336 Add Unicode support, enabled with the --enable-unicode
flag, which requires libncursesw.
Thanks to Sergej Pupykin!
2008-03-09 02:33:23 +00:00
Hisham Muhammad
93f091c47e BUGFIX: Fix display of CPU count for threaded processes.
When user threads are hidden, process now shows the
sum of processor usage for all processors. When user
threads are displayed, each thread shows its own
processor usage, including the root thread.
(thanks to Bert Wesarg for the report)
Also, add option to display thread colors differently.
2008-03-08 23:39:48 +00:00
Hisham Muhammad
855d9eaf9a IO-wait time now counts as idle time, which is a more
accurate description. It is still available in
split time, now called detailed CPU time.
(thanks to Samuel Thibault for the report)
2007-11-09 00:40:59 +00:00
Hisham Muhammad
a7c2aedcec Improve construction of tree view, properly nesting threads.
Add CPU affinity screen ('a' key).
BUGFIX: Correct display of TPGID field.
Add TGID field.
2007-11-08 23:23:01 +00:00
Hisham Muhammad
4c51ad0e35 OpenVZ support, contributed by Sergey Lychko 2007-08-10 05:07:14 +00:00
Hisham Muhammad
d357c67717 Add support of NLWP field, by Bert Wesarg 2007-05-21 19:10:53 +00:00
Hisham Muhammad
b1e9d716f2 keep debug code up-to-date 2007-05-17 18:44:57 +00:00
Hisham Muhammad
9710a43001 Fixes for /proc location, submitted by Florent Thoumie 2007-05-17 18:29:30 +00:00
Hisham Muhammad
d46dcf99fd Make process memory percentage calculation saner. 2007-04-10 16:27:12 +00:00
Hisham Muhammad
f56c8014f7 Apply patches by Matthias Lederhofer adding extra
memory status fields
2007-04-05 20:13:32 +00:00
Hisham Muhammad
a227b20fef Switch to unsigned keys in hash, according to issue #1688290
in the sf tracker
2007-04-05 19:53:23 +00:00
Hisham Muhammad
a26ef71ed8 Minor tweak. 2006-11-13 22:04:17 +00:00
Hisham Muhammad
3d62edb678 Bugfix: collect orphaned items during tree generation
at the end of the tree.
Add debugging sanity checks.
2006-11-12 21:53:56 +00:00
Hisham Muhammad
c90a445103 Don't double-free comm when it's an existingProcess 2006-11-09 01:44:20 +00:00
Hisham Muhammad
97ea7a1a8c Ok, second take on fixing the handling of comm.- 2006-11-08 22:16:46 +00:00
Hisham Muhammad
adbfe82e63 Oops. 2006-11-08 22:09:13 +00:00
Hisham Muhammad
45fab61da3 Avoid double free of prototype's comm. 2006-11-08 22:08:00 +00:00
Hisham Muhammad
8adc7ac00f Fix asserts, don't use freed memory. 2006-11-08 21:49:52 +00:00
Hisham Muhammad
febe259e91 Add lots of debugging asserts and try to clean up behavior of lists in general.
Make dumping of proc data controlled by a separate debug define.
2006-11-08 20:12:57 +00:00
Hisham Muhammad
b25ac6b0f7 Handle situation instead of assuming it would never happen,
as it was seen out in the field and tested here.
2006-10-26 23:06:52 +00:00
Hisham Muhammad
2c4d730403 Allocate per-processor values in a contiguous chunk of memory 2006-10-04 16:25:41 +00:00
Hisham Muhammad
3e4f06d101 Contribution by Philipp Richter: Display IO-Wait, IRQ and Soft-IRQ values in status bar
(minor modifications: default to false, add help)
2006-10-04 14:21:27 +00:00
Hisham Muhammad
eb2803ce79 Share name strings from UsersList 2006-07-12 01:35:59 +00:00
Hisham Muhammad
dbe2670b69 Perform RichString operations by hand.
Avoid unnecessary operations when processing entries on ProcessList.
2006-07-12 01:16:03 +00:00
Hisham Muhammad
5d48ab8c28 Performance improvement hackathon: improve process comparison routines,
disable useless code in release builds such as runtime type-checking on
dynamic data structures and process fields that are not being computed,
faster(?) method for verifying the process owner (still need to ensure
correctness), don't destroy and create process objects for hidden kernel
threads over and over. Phew. I shouldn't be doing all this today, but I
could not resist.
2006-07-11 06:13:32 +00:00
Hisham Muhammad
2f1f82ee87 Updates for new version of the MakeHeader.py script. 2006-06-06 20:41:01 +00:00
Hisham Muhammad
8c643f5f89 Use long long types to avoid overflow 2006-06-05 21:28:54 +00:00
Hisham Muhammad
d0325cfec5 Disable old hack that's interfering with real debugging. 2006-06-05 15:53:16 +00:00
Hisham Muhammad
a853faaa2d Rename TypedVector to Vector, matching dit. 2006-05-30 13:45:40 +00:00
Hisham Muhammad
33113fe0d7 - Overhaul meters implementation;
- add AllCPUsMeter;
- because of that, the new .htoprc is incompatible with previous released versions.
2006-04-10 20:40:38 +00:00
Hisham Muhammad
86d6313560 * make debug target
* Support for generating a /proc trace for debugging purposes.
2006-03-24 03:39:04 +00:00
Hisham Muhammad
2ef1847a8b Complete implementation of --with-proc, making htop more FreeBSD-friendly 2006-03-13 17:29:18 +00:00
Hisham Muhammad
d6231bab89 Initial import. 2006-03-04 18:16:49 +00:00