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

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

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

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

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

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

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

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

[GIS] Polygon To Point

많은 경우에 Polygon 형태의 SHP 파일을 Point 형태의 SHP 파일로 변환해야할 필요가 있습니다. 이때 폴리곤을 포인트로 변환하기 위해 폴리곤의 중심섬(Centroid)을 생각할 수 있는데.. 이 툴은 폴리곤에 대한 SHP 파일을 각 폴리곤의 중심점으로 하여 포인트 SHP 파일로 변환해주는 툴입니다. 포인트로 변환된 SHP 파일에 대한 속성 파일인 DBF에는 단순히 FID 값만이 저장되는데.. 이에 대해서는 원본 폴리곤 SHP 파일에 대한 DBF를 변환된 포인트 SHP 파일과 확장자만 다르게 하여 변경해주면 속성값을 그대로 유지해주는 효과가 있습니다. 아래는 간단한 사용예입니다.

사용자 삽입 이미지
사실 이 툴은 ArcGIS에서 이와 동일한 기능을 하는 FeatureToPoint라는 툴박스의 기능이 제대로 작동하지 않는 문제가 있다고 하여 DuraMap-Xr로 해당 기능을 만든 프로그램입니다. 이 프로그램을 다운로드 하기 위해서 아래의 링크를 통해 받으시기 바랍니다. 참고로 이 프로그램을 실행하기 위해서는 DuraMap-Xr 맵엔진을 등록하여야 하며 이 사이트에서 다운로드 받으실 수 있습니다.