NodeJS 프로그램 메모리 사용률 확인

2196 단어 nodememorychart
NodeJS 개발자로서 저는 정기적으로 제가 만들고 있는 프로그램에서 사용하는 메모리 양을 제어하고 싶습니다. 따라서 코드 선택을 평가하고 일부 기능을 코딩한 방식을 유지, 업데이트 또는 완전히 변경할 수 있습니다.

최대한 억지로 하려고 합니다. 최고의 코드 버전은 최소한의 리소스 사용으로 요구 사항을 충족하는 코드라고 생각합니다.

process.hrtime(https://nodejs.org/api/process.html#process_process_hrtime_time)과 같은 일부 NodeJS 내장 함수를 사용하여 이를 수행할 수 있습니다.

그러나 이렇게 하면 콘솔에 여러 줄의 코드와 출력 값이 추가됩니다.

나는 나를 위해 모든 작업을 수행하고 결과를 읽기 쉬운 그래픽 차트로 표시하는 작은 NPM 라이브러리를 사용하는 것을 선호합니다.

예를 들어 배열을 채우고 삭제할 때 메모리 사용률을 확인하고 싶다고 가정해 보겠습니다(이는 수행할 수 있는 작업을 제시하기 위한 매우 간단한 경우입니다). 작은 프로그램은 다음과 같습니다.

const randomstring = require('randomstring')

let array=[]
for (let index = 0; index < 10000; index++) {
    array[index]=randomstring.generate(32)
}

for (let index = 0; index < 10000; index++) {
    array.splice(index)
}


이제 그러한 프로그램의 메모리 사용률을 확인하고 싶습니다. memuse NPM 패키지를 사용하여 업데이트됩니다(https://www.npmjs.com/package/memuse):

const memuse=require('memuse')
const randomstring = require('randomstring')

memuse.init('./mem.csv')

let array=[]
for (let index = 0; index < 10000; index++) {
    array[index]=randomstring.generate(32)
    memuse.poll()
}

memuse.tag('start deletion')

for (let index = 0; index < 10000; index++) {
    array.splice(index)
    memuse.poll()
}

memuse.end('./mem.svg')


위의 프로그램에서 설명된 단계는 다음과 같습니다.
  • memuse 라이브러리를 로드했습니다
  • .
  • 초기화했습니다(메모리 사용률 통계는 mem.csv 파일에 저장됨)
  • 메모리 사용량 통계를 기록하고 싶을 때마다 memuse.poll() 함수를 호출했습니다
  • .
  • 배열이 로드된 직후와 삭제하기 전에 memuse.tag()를 사용하여 차트에서 이 단계를 찾기 위한 태그를 추가했습니다
  • .
  • 마지막으로 memuse.end()는 그래픽 차트를 생성합니다.

  • 프로그램을 실행하면 다음과 같은 멋진 메모리 사용률 차트가 표시됩니다.


    이 기사가 도움이 되었으면 합니다. 감사.

    좋은 웹페이지 즐겨찾기