비동기 상황에서 예외와 스택 트레이스
출처 : https://preamtree.tistory.com/168 비동기 상황에서 예외와 스택 트레이스 비동기 함수에서 예외 발생 시 스택 트레이스가 출력되지 않는다. 스택 트레이스가 없어지는 상황 async function funcOne() { throw new Error('Error here prints the complete stack...
출처 : https://preamtree.tistory.com/168 비동기 상황에서 예외와 스택 트레이스 비동기 함수에서 예외 발생 시 스택 트레이스가 출력되지 않는다. 스택 트레이스가 없어지는 상황 async function funcOne() { throw new Error('Error here prints the complete stack...
V8 엔진의 heap 메모리 구조와 메모리 사용량이 계속 증가하는 이유 1. V8 엔진의 heap 메모리 구조 V8 엔진의 heap 메모리 구조는 아래와 같다. New Space(Young generation) : 새로운 객체나 짧은 시간 유효한 객체들이 저장되는 메모리 공간이다. 상대적으로 작은 크기의 메모리 공간이며, 두 개의 Semi...
자바스크립트 메모리 관리, 누수 대처법 1. 개관 코드를 컴파일하면 컴파일러는 원시 데이터 타입을 검사해 필요한 메모리를 검사한다. 그리고 필요한 만큼 스택 스페이스에 코드와 변수를 할당한다. 변수는 사용되고 후입선출로 삭제된다. 함수는 자신만의 스택 꾸러미를 갖게되고, 모든 지역 변수와 함수의 실행이 어디까지 진행되었는지 기억하는 프로그램 카운터...
자바스크립트 클로저 메모리 누수 클로저에 의해 참조된 지역변수는 자신이 정의된 함수가 끝나있고, 자신이 정의된 함수의 스코프에 선언된 다른 함수들도 Garbage Collected 되어야 Garbage Colleted 된다. 1. GC 되는 클로저 var theThing = null; var replaceThing = function () { ...
리눅스 core dump 1. core dump 란 core dump, memory dump, system dump 는 같은 의미로, 프로세스가 특정 시점에 사용 중이던 메모리 상태를 기록한 것이다. 그 외 PC, stack pointer, CPU register, 메모리 관리 정보, signal, 운영체제 plag 등 프로세스 상태도 같이 기...
가상 메모리와 실제 메모리 ps -eo euser,pid,vsz,rss,comm | grep [process id] 명령어를 실행할 경우 출력 되는 vsz, rss 값은 다음과 같다. euser : OS User pid : 프로세스 id vsz(VIRT) : 가상 메모리 크기 rss : 실제 점유 중인 메모리 크기 comm : co...
heap memory 는 어떻게 할당될까 pmap 명령어의 결과로 할당받은 메모리 블록마다 한 줄씩 표현되어 있다. 메모리 블록은 네 부분의 정보로 구성되어 있다. 메모리 시작주소 : 16 자리의 Hexa 로 표현되어 있다. 즉, 64bit 16^16 = (2^4)^16 으로 표현된다. 메모리 블록의 크기를 KB 단위로 표현 권한 ...
GDB 를 통해 메모리 덤프하기 메모리 누수가 의심되는 경우 메모리 덤프를 통해 누수가 있는 곳을 찾아야 한다. gdb 를 이용해 데이터가 쌓이는 부분을 메모리를 덤프를 하면 누수의 원인을 찾는데 도움이 된다. 메모리 누수가 발생하는 process 의 pid 를 찾아 smaps 명령어로 메모리 할당을 확인한다. cat /proc/&...
오라클 Tablespace 와 Datafile 1. Tablespce 와 Datafile 개요 오라클은 data 를 논리적으로 tablespace 에 물리적으로는 datafile 에 저장한다. Database, tablespace, datafile 은 긴밀하게 연결되어 있다. 오라클의 database 는 하나 이상의 논리적 저장소인 tab...
오브젝트 - 코드로 이해하는 객체지향 설계 정리 A. 계약에 의한 설계