Programing

node.js process.memoryUsage ()의 반환 값은 무엇을 의미합니까?

lottogame 2020. 7. 16. 08:06
반응형

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 , heapTotalheapUsed 는 무엇을 의미합니까?

사소한 질문처럼 보이지만 지금까지 살펴본 결과 지금까지 명확한 답을 찾을 수 없었습니다.


이 질문에 대답하려면 먼저 V8의 메모리 체계를 이해해야합니다.

실행중인 프로그램은 항상 메모리에 할당 된 공간을 통해 나타납니다. 이 공간을 Resident Set 라고 합니다. V8은 Java Virtual Machine과 유사한 구성표를 사용하고 메모리를 세그먼트로 나눕니다.

  • 코드 : 실제 코드 실행
  • Stack : 힙의 객체를 참조하는 포인터와 프로그램의 제어 흐름을 정의하는 포인터와 함께 모든 값 유형 (정수 또는 부울과 같은 기본형)을 포함합니다.
  • : 객체, 문자열 및 클로저와 같은 참조 유형을 저장하는 데 사용되는 메모리 세그먼트입니다.여기에 이미지 설명을 입력하십시오

이제 질문에 대답하기가 쉽습니다.

  • rss : 상주 세트 크기
  • heapTotal : 힙의 총 크기
  • heapUsed : 실제로 사용 된 힙

참조 : http://apmblog.dynatrace.com/2015/11/04/understanding-garbage-collection-and-hunting-memory-leaks-in-node-js/


RSS상주 세트 크기 (스왑 공간 또는 파일 시스템에 보유 된 부분과 대조적으로) RAM에 보유 된 프로세스 메모리의 일부입니다.

(생각 새로 할당 된 객체에서 온 것입니다있는 메모리 부분입니다 mallocC에서, 또는 new자바 스크립트).

Wikipedia 에서 힙에 대한 자세한 내용을 읽을 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/12023359/what-do-the-return-values-of-node-js-process-memoryusage-stand-for

반응형