svn commit: r408842 - in head/sysutils/htop: . files
Cy Schubert
cy at FreeBSD.org
Sun Feb 14 03:07:02 UTC 2016
Author: cy
Date: Sun Feb 14 03:07:00 2016
New Revision: 408842
URL: https://svnweb.freebsd.org/changeset/ports/408842
Log:
Make CPU% display the same as ps and top do.
MEM% displays 0.0. Fix that.
PR: 207120
Modified:
head/sysutils/htop/Makefile
head/sysutils/htop/files/patch-freebsd__FreeBSDProcessList.c
Modified: head/sysutils/htop/Makefile
==============================================================================
--- head/sysutils/htop/Makefile Sun Feb 14 02:59:02 2016 (r408841)
+++ head/sysutils/htop/Makefile Sun Feb 14 03:07:00 2016 (r408842)
@@ -3,7 +3,7 @@
PORTNAME= htop
PORTVERSION= 2.0.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MAINTAINER= gaod at hychen.org
Modified: head/sysutils/htop/files/patch-freebsd__FreeBSDProcessList.c
==============================================================================
--- head/sysutils/htop/files/patch-freebsd__FreeBSDProcessList.c Sun Feb 14 02:59:02 2016 (r408841)
+++ head/sysutils/htop/files/patch-freebsd__FreeBSDProcessList.c Sun Feb 14 03:07:00 2016 (r408842)
@@ -1,6 +1,24 @@
---- freebsd/FreeBSDProcessList.c.orig 2016-02-13 00:37:56.160832000 +0800
-+++ freebsd/FreeBSDProcessList.c 2016-02-13 00:38:19.671290000 +0800
-@@ -477,8 +477,8 @@
+--- freebsd/FreeBSDProcessList.c.orig 2016-02-10 12:48:39.000000000 -0800
++++ freebsd/FreeBSDProcessList.c 2016-02-13 13:42:40.759431578 -0800
+@@ -84,6 +84,8 @@
+ static int MIB_kern_cp_times[2];
+ static int kernelFScale;
+
++// XXX hack
++static unsigned long long int Global_totalMem;
+
+ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
+ FreeBSDProcessList* fpl = xCalloc(1, sizeof(FreeBSDProcessList));
+@@ -301,6 +303,8 @@
+ //pl->totalMem *= pageSizeKb;
+ sysctl(MIB_hw_physmem, 2, &(pl->totalMem), &len, NULL, 0);
+ pl->totalMem /= 1024;
++ // XXX hack
++ Global_totalMem = pl->totalMem;
+
+ sysctl(MIB_vm_stats_vm_v_active_count, 4, &(fpl->memActive), &len, NULL, 0);
+ fpl->memActive *= pageSizeKb;
+@@ -477,8 +481,9 @@
}
// from FreeBSD source /src/usr.bin/top/machine.c
@@ -8,6 +26,17 @@
- proc->m_resident = kproc->ki_rssize * pageSizeKb;
+ proc->m_size = kproc->ki_size / 1024 / pageSizeKb;
+ proc->m_resident = kproc->ki_rssize;
++ proc->percent_mem = (proc->m_resident * PAGE_SIZE_KB) / (double)(Global_totalMem) * 100.0;
proc->nlwp = kproc->ki_numthreads;
proc->time = (kproc->ki_runtime + 5000) / 10000;
+@@ -487,9 +492,6 @@
+ // system idle process should own all CPU time left regardless of CPU count
+ if ( strcmp("idle", kproc->ki_comm) == 0 ) {
+ isIdleProcess = true;
+- } else {
+- if (cpus > 1)
+- proc->percent_cpu = proc->percent_cpu / (double) cpus;
+ }
+ }
+ if (isIdleProcess == false && proc->percent_cpu >= 99.8) {
More information about the svn-ports-all
mailing list