반응형
node.js process.memoryUsage ()의 반환 값은 무엇을 의미합니까?
공식 문서에서 ( source ) :
process.memoryUsage ()
바이트 단위로 측정 된 노드 프로세스의 메모리 사용량을 설명하는 객체를 반환합니다.
var util = require('util'); console.log(util.inspect(process.memoryUsage()));
이것은 다음을 생성합니다 :
{ rss: 4935680, heapTotal: 1826816, heapUsed: 650472 }
heapTotal 및 heapUsed는 V8의 메모리 사용량을 나타냅니다.
정확히 rss , heapTotal 및 heapUsed 는 무엇을 의미합니까?
사소한 질문처럼 보이지만 지금까지 살펴본 결과 지금까지 명확한 답을 찾을 수 없었습니다.
이 질문에 대답하려면 먼저 V8의 메모리 체계를 이해해야합니다.
실행중인 프로그램은 항상 메모리에 할당 된 공간을 통해 나타납니다. 이 공간을 Resident Set 라고 합니다. V8은 Java Virtual Machine과 유사한 구성표를 사용하고 메모리를 세그먼트로 나눕니다.
- 코드 : 실제 코드 실행
- Stack : 힙의 객체를 참조하는 포인터와 프로그램의 제어 흐름을 정의하는 포인터와 함께 모든 값 유형 (정수 또는 부울과 같은 기본형)을 포함합니다.
- 힙 : 객체, 문자열 및 클로저와 같은 참조 유형을 저장하는 데 사용되는 메모리 세그먼트입니다.
이제 질문에 대답하기가 쉽습니다.
- rss : 상주 세트 크기
- heapTotal : 힙의 총 크기
- heapUsed : 실제로 사용 된 힙
RSS 는 상주 세트 크기 (스왑 공간 또는 파일 시스템에 보유 된 부분과 대조적으로) RAM에 보유 된 프로세스 메모리의 일부입니다.
힙 (생각 새로 할당 된 객체에서 온 것입니다있는 메모리 부분입니다 malloc
C에서, 또는 new
자바 스크립트).
Wikipedia 에서 힙에 대한 자세한 내용을 읽을 수 있습니다 .
반응형
'Programing' 카테고리의 다른 글
const_iterator와 iterator의 차이점은 무엇입니까? (0) | 2020.07.16 |
---|---|
WPF DataGrid를 가변 개수의 열에 어떻게 바인딩합니까? (0) | 2020.07.16 |
gmake와 make의 차이점은 무엇입니까? (0) | 2020.07.16 |
JRE 또는 JDK가 설치되어 있는지 확인하는 방법 (0) | 2020.07.16 |
“BEGIN RSA PRIVATE KEY”와“BEGIN PRIVATE KEY”의 차이점 (0) | 2020.07.16 |