From f1071cbd4d4a5a9a2026fe32e20777cc628f4686 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 27 Oct 2024 13:55:16 +0000 Subject: [PATCH] Use a dedicated fiber for heap size monitoring --- .../jobs/load-new-guix-revision.scm | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index 3db3b9f..f4968de 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -614,12 +614,6 @@ '(define unsupported-cross-compilation-target-error? (const #f)) inf)) - (format (current-error-port) - "heap size: ~a MiB~%" - (round - (/ (assoc-ref (gc-stats) 'heap-size) - (expt 2. 20)))) - (catch 'match-error (lambda () @@ -2588,6 +2582,23 @@ SKIP LOCKED") (exec-query conn "BEGIN") + (spawn-fiber + (lambda () + (while #t + (sleep 30) + + (let ((stats (gc-stats))) + (simple-format + (current-error-port) + "process-job heap: ~a MiB used (~a MiB heap)~%" + (round + (/ (- (assoc-ref stats 'heap-size) + (assoc-ref stats 'heap-free-size)) + (expt 2. 20))) + (round + (/ (assoc-ref stats 'heap-size) + (expt 2. 20)))))))) + (match (select-job-for-update conn id) (((id commit source git-repository-id))