데스크톱 하드디스크가 포화 상태를 맞이한 것도 한참 전 일이다. 책 살 돈도 모자라는 판국에 컴퓨터 부품에 쓸 돈 십만원이 아까워 여태껏 갖은 수단을 쓰며 버텨왔다. 곰곰이 되씹어보니 지난해 9월부터 불편하다고 생각해왔던 것으니 무려 6개월이나 무던히도 인내하며 살아왔다. 소스코드 컴파일이 조금만 늦어져도 말도 알아듣지 못하는 컴퓨터에 대고 욕지꺼리를 하는 성격의 소유자가 유례없이 인내심을 발휘한 셈이다.
그렇게 인내의 한계점을 계속해 돌파해나가던 것도 오늘로써 끝났다. 데스크톱 윈도우가 맛이 간 참에 하드디스크를 구입했기 때문이다. 기술의 발전 덕분에 400기가 대용량 하드디스크조차 11만원 내로 구입할 수 있었다. 이 분야 종사자이면서도 가끔은 새삼스럽게 놀라게 된다.
단 하나 남아있는 슬롯에 하드디스크를 넣고 포맷하는 데 5분밖에 걸리지 않았다. 문제는 그 다음이었다. 200기가가 넘는 동영상과 사진 자료를 이동시키는 과업이 남아 있었다. 예전 경험으로 미뤄보건데 복사 & 붙여넣기를 했다간 밤 늦게까지 기다려야 할 게 뻔했다. 윈도우의 복사 기능을 사용하면 시스템 캐시를 무한정 소모하기 때문에 다른 작업을 하기도 힘들었다.
그래서 잠시 고민하다가, 이럴 때 쓸모있는 소프트웨어가 어딘가 있을거라 생각했다. 잠시 뒤져보니, 오호라, 멋진 놈이 있었다. Copy Handler가 내가 찾던 그 놈이었다.
Copy Handler를 실행시켜도 아무것도 달라지지 않아서 당황했지만, 자세히 보니 노란색 트레이 아이콘이 하나 늘어 있었다. 우선 Copy Handler을 윈도우 셸에 등록했다. (대용량 복사 작업이 끝난 후엔 간단하게 등록을 해제할 수 있었다.)
보통 때와 마찬가지로 원본 디렉토리를 선택하고 Ctrl+c 단축키를 눌렀다. 그러니 비활성화되어 있던 (CH) Paste를 누를 수 있게 되었다. (CH) Paste special을 선택하면 좀더 많은 옵션을 볼 수 있었는데, 특히 쓰레드 우선순위를 조정해서 좀더 빨리 복사할 수 있었다.
하드디스크의 종류나 파일 크기 등에 따라 속도 차이가 나는데, 초당 10메가바이트에서 40메가바이트 사이였다. 덕분에 수시간 만에 귀찮은 작업을 끝마칠 수 있었다. 그러나 더 훌륭했던 것은 복사하는 와중에도 멀티태스킹하는 데 문제 없었다는 사실이다. 작업관리자로 확인해보니 시스템 캐시도 일정 수준을 줄곧 유지했고, CPU 점유율도 나쁘지 않았다.
이렇게 멋진 소프트웨어가 GNU 라이선스를 채택하고 있으니 고마운 일이다.
오옷, 이런 것도 있었군요.
확실히 윈도 기본 파일 복사 기능은 뭔가 불안합니다(…).
특히 실수로 드래그해서 이동되거나 할 때 취소 버튼 누르면 파일에 접근 못하는 사태가 벌어지기도 하는..-_-;;;
시스템 자원 소모를 세밀하게 조절해줄 수 있는 게 맘에 드는군요.
단 이 기능을 활성화해 놓으면 복사 요청이 큐에 쌓이게 되더군요. 작은 파일부터 복사하고 싶을 땐 기존 작업을 중지시켰다가 나중에 재개해야 한다는 게 약간 불편한 정도네요.
얼마전에 HDD 사서 copy 하느라고 보낸 시간이 아까워 지네요.
좋은 프로그램 소개 감사합니다.
일본어 앨범 중 하나가 복사할 때 오류가 나더군요. 그래서 윈도우 복사 기능을 사용해봤더니 매끄럽게 복사됐습니다. 다국어 지원에 미묘한 문제가 있는 것 같습니다. 다행히 복사 진행 상태와 로그를 보여주기 때문에 그런 파일만 수작업으로 처리하면 될 것 같습니다. 제 경우에는 단 하나의 파일만 문제가 됐습니다.
오호, 이런 것도 있었군요. BurstCopy를 쓰고 있었는데 이게 다국어 오류가 있어서 어떻게 하지 싶었는데, 근데 다국어 처리가 또 문제가 있다니 -_-; 살짝 고민되긴 합니다(전 일본어나 한국어 파일명이 많아서요 ;;). 여튼 좋은 프로그램 소개 감사합니다.
BurstCopy란 게 구글링해보니 상용 소프트웨어군요. 아니면 한번 제대로 테스트해 봤을텐데 말이죠. 한국어 파일은 전혀 문제 없었습니다. 저도 일본 음악이나 기타 자료가 많은데 딱 한 파일에서만 오류가 났었습니다. 중간에 어떤 파일이 문제가 돼도 뛰어넘고 계속 작업하실 수 있고, 오류난 파일은 로그로 볼 수 있답니다. ^^
와, 멋진 프로그램입니다. 그런데 비스타에는 복사&붙여쓰기가 매우 안정적으로 변했습니다. 전송속도도 표기되고 진행율도 정확히 표기됩니다. 200기가를 한꺼번에 복사하는건 어떨지 한번 테스트해봐야겠네요. 이 프로그램이 비스타는 지원하는지도 확인해봐야겠습니다.
많이 좋아졌나 보네요. 이번에 윈도우 다시 깔면서 비스타를 설치할까 했는데, 여러 이유로 그만뒀습니다. 학교에 사이트 라이센스가 있는 건 분명한데 공지가 안 돼서 알아봐야 하는 게 귀찮기도 했고, 이런저런 말이 많아서 일단 XP로 돌아왔습니다.
저도 예전엔 영화나 동영상 강의 등을 모았기 때문에
대용량 파일의 고속 전송기능이 필요하곤 했었습니다.
말씀하신 Copy Handler도 몇년전에 써봤는데요..
전송속도가 2배 가까이 빨라지는데 놀라긴 했지만
가끔가다 파일들이 깨지는 현상이 있어서 다시 안쓰게 되더군요..
그러다 메모리 튜닝에 대한 글을 읽게 되었습니다.
레지스트리를 편집해서 버퍼크기를 늘려주는 방법인데요..
적용결과 거의 Copy Handler에 버금가는 속도를 얻을 수 있었습니다.
그리고 파일 깨지는 현상도 없었구요..
글 첨부합니다..
* 입출력용 메모리 크기를 늘려 파일 시스템을 고속화
하드디스크로 대표되는 하드웨어 장치는 장치 드라이버를 거쳐 데이터의 읽고, 쓰기를 실시한다. 좀 더 구체적으로 말하면 애플리케이션에서 파일을 저장했을 경우 Win32 하부조직을 경유해 장치 드라이버에 명령을 보내면 하드디스크에 저장되는 원리이다.
물론 애플리케이션은 그 대부분이 물리 메모리상에서 실행되기 때문에 물리 메모리에서 장치에의 전달 영역이 중요하다. 여기서 설정하는 ‘IoPageLockLimit’는 이 장치와 물리 메모리간의 읽고/쓰기 속도의 최대치, 즉 장치 드라이버가 사용할 수 있는 최대 I/O버퍼 크기를 지정하기 위한 키다. 때문에 하드디스크의 액세스가 빈번한 경우 이 값을 늘리면 퍼포먼스가 향상되기도 한다.
레지스트리 편집기에서 HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Control→Session Manager→Memory Management를 찾는다. 그리고 DWORD값인 ‘IoPageLockLimit’(없는 경우 작성한다)을 열어 ‘단위’는 10진수를, ‘값 데이터’는 임의의 수치를 입력한 후 확인 버튼을 클릭한다.
▲ DWORD값 ‘IoPageLockLimit’를 설정한다.
그런데 이 임의의 값이라는 것은 바이트 단위로 설정하며 장착되어 있는 물리 메모리 이상의 수치는 설정할 수 없다. 512MB 이상 물리 메모리를 장착한 PC는 4000000, 즉 버퍼 크기를 약 4MB로 설정할 수 있다. 이는 사용자의 시스템 환경과도 연관되는 부분이므로 시행착오를 거쳐 가장 알맞은 값을 찾아야 한다. ‘IoPageLockLimit’키가 없는 경우, 기본 캐시용량은 512KB이다.
기회가 되면 한번 시도해 보겠습니다. 데이터 이전 작업이 끝나서 당장은 테스트해 볼 구실이 없네요.
현재까지는 Copy Handler로 문제가 발생한 데이터는 없었습니다. 지난 몇 년간 개선되었겠죠. ㅎㅎ
저는 위 글의 권장대로 버퍼크기를 4MB로 늘려 사용하고 있습니다.
버퍼크기를 더 늘리면 더 속도가 빨라지리라 생각되지만
갑작스런 먹통 현상이 발생하는 경우 피해가 심할 수 있다는 생각에
그냥 4MB로 쓰기로 했습니다.
윈도우 비스타의 경우 더 많은 메모리 사용을 가정하고 만든 OS라서
버퍼크기를 늘려서 속도를 향상시키지 않았을까 하는 생각이 듭니다.
이건 어디까지나 추측일 뿐입니다.. ^^
그렇게 효율적이라면 저도 우선 버퍼를 늘려 놔야겠네요. 주변에 비스타 깔린 컴퓨터가 있으면 어떻게 확인이라도 해 볼텐데, XP 보급 때와 다르게 비스타는 아직 보기 어렵습니다.
다시 한번 조사해봤습니다. 그런데 알려주신 팁은 예전에 통용되던 거라 최소한 Windows XP SP2에선 먹히지 않나 봅니다. 관련 문서가 몇 개 있더군요.
또 하나, 제가 가진 최적화 도구에도 File System Caching Memory란 항목이 있는데 이게 비활성화되어 있습니다. 아마도 예전 윈도우라면 활성화될 거란 생각이 드네요. 그리고 제 최적화 도구에선 IoPageLockLimit가 킬로바이트 단위라고 합니다. 다시 말해 16진수로 1000, 10진수로 4096만 넣어도 4MB가 되는거죠.
멋진걸요!!
마음에 드세요? ^^
쓸 일 생기면 써야지 맘만 먹다가 오늘 씁니다. 소개 고맙습니다.
도움이 되셨다니 저도 기분이 좋네요.
좋은 유틸이네요 TerraCopy 라는 툴도 있습니다.
복사시에 Scroll lock으로 해당 프로그램 사용을 On/Off 할 수도 있고
복사를 일시 정지할 수도 있고
우선순위를 줘서 복사할 수도 있습니다.
요즘은 Total Commander 를 쓰고 별도의 복사 유틸리티는 사용하지 않습니다. 이걸로 충분하더라구요. ^^