From 9f1cdc4c9ed3585338758dd092269a570b90b751 Mon Sep 17 00:00:00 2001 From: andreastaliad Date: Mon, 25 May 2026 13:23:35 +0300 Subject: [PATCH] make proc sampling at step only to avoid fork creation overhead --- fork_bomb/fork_bomb.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/fork_bomb/fork_bomb.c b/fork_bomb/fork_bomb.c index fed2c94..cfe4dbc 100644 --- a/fork_bomb/fork_bomb.c +++ b/fork_bomb/fork_bomb.c @@ -263,8 +263,6 @@ int main(void) fprintf(csv, "timestamp,elapsed_s,load1,load5,load15,mem_total_kb,mem_available_kb,mem_used_kb,proc_count,thread_count_total,pid,cpu_pct,sys_cpu_pct,forks_per_sec,rss_kb,vsz_kb,stack_kb,heap_kb,proc_threads\n"); long count = 0; - long prev_proc_count = 0; - long proc_accum = 0; double start_uptime = read_uptime(); long prev_cpu_total = 0; @@ -295,17 +293,8 @@ int main(void) count++; - long proc_count = count_processes(); - if (prev_proc_count > 0) { - long delta = proc_count - prev_proc_count; - if (delta > 0) { - proc_accum += delta; - } - } - prev_proc_count = proc_count; - - if (proc_accum >= proc_step) { - proc_accum = 0; + if (count % proc_step == 0) { + long proc_count = count_processes(); double now_uptime = read_uptime(); double elapsed_s = now_uptime - start_uptime;