본문 바로가기

메모리 누수24

메모리 누수를 잡기 위한 여정 part8 안녕하세요? 지난번 포스팅에서 어떻게 해서 이 작업을 jemalloc이라는 툴을 가지고 오려고 가지가지 시도를 하기는 했습니다만, 문제가 생기는 것이, 이게 만만하게 되는 작업이 아니기는 아니었습니다. 그래서 차선책으로 구 시대의 버젼이라고는 하지만 역시 메모리를 잡아주는 툴인 nedmalloc을 사용해 보도록 했습니다. 먼저 홈페이지에서 다운로드 받은 nedmalloc에서 nedmalloc.c, nedmalloc.h, malloc.c.h 라는 파일 3개를 제 프로젝트의 폴더로 가지고 오도록 합니다. 그리고 나서 이것만으로 끝난게 아니라 공유 라이브러리를 만들어야 한다고 하는데 처음에는 그 방법을 몰라서 계속해서 헤메었습니다. 결국 gcc -c -fPIC [.c 파일이름] -o [내가 지정하는 이름.o].. 2019. 6. 25.
메모리 누수를 잡기 위한 여정 part7 안녕하세요? MSYS2를 가지고서 작업을 하고자 했습니다만, 이게 뜻대로 되지 않아서 하는 수 없이 그냥 cygwin을 가지고서 시도를 하는데 이래저래 하는 작업이 많아서 중간에 끊어야 했습니다. 이제 다음작업으로 위 스크린샷과 같이 cmd 창을 열여서 한번 작업을 시작해 보도록 합니다. 이 작업은 성공적일지 아닐지는 아직은 모릅니다. 일단 이렇게 한 다음에 jemalloc-5.2.0으로 이동을 한 다음에, 여기서는 한번 sh -c "CC=cl ./autogen.sh"를 타이핑해서 실행을 시켜 보도록 합니다. 그런데 제대로 되지 않고 에러가 뜨는 것을 볼 수 있습니다. 자세히 에러 메세지를 보면, C compiler가 제대로 작동을 하지 않는 다는 것을 알 수 있는데, 이게 또 무슨 일일까요? 그래서 하.. 2019. 6. 25.
메모리 누수를 잡기 위한 여정 part6 안녕하세요? 이번 포스팅에서는 지난번에 나왔던 막혔는 길에서 다시금 다른 길이 있는지 찾아보기 위해서 백방 뛰어다녔다는 말이 어울릴 정도로 다양한 시도를 했었고, 그 과정중에 하나를 다시금 올리고자 합니다. 혹시나 싶어서 이번에는 cygwin을 설치해 보고자 합니다. 이게 리눅스 환경처럼 또 만들어 준다는 말을 들었는데, 이대로 사용이 가능한 것인지 잘 모르겠다는 생각이 들었습니다. 일단 설치 자체는 처음에는 그렇게 어렵지 않고 제대로 들어가는 것을 볼 수 있기는 있었습니다. 그래서 이것도 쉽게 끝날 것이라고 생각을 했습니다. 일단 설치가 끝난 다음에 cygwin을 실행시켜 보았습니다. 여기서 나오는 내용을 보자면, 우선 일단 MSYS2와 큰 차이는 없어 보입니다. 일단 여기서도 jemalloc-5.2... 2019. 6. 25.
메모리 누수를 잡기 위한 여정 part4 안녕하세요? 지난번 포스팅에서 어찌어찌 해도 결국은 메모리 누수를 잡는데 실패를 하였습니다만, 일단 이건 이것이고, 다음으로 할 일은 계속해서 이 메모리 사용량이 시간이 지나면서 계속 증가하는 문제를 잡고자 하는 것 입니다. 먼저 아무것도 하지 않았을 때의 메모리를 작업 관리자를 통해서 체크하는 상황입니다. 기본적으로 5.7기가의 메모리를 잡아먹고 있는 것을 볼 수 있습니다. 이제 파이참을 실행시켜서 프로그램을 실행시켜 보도록 합니다. 이렇게 하는 것으로 다음에는 프로그램을 실행하자 마자 메모리는 얼마나 먹는지를 알아보고자 합니다. 그런데 처음에는 작업관리자를 찍었지만, 무슨 이유에서 인지 위 스크린샷처럼 OpenAPI사진이 찍히고 말았습니다. 일단 프로그램을 정지시키도록 하고, 이 다음에 메모리가 돌아.. 2019. 6. 24.