메뉴 건너뛰기

XEDITION

study

https://blog.hjf.pe.kr/466


개발한 프로세스에서 메모리 누수(Leak)이 발생된다 예상되면, 메모리 사용량 추적을 통해 메모리 누수 여부를 검증해야 합니다. 성능 모니터를 이용하면 프로세스의 메모리 사용량을 추적 및 로그 기록할 수 있습니다.

 

만약, 메모리 누수가 확인된다면, 테스트용 실행파일 등으로, 메모리 누수가 발생할 수 있는 코드의 범위를 줄여가며 반복적으로 테스트 해야 합니다.

만약, 특정 기능 수행 시 메모리 누수가 의심된다면 특정 기능을 반복적으로 실행할 수 있는 테스트 프로그램을 만들어 점검할 코드의 범위를 줄여가며 추적하기 바랍니다.

 

델파이로 개발된 프로젝트라면 메모리 누수 보고 기능을 켜서 메모리 누수 여부를 확인할 수 있습니다.

 

 

프로세스 메모리 사용량 추적

윈도우즈 성능 모니터를 이용해 프로세스가 사용 중인 메모리 사용량을 로그파일로 기록하는 방법을 소개합니다.

 

 

모니터링 대상 프로세스 실행

 

메모리 사용량 추적할 프로세스를 실행합니다. 저는 MemoryLeakTest.exe라는 실행파일을 만들어 실행했습니다.

 

 

성능 모니터에서 프로세스 메모리 사용량 기록

 

성능 모니터를 실행하고, 성능 > 데이터 수집기 집합 > 사용자 정의 메뉴를 선택합니다.

 

목록 창에서 우측 마우스를 누르고, 새로 만들기 > 데이터 수집기 집합 메뉴를 선택합니다.

 

이름을 지정하고, 수동으로 만들기(고급) 항목 선택 합니다.

 

성능 카운터 항목을 선택합니다.

 

[추가] 버튼을 누릅니다.

데이터 수집 가격을 지정합니다.

 

사용 가능한 카운터에서 Process 항목을 펼치고, Working Set 항목을 선택합니다.

인스턴스로는 추적할 프로세스를 선택합니다.(현재 실행된 프로세스 목록이 표시됩니다.)

[추가] 버튼을 눌러 추가합니다.

(Handle Count, Private Bytes 등 추적하고 싶은 카운터들도 함께 선택해도 됩니다.)

(주요 카운터에 대한 설명은 하단 참고링크 참고)

 

데이터 저장 경로를 지정합니다.

 

 

작업을 마칩니다.

 

추가한 데이터 수집기 집합의 속성에 들어가 로그 형식을 "쉼표로 구분"으로 변경합니다.(로그를 엑셀로 활용할 수 있습니다.)

 

성능 모니터링을 시작합니다.(데이터 수집기 집합의 속성에서 예약등을 이용해 자동 시작할 수 있습니다.)

 

 

로그파일 확인

 

지정한 경로에 csv 파일이 생성됩니다.

 

csv 파일을 엑셀로 열고, 데이터를 분석하거나, 차트를 만들어 시각적으로 메모리 사용량(Working Set) 추이를 관찰 할 수 있습니다.

 

 

참고링크


 


 

 

번호 제목 글쓴이 날짜 조회 수
84 Create and apply simple filters to an image using OpenCV and Python proin 2020.08.31 0
83 Flutter 소개와 개발환경 구축 proin 2020.08.29 2
82 Sudo pip install은 안돼요! proin 2020.08.28 0
81 Memory(Private Bytes, Working Set, Virtual Bytes) proin 2020.07.29 0
80 [윈도우 배치 프로세스] 프로세스 메모리 사용량 체크하기 proin 2020.07.27 0
79 특정 프로세스 메모리 사용량 모니터링 로그 프로그램 file proin 2020.07.27 0
78 성능 모니터 주요 체크 카운터 proin 2020.07.27 0
77 성능 모니터 주요 체크 카운터 proin 2020.07.27 0
76 성능 모니터 주요 카운터 정리 proin 2020.07.27 0
» 프로세스 메모리 사용량 로그 기록 - 성능 모니터 이용 proin 2020.07.27 0
74 [기타] 윈도우에서 삼바 로그아웃 하기 proin 2020.05.15 1
73 openmediavault 이용하여 라즈베리파이 나스(NAS) 만들기 (FTP 파일서버 구축 방법) proin 2019.09.18 0
72 ITS : OpenProject 설치 & 초기 환경설정 proin 2019.09.18 0
71 초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기 proin 2019.09.18 0
70 vmware 에 헤놀로지 (synology) 및 DSM 설치 proin 2019.06.16 1
69 VMware에서 XPEnology DSM6.2구동 proin 2019.06.16 0
68 Xpenology(해놀로지) 6.1.5 DSM 설치 proin 2019.06.14 0
67 [Ubuntu] Could not get lock 에러 해결 방법 proin 2019.06.14 0
66 [아두이노] 아두이노/라즈베리파이 호환 카메라 모듈 / Mini moduleCamera Shield w/5 MP OV5642 forArduino UNOMega2560 board proin 2019.06.14 0
65 [아두이노] Arducam MINI Camera Demo Tutorial for Arduino proin 2019.06.14 0
위로