דליפת זיכרון בהרצת הbuild בnode.js
-
אחרי שבאשכול זה שהיה בעיה של זיכרון ראם, שדרגתי לג'יגה וזה התקין טוב.
עכשיו, בהרצת הbuild הוא זורק שגיאות.
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 0xa24ed0 node::Abort() [node] 2: 0x966115 node::FatalError(char const*, char const*) [node] 3: 0xb9acde v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node] 4: 0xb9b057 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node] 5: 0xd56ea5 [node] 6: 0xd57a2f [node] 7: 0xd65abb v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node] 8: 0xd6967c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node] 9: 0xd37d2b v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node] 10: 0x108035f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node] 11: 0x1427099 [node] Aborted (core dumped)
עשיתי כעצה כאן והרצתי את השורה הזו
export NODE_OPTIONS="--max-old-space-size=8192"
אבל אז הוא מפיל את הפעולה
Building for production...Killed
גם כשניסיתי להעלות את הערכים ל-16384 או להוריד הוא עשה Killed, עד שהורדתי חזרה ל512 והוא שוב החזיר את השגיאה של דליפת זיכרון הנ"ל out of memory.
-
@chagold ייתכן שרק שלב הבנייה חייב הרבה זכרון. נסה אולי לבנות במכונה יותר גדולה ואז להעביר את הקבצים לשם. (אם האפליקציה רצה במצב develop כנראה שהבעיה היא רק בשלב הבנייה.)
בכל מקרה, אולי תצטרך בעתיד יותר ראם, תלוי בעומס.
אין לי מושג כמה תצטרך. צריך לעשות ניסויים... אבל נראה לי שג'יגה אמור להספיק לאפליקציה בינונית. -
@chagold אמר בדליפת זיכרון בהרצת הbuild בnode.js:
ד שהורדתי חזרה ל512 והוא שוב החזיר את השגיאה של דליפת זיכרון הנ"ל out of memory.
תנסה עם 1024, זה כמות הזכרון שיש לך..
אם תשים לב, יש פה שני סוגי OOM.
הראשון זה שnode מגביל את האפליקציה ל512 מגה, ואז נזרקת שגיאה יפה מנוד עם פרטים.
השני זה שנוד לא מגביל, כי הגדרת לו ערך יותר גדול מכמות הזכרון שיש לך, ואז הos שלך מקפיץ שגיאה של OOM ופשוט מעיף את התהליך. -
@chagold
אציין שמאז שנכנסתי רציני לvue ואני עובד כל הזמן על מצב serve עם vue-cli פתוח ראיתי שזה דורש המון משאבים ופשוט קניתי מחשב חדש..
את הפיתוח אני עושה על המחשב ומעביר לשרת רק קבצים מוכנים.
תעשה את החשבון שלך כמה העבודה באמצעות npm חוסך לך ותחשב עם שווה לך להשקיע בזה כסף..