2013-03-30 1 views

답변

17

응용 프로그램의 메모리 사용량을 프로파일 링하여 알 수 있습니다.

자바 객체는 힙에 할당되므로 힙을 덤프 할 수있는 도구가 필요합니다. 힙 덤프를 획득 한 후이를 검사하여 주어진 객체 (또는 함수)의 인스턴스가 얼마나 많은지 볼 수 있습니다.

예를 들어 코드에 대해 사용자가 연결할 때마다 소켓을 만들 수 있습니다. 3 명의 사용자가 연결되어있는 동안 힙을 덤프하면 ~ 3 개의 소켓이 표시됩니다. 해당 사용자가 연결을 끊은 후에 힙을 덤프하면 ~ 0 소켓이 표시됩니다.


사실 Chrome 힙 덤프 분석기는 Node.js 힙 덤프와 함께 사용할 수 있습니다. 그냥 https://github.com/bnoordhuis/node-heapdump


: 당신은 Node.js를 힙 덤프를 가지고 크롬에서이를 검사 할 수 있습니다 https://developers.google.com/chrome-developer-tools/docs/heap-profiling

  • 프로젝트 : 크롬 힙 덤프 분석기에

    • 문서 fyi 함수는 (closure) 섹션 아래의 힙 덤프에 표시됩니다.

      힙 덤프에서 유용하게 사용할 수 있도록 함수 이름을 지정하지 않아도됩니다 (이름이 필요하지 않더라도). 예를 들어

      , 단지 힙 덤프에 function()로 표시됩니다

      function() { }

      같은. 어디 같이

      function taggedFunction() { }

      는 힙 덤프에 function taggedFunction()로 표시됩니다. 100 개의 taggedFunctions를 작성하면 힙 덤프에 taggeFunction이 100 번 표시됩니다. 기본적으로 함수의 이름을 지정하면 함수를 계속 만들고 유출하는지 여부를 파악할 수 있습니다.

  • +1

    좋은 링크와 OP 코드에 대한 건설적인 비평을위한 +1 –

    +0

    setInterval은 모든 연결에 공통적이어야합니다. 각 사용자별로 동일한 시간을 표시하는 데 사용됩니다. 어쩌면 다른 방법이 있을까요? – BenoitD

    +0

    힙 프로파일 링을 살펴 보겠습니다. 감사합니다 – BenoitD