summaryrefslogtreecommitdiffstats
path: root/freebsd
diff options
context:
space:
mode:
authorAlexander Nedotsukov <bland@bbnest.net>2021-03-30 10:58:09 +0300
committercgzones <cgzones@googlemail.com>2021-03-30 23:38:32 +0200
commit5afb57b49e7888adfb7e6cf522ca431785c6f5f5 (patch)
treed80d753c93c880b7d0bdb8765a3299e24f13ec48 /freebsd
parent73f5ecf5289b4a6431d9cc945f523b36a5996a79 (diff)
FreeBSD: improve actual processor calculation logic
Diffstat (limited to 'freebsd')
-rw-r--r--freebsd/FreeBSDProcessList.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index 628956d1..2e937669 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -572,7 +572,11 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) {
proc->percent_cpu = 100.0 * ((double)kproc->ki_pctcpu / (double)kernelFScale);
proc->percent_mem = 100.0 * proc->m_resident / (double)(super->totalMem);
- proc->processor = kproc->ki_lastcpu;
+ if (kproc->ki_stat == SRUN && kproc->ki_oncpu != NOCPU) {
+ proc->processor = kproc->ki_oncpu;
+ } else {
+ proc->processor = kproc->ki_lastcpu;
+ }
proc->majflt = kproc->ki_cow;

© 2014-2024 Faster IT GmbH | imprint | privacy policy