일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- socket
- cache
- reactive
- mongodb
- 네트워크
- r
- html
- spring
- Static
- git
- ajax
- redis
- Lombok
- mybatis
- Linux
- Heap
- nodejs
- javascript
- 데이터통신
- Java
- HTTP
- AWS
- network
- reactor
- Elk
- NoSQL
- libuv
- github
- VCS
- effective
- Today
- Total
목록heapdump (2)
빨간색코딩
참조문서 : https://developers.google.com/web/tools/chrome-devtools/rendering-tools/js-execution웹어플리케이션 분석할 때 쓰지만, V8_inspector을 이용하여 노드에서도 쓸 수 있다.1. CPU ProfileCPU 사용량을 기록한다.Self Time : 함수의 현재 호출을 완료하는 데 얼마나 걸린 시간Total Time : 이 함수와 해당 함수가 호출한 모든 함수의 현재 호출을 완료하는 데 걸린 시간2. Heap Snapshot클릭시점에서 스냅샷 기록Shallow Size : array string과 같이 직접적으로 메모리를 점유하고 있는 js 객체들의 크기, 실제 데이터가 있는 영역Retained Size : GC 이후 남겨진 메모..
참조문서 : https://www.html5rocks.com/ko/tutorials/speed/static-mem-pools/1. 메모리 누수 원인nodejs는 v8엔진에서 GC를 주기적으로 수행한다. nodejs는 메모리관리가 불완전하고 어려운데, 그 이유는 GC역시 메인스레드(이벤트루프)에서 실행되기 때문이다. 따라서 메인스레드가 바쁜 작업(CPU인텐시브)을 돌릴 경우, 메모리는 급격히 증가하는데.. GC가 낄 틈새가 없는 것이다.2. 메모리 누수 해결방안이러한 메모리 누수를 피하려면 3가지 방법이 있다. 모두 다 이벤트루프를 고려한 프로그래밍이다.process.nextTick과 setTimeout을 활용하여 GC가 낄 틈새를 만들어주는 것이다.클로저와 스택의 빈번한 사용을 자제한다GC를 수동으로 이..