토렌트는 디스크와 네트워크의 효율높은 전송을 위해서 디스크 입출력을 위한 메모리 캐시를 사용합니다. 아시다시피 메모리 캐시를 많이 사용하면 디스크 액세스 빈도가 줄어들고, 메모리 캐시를 적게 사용하면 디스크 액세스 빈도가 늘어나기 때문에 그 타협점을 찾아야합니다. 일반적으로는 디스크 액세스를 줄이고 다운로드 속도를 위해서 기본적으로 읽기 캐시를 사용합니다.
비대칭 회선의 경우 업로드의 대역폭이 낮아 디스크 읽기 캐시가 필요없지만 대칭 회선일 경우 고속 업로드(시딩)으로 인한 과도하게 캐시 메모리가 할당되어 시스템 메모리의 부족을 가져옵니다. 특히 64비트 OS에서는 고속 업로드시에 메모리 사용량이 급증하는데, 이는 32비트 OS에 비해 큰 폭으로 증가합니다. 아직 확실한 원인을 알 수는 없으나 32비트 프로그램인 뮤토렌트가 64비트 OS에서는 캐시 사용시 비정상적으로 많은 메모리를 사용하는 것으로 추측이 됩니다.
이를 해결하기 위해토렌트의 고급 설정 - 디스크 캐시에서 다음 옵션들을 모두 사용하도록 활성화 합니다.
한 '윈도우즈의 디스크 쓰기/읽기 캐시 비활성' 항목에 대해 상세히 살펴보면 다음과 같습니다. (비트토크 링크 참조)
윈도우즈의 디스크 쓰기 캐시 비활성 (Disable Windows caching of disk writes)
: 윈도우의 본래의 디스크 쓰기 캐시를 비활성화 시킵니다. 이 옵션은 윈도우 디스크 캐시가 토런트 사용시 빨리 다운로드 하는 동안 메모리 소실이 클 때 도와줍니다. 왜냐하면 캐시가 토런트의 증가된 디스크 쓰기 속도를 견딜수 없기 때문이라고 합니다. 메모리를 모두 사용했을때, 페이지 스왑핑이 일어나며, 그리고 감속의 원인이 될수 있습니다. 다른 한편으로 이 옵션의 사용은 디스크 읽기 증가의 원인이 되기도하며 토렌트의 디스크 캐시가 가득찼을 때 전송율이 감소됩니다.
좀 광범위 하지만 요약하면 CPU의 메모리 관리방법 중 윈도우에서 사용하는 페이징의 경우 OS와 연동해서 스왑파일을 가상메모리에 포함하는데 여러가지 이유가 있지만 결론적으로 윈도우 캐시를 쓰지않고 토렌트의 캐시만을 사용하여 스왑파일을 사용하지 않기 위한 옵션입니다.
윈도우즈의 디스크 읽기 캐시 비활성 (Disable Windows caching of disk read)
: 윈도우의 본래의 디스크 읽기 캐시를 비활성화 시킵니다. 이 옵션은 윈도우 디스크 캐시가 토런트 사용시 빨리 업로드 하는 동안 메모리 소실이 클 때 도와줍니다. 왜냐하면 캐시가 토런트의 증가된 디스크 읽기 속도를 견딜수 없기 때문입니다. 역시 메모리를 모두 사용했을때, 페이지 스왑핑이 일어나며, 그리고 감속의 원인이 될수 있습니다. 다른 한편으로는 이 옵션의 활성화는 디스크 읽기 증가의 원인될 것이며 토렌트의 디스크 캐시가 가득찼을 때 전송율이 감소할 것입니다.
보통 고속다운 때문에 쓰기 캐쉬만 비활성화(체크) 되어있는데 읽기 캐쉬는 대칭 사용자분들이 10MB/s로 고속 시딩을 지속하게 된다면 꺼주는게 메모리 누수에 도움이 됩니다. 특히 64비트 OS사용하시는 분들 중에 고속시딩 때문에 비정상적으로 메모리 사용이 증가하는 경우에는 이 부분은 체크해주시면 도움이 될겁니다.
문제점
- 윈도우 사용시 시간이 지날수록 메모리 사용량이 증가하여 메모리 부족으로 시스템이 버벅거리는 현상이 나타남
문제 발생 환경
- 64비트 윈도우 + 토렌트 + 대칭형 고속 인터넷
발생 원인
- 대칭형 회선의 고속 시딩으로 비정상적으로 과도한 업로드 캐시의 할당에 의한 메모리 부족
해결 방법
- 고급 설정에서 '자동 캐시 크기를 무시하고 직접 지정'에 체크하고 캐시 크기 지정
- 고급 설정에서 '윈도우즈의 디스크 쓰기/읽기 캐시 비활성'에 체크하여 적용
캐쉬 설정 1024 주는 것 낭비 입니다..
1024 줘도 ... 업로딩할 때 많이 사용해야 300M 정도 이고... 다운로드 할 때 캐쉬 많이 주면 ... 하드에 부하가 줄어 든다고 생각하시는 듯 하지만..
토랜트 / P2P / 등은 한개의 파일을 작은 여러 덩어리로 분할 해서 전송하기 때문에.. 전송단위인 한개의 덩어리 크기 를 고려해서 캐쉬를 잡으면 됩니다..
1024 (1G) 주는 것은 낭비며.. 200 ~ 300M 정도 강제 캐쉬 잡아 주면 됩니다..
그리고 토런트 이용중에 버벅거린다고 하면 밑에 속도탭을 클릭해보시면 현재 설정된 캐시량과 요청되어서 이용되는 캐시량이 나오는데요. 만약에 요청되어서 이용중인 캐시가 설정된 캐시량과 거의 비슷하다면 (통계쓰기) 이럴 경우 하드디스크 과부하라고 맨 밑에도 뜰거고 이런 경우에는 캐시 설정이 모자라서 그러는 것이니 이때 캐시 설정을 늘려주면 됩니다.
utorrent 1.8.1 이상 버전에서 설정 적용법입니다.
요즘 1.8.2 버전까지 있고요.
이미 utorrent로 토렌트 사용하시는 분들은 다 아시는 팁이겠지만 팁게에 검색해봐도 없고
혹여 모르시는 분이 있을까 싶어 팁게에 글 올립니다.
제경우 예전버전 다운받고 utorrent 실행시키면 자동으로 1.8.2 로 업데이트가 되는걸로 봐서 모든분들이 1.8.2로 업데이트가 자동으로 될걸로 예상합니다.^_^;
옵션 -> 설정 -> 고급설정 -> diskio.no_zero 항목을 true(참) 으로 변경 - 확인
하면 설정 완료입니다.
위의 사진 1번, 2번 순서로 그대로 따라하시기만 하면 됩니다.
참고적으로 uTorrent에서 '모든 파일을 미리 할당(R)' 을 활성화 시키면
다운 받기전에 하드공간 전체파일위치에 '0' 을 채워 놓는데, 이때 하드 과부하가 발생한다고 합니다.
diskio.no_zero를 true 해놓으면, 하드에 자리만 잡아놓고, '0'채우는 작업을 하지 않아 과부하가 발생하지 않습니다.
다운로드 할때 하드 부하를 줄이는데 도움되는 토랜트 옵션은 - 토랜트 - 일반 탭 - 모든 파일 미리 할당 하기 [ 하드 공간에 모든파일 미리 할당] (해제) 하면 됩니다..