From ec683f04d18791d1e22f7e0388059d06de96dc6f Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Wed, 14 Jan 2026 16:12:44 +0900 Subject: enhance(dev): メモリ使用量比較のActionsでGCしてから取得する MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #16961 --- packages/backend/scripts/measure-memory.mjs | 6 ++++-- packages/backend/src/boot/entry.ts | 4 ++++ packages/backend/src/env.ts | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/backend/scripts/measure-memory.mjs b/packages/backend/scripts/measure-memory.mjs index 017252d7ec..baa4198adf 100644 --- a/packages/backend/scripts/measure-memory.mjs +++ b/packages/backend/scripts/measure-memory.mjs @@ -25,11 +25,13 @@ async function measureMemory() { const startTime = Date.now(); // Start the Misskey backend server using fork to enable IPC - const serverProcess = fork(join(__dirname, '../built/boot/entry.js'), [], { + const serverProcess = fork(join(__dirname, '../built/boot/entry.js'), ['expose-gc'], { cwd: join(__dirname, '..'), env: { ...process.env, - NODE_ENV: 'test', + NODE_ENV: 'production', + MK_DISABLE_CLUSTERING: '1', + MK_FORCE_GC: '1', }, stdio: ['pipe', 'pipe', 'pipe', 'ipc'], }); diff --git a/packages/backend/src/boot/entry.ts b/packages/backend/src/boot/entry.ts index da585ad68d..56b339b6aa 100644 --- a/packages/backend/src/boot/entry.ts +++ b/packages/backend/src/boot/entry.ts @@ -86,6 +86,10 @@ if (!envOption.disableClustering) { ev.mount(); } +if (envOption.forceGc && global.gc != null) { + global.gc(); +} + readyRef.value = true; // ユニットテスト時にMisskeyが子プロセスで起動された時のため diff --git a/packages/backend/src/env.ts b/packages/backend/src/env.ts index ba44cfa2e6..9957938467 100644 --- a/packages/backend/src/env.ts +++ b/packages/backend/src/env.ts @@ -11,6 +11,7 @@ const envOption = { verbose: false, withLogTime: false, quiet: false, + forceGc: false, }; for (const key of Object.keys(envOption) as (keyof typeof envOption)[]) { -- cgit v1.2.3-freya