From 4f592ed011d0678c459b166c854b9e9247cd1b26 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Thu, 2 Jun 2022 09:29:04 -0400 Subject: speed up firemon --- src/firemon/netstats.c | 2 +- src/firemon/top.c | 2 +- src/lib/pid.c | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/firemon/netstats.c b/src/firemon/netstats.c index 7d86ca45e..31abd5471 100644 --- a/src/firemon/netstats.c +++ b/src/firemon/netstats.c @@ -205,7 +205,7 @@ void netstats(void) { while (1) { // set pid table int i; - int itv = 1; // 1 second interval + int itv = 3; // 3 second interval pid_read(0); // start rx/tx measurements diff --git a/src/firemon/top.c b/src/firemon/top.c index 0633370ac..3e7323ded 100644 --- a/src/firemon/top.c +++ b/src/firemon/top.c @@ -267,7 +267,7 @@ void top(void) { // set pid table int i; - int itv = 1; // 1 second interval + int itv = 3; // 3 second interval pid_read(0); // start cpu measurements diff --git a/src/lib/pid.c b/src/lib/pid.c index 3cf0df909..2cc72bce0 100644 --- a/src/lib/pid.c +++ b/src/lib/pid.c @@ -303,6 +303,7 @@ void pid_store_cpu(unsigned index, unsigned parent, unsigned *utime, unsigned *s // mon_pid: pid of sandbox to be monitored, 0 if all sandboxes are included void pid_read(pid_t mon_pid) { + unsigned old_max_pids = max_pids; FILE *fp = fopen("/proc/sys/kernel/pid_max", "r"); if (fp) { int val; @@ -314,12 +315,13 @@ void pid_read(pid_t mon_pid) { } if (pids == NULL) { + old_max_pids = max_pids; pids = malloc(sizeof(Process) * max_pids); if (pids == NULL) errExit("malloc"); } - memset(pids, 0, sizeof(Process) * max_pids); + memset(pids, 0, sizeof(Process) * old_max_pids); pid_t mypid = getpid(); DIR *dir; @@ -424,7 +426,7 @@ void pid_read(pid_t mon_pid) { closedir(dir); // update max_pid - max_pids = new_max_pids; + max_pids = new_max_pids + 1; pid_t pid; for (pid = 0; pid < max_pids; pid++) { -- cgit v1.2.3-70-g09d2