فهرست منبع

bugfix: 解决node崩溃

zbLiuLiu 1 هفته پیش
والد
کامیت
8a5e73c5b9
2فایلهای تغییر یافته به همراه4 افزوده شده و 2 حذف شده
  1. 1 0
      docs/deployment-guide.md
  2. 3 2
      scripts/docker-limits.sh

+ 1 - 0
docs/deployment-guide.md

@@ -12,6 +12,7 @@ scripts/dev-up.sh
 - Docker 项目总内存预算按宿主机内存的 65% 计算,并为每个服务设置 `mem_limit` 与 `memswap_limit`。
 - Compose 构建默认串行执行,降低服务器构建时的资源尖峰。
 - 后端 Maven 构建使用 `MAVEN_OPTS` 限制 Java 构建进程的可见 CPU 与堆内存;前端 Node 构建使用 `NODE_OPTIONS` 限制 V8 老生代内存。
+- 前端构建堆内存独立于 Nginx 运行容器预算,最低为 1024MB,避免 `vue-tsc` 或 Vite 在低内存服务器上因 256MB 左右的默认堆限制失败。
 - RabbitMQ 单独保留更高的最低内存,并通过 `deploy/rabbitmq.conf` 设置内存水位,避免受限容器中 Erlang 监控进程因资源过紧退出。
 
 如需查看实际限制值:

+ 3 - 2
scripts/docker-limits.sh

@@ -68,8 +68,9 @@ MAVEN_HEAP_MB="$(awk -v total="$MEMORY_MB" 'BEGIN {
   printf "%d", value;
 }')"
 NODE_OLD_SPACE_MB="$(awk -v total="$MEMORY_MB" 'BEGIN {
-  value = int(total * 0.65 * 0.10 * 0.70);
-  if (value < 256) value = 256;
+  value = int(total * 0.65 * 0.25);
+  if (value < 1024) value = 1024;
+  if (value > 3072) value = 3072;
   printf "%d", value;
 }')"