Почему сборка мусора не выполняется для строк, хранящихся в памяти узла 16? ⇐ Javascript
Почему сборка мусора не выполняется для строк, хранящихся в памяти узла 16?
У меня возникла утечка памяти в приложении node.js, что привело к сбою модулей. Я заметил всплеск памяти при одновременных обращениях и сборке мусора до определенного уровня, но в идеальном случае память не восстанавливается до предыдущего уровня. Однако утечка памяти невелика, и для сбоя модулей требуется около 72 часов, что происходит, когда она достигает 1,1 ГБ. В идеале использование памяти не должно превышать 40 МБ, а в часы пик всплеск нагрузки является нормальным, но в режиме простоя он восстанавливается примерно до 40 МБ.
У нас не было такой проблемы с узлом версии 12, но с узлом 16 мы столкнулись с проблемой утечки памяти.
Я сделал снимок кучи перед началом теста, а когда тест был завершен, оставил его бездействующим, чтобы произошла сборка мусора, а затем снова сделал еще один снимок кучи.
До:
(строка) занимает около 13988028
(скомпилированный код) занимает около 12948428
до теста данные в строке выглядели так
После:
(строка) занимает около 61617524
(скомпилированный код) занимает около 67697612
Также скомпилированный код содержит ссылку на строку.
И после теста содержимое страницы HTML добавляется в строку, которая не подвергается сборке мусора. Он также содержит несколько HTML-страниц с ответами об ошибках 500, для которых запрос не был успешным.
Кто-нибудь может помочь с этой проблемой?
У меня возникла утечка памяти в приложении node.js, что привело к сбою модулей. Я заметил всплеск памяти при одновременных обращениях и сборке мусора до определенного уровня, но в идеальном случае память не восстанавливается до предыдущего уровня. Однако утечка памяти невелика, и для сбоя модулей требуется около 72 часов, что происходит, когда она достигает 1,1 ГБ. В идеале использование памяти не должно превышать 40 МБ, а в часы пик всплеск нагрузки является нормальным, но в режиме простоя он восстанавливается примерно до 40 МБ.
У нас не было такой проблемы с узлом версии 12, но с узлом 16 мы столкнулись с проблемой утечки памяти.
Я сделал снимок кучи перед началом теста, а когда тест был завершен, оставил его бездействующим, чтобы произошла сборка мусора, а затем снова сделал еще один снимок кучи.
До:
(строка) занимает около 13988028
(скомпилированный код) занимает около 12948428
до теста данные в строке выглядели так
После:
(строка) занимает около 61617524
(скомпилированный код) занимает около 67697612
Также скомпилированный код содержит ссылку на строку.
И после теста содержимое страницы HTML добавляется в строку, которая не подвергается сборке мусора. Он также содержит несколько HTML-страниц с ответами об ошибках 500, для которых запрос не был успешным.
Кто-нибудь может помочь с этой проблемой?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение