단순한 파일 복사인데 왜 메모리 사용량이 계속 올라갈까?

이번에 타일맵을 생성해 납품하면서.. 최종 테스트를 위해 실서버로 타일맵 파일을 복사해야 하는데.. 이게 머리가 아픕니다.. 몇가지 시행착오로 인해 4일정도를 허비했는데요..

시행착오라 함은.. 먼저 타일맵 파일을 서버로 바로 FTP로 전송했던 시행 착오.. 그리고 타일맵을 압축해서 전송하려고 압축을 시도 했던 시행 착오.. 외장형 하드를 하나 더 구입해 이 하드에 복사한 후 서버가 설치된 IDC에 가서 복사하려고 했던 착오.. 이네요..

먼저 가장 근본적인 상황은.. 타일맵 파일들의 개수와 크기입니다. 정확히 말하면 크기는 별 문제가 아닙니다. 실제 용량은 100기가 정도되는데.. 이 정도면 3~4시간 정도면 복사하고도 남습니다. 문제는 파일 개수입니다. 매우 작은 크기(4kb~25kb)의 파일 개수가 5천8백만개정도됩니다..

파일들을 바로 FTP로 전송을 시도 했다면 소요되는 시간은 20일정도.. zip으로 압축하는 것은.. 수천만개의 파일을 하나의 zip으로 압축하는건 않되었고.. 백만개씩 나눠 압축하는 것은 손도 시간도 너무 많이 필요한 작업이고.. 외장형 하드에 복사하는 것이 가장 옳바른 판단이였는데.. 이 복사하는 시간에 대한 예상 시간은 2일로 산출되더군요..

그래서 어제 복사를 중지하고.. 오늘 아예 서버의 하드를 떼왔습니다. 그리고 오늘 11시 경부터 도스 시절부터 제공해 오던 XCopy를 이용해 복사를 하고 있습니다. 만약 XCopy가 아닌 드레그&드랍으로 했다면… 이거 실패합니다. 여하튼.. 이런 저런 시행착오 끝에 진행을 하고 있는데요.. 또 불안감이 엄습하네요…

사용자 삽입 이미지
보시면 메모리와 시스템의 핸들이 이상합니다.. 처음 시작할때 메모리 사용량은 2.30GB였는데요. 지금은 무려 4.92GB까지 올라갔습니다. 핸들 역시 눈에 띠지 않게 조심스럽게 올라가고 있습니다. 단순한 파일 복사일 뿐인데… 왜 이렇게 메모리 누수가 발생하는건지….. 이대로라면 새볔녁에 예전 격었던 시행착오처럼 실패할 가능성이 보입니다..

이대로 걸어 놓고 퇴근하려고 하는데.. 신경쓰이게 말이죠… 단순한 파일 복사…. 이런 단순한 파일 복사가 수천, 수백만번 수행… 메모리 누수? 복사할 파일을 열고 않닫나? 이건 아닐텐데… 왜? 메모리가 계속 올라가지… 뭐 이런……. 여하튼.. 별 뾰족한 수가 없습니다.. 그냥 맡길수밖에요….

“단순한 파일 복사인데 왜 메모리 사용량이 계속 올라갈까?”에 대한 6개의 댓글

  1. 데이터 이동중에 메모리를 거치는건 당연한거 아니었나요?;

    DMA를 이용할테니 CPU는 거의 이용안하겠지만, 데이터 이동은 프로그램에 의해 이동되므로, 메모리를 사용하는게 당연한거 같은데요.

    1. 네, 님 말씀이 맞구요. 제가 언급한건.. 메모리 사용량이 불필요하게 지속적으로 조금씩 조금씩 올라간다는 내용이랍니다..

    1. 토탈커맨더는 항상 사용하는 유틸인데.. 요놈도 xcopy에 비교할바가 못되네요.. 그래도 윈도 탐색기보다 토탈커맨더가 더 낳기는합니다. 여튼, 정말 오래간만이네요~

  2. 저도, 같은 상황으로 애먹은 적이 있었습니다.
    글을 보고 놀랬던 것은, 저 역시 최종적으로 해결책은 xcopy였다는 것이죠 ;;;
    250GB 정도 되는 타일을 xcopy로 복사하였고, 다행이 무사히 끝마쳤습니다.

김형준에 답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다