From e7763375d69585fad681ad2d96d16fc44a9a3ca0 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Wed, 29 May 2024 01:44:37 +0200 Subject: [PATCH] jemalloc for all --- .github/workflows/docker-image.yml | 4 ++-- backend/src/main.rs | 4 +++- backend/src/monitor.rs | 2 +- backend/windmill-worker/src/common.rs | 1 + backend/windmill-worker/src/worker.rs | 7 ++++++- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 9baf512d85..891db60b03 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -74,7 +74,7 @@ jobs: platforms: linux/amd64,linux/arm64 push: true build-args: | - features=embedding,parquet,openidconnect + features=embedding,parquet,openidconnect,jemalloc tags: | ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev ${{ steps.meta-public.outputs.tags }} @@ -199,7 +199,7 @@ jobs: platforms: linux/amd64 push: true build-args: | - features=enterprise,enterprise_saml,stripe,embedding,parquet,prometheus,openidconnect,cloud + features=enterprise,enterprise_saml,stripe,embedding,parquet,prometheus,openidconnect,cloud,jemalloc PYTHON_IMAGE=python:3.12.2-slim-bookworm tags: | ${{ steps.meta-ee-public-py312.outputs.tags }} diff --git a/backend/src/main.rs b/backend/src/main.rs index d0ad417826..8a2a251d72 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -329,7 +329,9 @@ Windmill Community Edition {GIT_VERSION} monitor_pool(&db).await; #[cfg(all(not(target_env = "msvc"), feature = "jemalloc"))] - monitor_mem().await; + if !worker_mode { + monitor_mem().await; + } let addr = SocketAddr::from((server_bind_address, port)); diff --git a/backend/src/monitor.rs b/backend/src/monitor.rs index 4e0affaa9c..d2a9f17521 100644 --- a/backend/src/monitor.rs +++ b/backend/src/monitor.rs @@ -287,7 +287,7 @@ pub async fn monitor_mem() { tracing::error!("Error advancing jemalloc epoch: {:?}", e); } } - tokio::time::sleep(Duration::from_secs(10)).await; + tokio::time::sleep(Duration::from_secs(30)).await; } }); } diff --git a/backend/windmill-worker/src/common.rs b/backend/windmill-worker/src/common.rs index 47aeb3573c..47fd1618c0 100644 --- a/backend/windmill-worker/src/common.rs +++ b/backend/windmill-worker/src/common.rs @@ -586,6 +586,7 @@ where if i % 10 == 0 { let memory_usage = get_worker_memory_usage(); let wm_memory_usage = get_windmill_memory_usage(); + tracing::info!("{worker_name}/{job_id} in {w_id} worker memory snapshot {}kB/{}kB", memory_usage.unwrap_or_default()/1024, wm_memory_usage.unwrap_or_default()/1024); sqlx::query!( "UPDATE worker_ping SET ping_at = now(), current_job_id = $1, current_job_workspace_id = $2, memory_usage = $3, wm_memory_usage = $4 WHERE worker = $5", &job_id, diff --git a/backend/windmill-worker/src/worker.rs b/backend/windmill-worker/src/worker.rs index b17dcea4b9..2b687eaffa 100644 --- a/backend/windmill-worker/src/worker.rs +++ b/backend/windmill-worker/src/worker.rs @@ -1428,6 +1428,7 @@ pub async fn run_worker