본문 바로가기
무모한 도전-주식 인공지능 만들기

메모리 누수를 잡기 위한 여정 part5

by 인터넷떠돌이 2019. 6. 25.
반응형

안녕하세요?

 

지난번 포스팅에서는 while문을 빼는 방법을 동원해 보았습니다만, 그래도 메모리가 계속해서 누적이 되는 것을 피할 수는 없었습니다. 그래서 이번 포스팅에서는 계속해서 처음 해보는 작업이기는 하지만, 문자그대로 계속해서 무모한 도전을 이어서 가도록 했습니다.

 

혹시나 싶어서 한번 github에 있는 jemalloc-dev버젼을 받도록 했습니다. 이 버젼을 받아서 한번 여기서 작업을 해 보고자 합니다.

 

다음으로는 이 작업을 위해서는 MinGW가 필요하다는 정보를 얻었습니다. 이게 윈도우에서 리눅스를 모방한 환경을 사용하게 해준다고 합니다.

 

그리고 나서 다음으로는 MinGW를 다운로드 받아서 인스톨을 하는 과정에 들어가 보도록 합니다. 이 과정을 통해서 일단 작업이 될 것이리라 생각을 했습니다.

 

다음으로는 MSYS2라는 하는 것을 다운로드 받아서 여기서 실행을 시키면 된다고 stack overflow에서 들은 대로 실행을 했는데, 먼저 64비트 버젼을 다운로드 받도록 합니다.

 

 

다음으로는 이 방법으로 위 스크린샷처럼 MSYS2 64비트 버젼을 인스톨 하도록 해 줍니다. 여기까지는 그렇게 큰 어려움이 없이 진행이 되긴 되었습니다.

 

다음으로 인스톨이 된 MSYS2를 실행시키는 커맨드 창에서, pacman -Syu라고 타이핑하고 입력해서 최신버젼으로 바꾸는 작업을 해 주도록 합니다.

 

위 이미지처럼 정체가 된 구간이 나오면 MSYS2를 끄고 다시 실행시켜야 하는 상황이 된 것이라서, 이렇게 해 주도록 합니다. 

 

다시 시작한 MSYS2를 pacman -Syu라고 입력을 해 주는 것으로 이제 MSYS2의 업그레이드 자체는 다 완성이 된 것을 확인할 수 있습니다.

 

 

이렇게 해서 C드라이브에 생성이 된 msys폴더에 들어가 보면, 위 스크린샷처럼 mingw64와 mingw32가 있는 것을 볼 수 있습니다.

 

먼저 어떻게 해서 이동을 할 수 있는지 몰라서 헤메었지만, 일단 cd를 치는 것으로 디렉토리를 이동할 수 있어서 jemalloc-5.2.0까지 도착을 하는 데 성공을 했습니다.

 

이렇게 해서 위 스크린샷처럼 이제 리눅스 비슷한 환경이 되었으니까 ./configure라고 입력을 했는데 계속해서 제대로 되지 않는 것처럼 보이는 것을 볼 수 있습니다.

 

이게 C 컴파일러가 제대로 설치가 되지 않아서 벌어지는 일이라고 하는데, 먼저 yum -y install gcc라고 입력을 했지만 제대로 실행이 되지는 않았습니다.

 

그래서 하는 수 없이 위 스크린샷처럼 pacman -S base-devel gcc vim cmake 라고 입력을 해서, gcc를 설치하도록 합니다.

 

이렇게 하는 것으로 잠시 기다리고 나면, 드디어 C 컴파일러는 제대로 설치가 된 것을 확인할 수 있기는 있었습니다. 이제 다음 단계를 진행해 보도록 합니다.

 

먼저 ./configure는 문제없이 실행이 되는 것을 확인했습니다. 그런데 그 다음으로 오는 명령어인 make를 입력하는 위 스크린샷과 같이 sys/syscall.h가 없다고 하는 에러가 뜹니다.

 

이건 mingw-32로 실행을 해도 마찬가지인 상황이 되었습니다. 이게 왜 이런고 하니, 나중에 알았는데, 리눅스라면 기본적으로 저런 sys/syscall.h가 있는데, 이건 윈도우 환경에서 했기 때문에 벌어지는 일이라고 합니다. 그래서 하는 수 없이 이 방법은 더는 통하지 않는 다는 것을 알 수 있었습니다.

반응형