summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/backend/scripts/measure-memory.mjs6
-rw-r--r--packages/backend/src/boot/entry.ts4
-rw-r--r--packages/backend/src/env.ts1
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)[]) {