-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
bug: pending triageMaybe a bug, waiting for confirmationMaybe a bug, waiting for confirmation
Description
Describe the bug
The previous steps takes about 5 minutes, and then it hangs on generating sitemap, memory usage is more than 6GB on MackBook Pro 14 2021. Vitepress version is v1.4.1, it's the same after after upgrade to v1.6.4. Is there any way to optimize the building time and memory usage?
Docker build
➜ portal git:(main) docker build -t muming-portal .
[+] Building 1935.8s (40/49) docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 2.34kB 0.0s
=> [internal] load metadata for registry.cn-shanghai.aliyuncs.com/jaggerwang/nginx:1.26 1.8s
=> [internal] load metadata for registry.cn-shanghai.aliyuncs.com/jaggerwang/node:22 1.4s
=> [auth] jaggerwang/nginx:pull token for registry.cn-shanghai.aliyuncs.com 0.0s
=> [auth] jaggerwang/node:pull token for registry.cn-shanghai.aliyuncs.com 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 88B 0.0s
=> [builder 1/23] FROM registry.cn-shanghai.aliyuncs.com/jaggerwang/node:22@sha256:f5b7f1520bcddf9a9ab0e405e84ef48377377580e87c4775bfa65ebdd8e281bb 0.0s
=> [builder 16/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/basketball.zip venue-basketball.zip 1.0s
=> [builder 9/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/swimming.zip coach-swimming.zip 0.8s
=> [builder 15/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/badminton.zip venue-badminton.zip 1.1s
=> [stage-1 1/12] FROM registry.cn-shanghai.aliyuncs.com/jaggerwang/nginx:1.26@sha256:9018b2392d0db980b6c5d48fcae193183777fbe09950582cee80282bfd7fb54c 0.0s
=> [builder 14/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/tennis.zip venue-tennis.zip 0.8s
=> [builder 8/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/badminton.zip coach-badminton.zip 1.0s
=> [builder 7/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/tennis.zip coach-tennis.zip 1.0s
=> [builder 17/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/football.zip venue-football.zip 0.7s
=> [internal] load build context 0.2s
=> => transferring context: 1.10MB 0.2s
=> CACHED [stage-1 2/12] WORKDIR /app 0.0s
=> CACHED [builder 2/23] WORKDIR /app 0.0s
=> CACHED [builder 3/23] COPY package*.json ./ 0.0s
=> CACHED [builder 4/23] RUN npm config set registry https://registry.npmmirror.com 0.0s
=> CACHED [builder 5/23] RUN npm install 0.0s
=> [builder 6/23] COPY . . 0.8s
=> [stage-1 3/12] COPY nginx/nginx.conf /etc/nginx/nginx.conf 0.1s
=> [stage-1 4/12] COPY nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf 0.0s
=> [builder 7/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/tennis.zip coach-tennis.zip 0.0s
=> [builder 8/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/badminton.zip coach-badminton.zip 0.0s
=> [builder 9/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/coach/swimming.zip coach-swimming.zip 0.0s
=> [builder 10/23] RUN rm -rf coach 0.2s
=> [builder 11/23] RUN unzip coach-tennis.zip -d coach 0.2s
=> [builder 12/23] RUN unzip coach-badminton.zip -d coach 0.3s
=> [builder 13/23] RUN unzip coach-swimming.zip -d coach 0.2s
=> [builder 14/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/tennis.zip venue-tennis.zip 0.0s
=> [builder 15/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/badminton.zip venue-badminton.zip 0.0s
=> [builder 16/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/basketball.zip venue-basketball.zip 0.0s
=> [builder 17/23] ADD https://bucket-muming-common.mumingerlai.net/prod/operations/page/venue/football.zip venue-football.zip 0.0s
=> [builder 18/23] RUN rm -rf venue 0.2s
=> [builder 19/23] RUN unzip venue-tennis.zip -d venue 0.2s
=> [builder 20/23] RUN unzip venue-badminton.zip -d venue 0.4s
=> [builder 21/23] RUN unzip venue-basketball.zip -d venue 0.2s
=> [builder 22/23] RUN unzip venue-football.zip -d venue 0.2s
=> [builder 23/23] RUN npm run build 1930.6s
=> => # - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
=> => # - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
=> => # ✓ building client + server bundles...
=> => # - rendering pages...
=> => # ✓ rendering pages...
=> => # - generating sitemap...
^C%
Local build
➜ portal git:(main) ✗ npm run build
> build
> vitepress build
vitepress v1.6.4
⠙ building client + server bundles...
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ building client + server bundles...
✓ rendering pages...
✖ generating sitemap...
build error:
spawn EBADF
Error: spawn EBADF
at ChildProcess.spawn (node:internal/child_process:420:11)
at Object.spawn (node:child_process:753:9)
at Function.spawn (file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:36493:25)
at file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:36532:37
at new Promise (<anonymous>)
at getGitTimestamp (file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:36531:10)
at getLastmod (file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:49329:18)
at file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:49353:55
at Array.map (<anonymous>)
at file:///Users/jagger/projects/muming/portal/node_modules/vitepress/dist/node/chunk-D3CUZ4fa.js:49351:35package.json
{
"devDependencies": {
"vitepress": "^1.6.4"
},
"scripts": {
"dev": "vitepress dev --host 0.0.0.0",
"build": "vitepress build",
"preview": "vitepress preview"
}
}Reproduction
Create more than 4000 pages and build.
Expected behavior
Build successfully.
System Info
System:
OS: macOS 26.0.1
CPU: (8) arm64 Apple M1 Pro
Memory: 95.23 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.16.0 - /opt/homebrew/opt/node@22/bin/node
npm: 10.9.2 - /opt/homebrew/opt/node@22/bin/npm
Watchman: 2025.05.26.00 - /opt/homebrew/bin/watchman
Browsers:
Chrome: 141.0.7390.123
Safari: 26.0.1
npmPackages:
vitepress: ^1.6.4 => 1.6.4
Additional context
No response
Validations
- Check if you're on the latest VitePress version.
- Follow our Code of Conduct
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
Metadata
Metadata
Assignees
Labels
bug: pending triageMaybe a bug, waiting for confirmationMaybe a bug, waiting for confirmation