이 간단한 예제에서는 노드에 메모리 누수가있는 것 같습니다. 다른 사람이 확인할 수 있습니까?node.js 0.2.5 누출 메모리가 있습니까?
https://gist.github.com/a8eadd54d1058bcda796
이 간단한 예제에서는 노드에 메모리 누수가있는 것 같습니다. 다른 사람이 확인할 수 있습니까?node.js 0.2.5 누출 메모리가 있습니까?
https://gist.github.com/a8eadd54d1058bcda796
실수로 각각 완료 요청에 대한 2 개 개의 새로운 요청을 전송했다. 하나는 끝이고 하나는 닫습니다.
저는 0.3.1에 있으며, GC는 보통 여기에서 시작합니다. node --trace_gc test.js
를 사용
이 거의 도달하지 5메가바이트 :
[email protected]:~/Desktop$ node --trace_gc test.js
Scavenge 0.9 -> 1.0 MB, 1 ms.
Scavenge 1.9 -> 1.8 MB, 0 ms.
Scavenge 2.6 -> 1.9 MB, 1 ms.
Mark-sweep 2.9 -> 1.8 MB, 6 ms.
Scavenge 2.8 -> 1.8 MB, 0 ms.
Scavenge 2.9 -> 1.9 MB, 0 ms.
또 다른 실행 : 그것은 GC'ing에 관해서
[email protected]:~/Desktop$ node --trace_gc test.js
Scavenge 0.9 -> 1.0 MB, 1 ms.
Scavenge 1.9 -> 1.8 MB, 0 ms.
Scavenge 2.6 -> 1.9 MB, 1 ms.
Mark-sweep 1.9 -> 1.8 MB, 4 ms.
Mark-sweep 1.8 -> 1.7 MB, 3 ms.
Mark-compact 1.7 -> 1.7 MB, 11 ms.
Scavenge 2.3 -> 1.8 MB, 0 ms.
Scavenge 2.3 -> 1.8 MB, 0 ms.
Scavenge 2.3 -> 1.8 MB, 0 ms.
Scavenge 2.0 -> 1.9 MB, 0 ms.
Mark-sweep 1.9 -> 1.6 MB, 3 ms.
Mark-compact 1.6 -> 1.6 MB, 10 ms.
V8은 매우 지능, 한 가지 당신이 피려하고 싶어 수도 글로벌리스트 등에서 일부 참조를 푸시하지 않는 것은 그 참조가 살아있는 모든 것을 유지하기 때문입니다.
많은 양의 데이터를 처리하는 경우 Buffer
을 사용하고 즉시 할당하는 것이 좋습니다. 특히 0.3.x 버퍼는 매우 빠릅니다.
확인해 주셔서 감사합니다. – richcollins
귀하의 답변 인 경우에도 허용 된 답변으로 신고해야합니다. – Kynth