【发布时间】:2018-09-25 22:02:44
【问题描述】:
有时会出现这个错误。
<--- Last few GCs --->
[2856:00000253F09D3B90] 11688472 ms: Mark-sweep 1529.8 (1619.4) -> 1529.7 (1583.4) MB, 1835.6 / 0.0 ms last resort GC in old space requested
[2856:00000253F09D3B90] 11690272 ms: Mark-sweep 1529.7 (1583.4) -> 1529.7 (1579.4) MB, 1799.7 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 000001F6C9E25739 <JSObject>
1: completeMany [C:\Users\mobasher.fasihy\Documents\GitHub\jobsaf-server\node_modules\mongoose\lib\query.js:~1459] [pc=0000006F3C3482B8](this=0000029E4B604F01 <JSGlobal Object>,model=00000090CCBE6729 <JSFunction model (sfi = 000001A244DDB931)>,docs=0000025B74FA8591
<JSArray[53714]>,fields=0000025B74FA8FF1 <Object map = 00000207F58823B9>,userProvidedFields=0000025B74FA9029 <Object map = 000...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::DecodeWrite
2: node_module_register
3: v8::internal::FatalProcessOutOfMemory
4: v8::internal::FatalProcessOutOfMemory
5: v8::internal::Factory::NewUninitializedFixedArray
6: v8::internal::WasmDebugInfo::SetupForTesting
7: v8::internal::interpreter::BytecodeArrayRandomIterator::UpdateOffsetFromIndex
8: 0000006F3C2043C1
[nodemon] app crashed - waiting for file changes before starting...
服务器上随机出现上述错误,应用程序崩溃。
【问题讨论】:
-
请将错误信息以文本形式发布在代码块中,以便于搜索、阅读和使用以帮助您。这个错误意味着你使用了太多的内存,可能是一个你填充太多的数组,一个你不让呼吸的递归调用,或者一个你让循环持续太久,但是没有代码,我们不能走得更远。
-
@DrakaSAN 无法跟踪我的应用程序的哪个请求导致了此错误,它是随机发生的。我有一些超过 6 万条记录的集合,当我列出或搜索它们时,有时会出现上述错误。
-
看起来像一个很好的嫌疑人,这取决于你如何列出你的收藏,这可能就是你让一切崩溃的方式。你使用数据库吗?哪一个?你如何使用它?如果可以的话,能不能贴一下列表和搜索功能?
-
@DrakaSAN 是的,我用的是 MongoDB,我的列表,搜索功能很简单,我就用 from
find, aggregate, skip, limit, and somewhere $match。它的响应时间很好,我所有的请求都响应很快。 -
您将获得的数据保留多长时间?我会记录确切的请求,等待崩溃,并调查导致崩溃的调用,可能是一次请求大量数据,或者数据库中的 huge 对象。
标签: node.js angular mean-stack