4. 타일 캐쉬 설정하는 방법

고친 과정
고침 $Revision: 2437 $ 2007-07-13 Mr.Dust

사진 편집이나 데이터 처리 과정 중에 김프는 많은 메모리를 필요로 합니다. 따라서 메모리는 많을수록 좋습니다. 김프는 운영체제의 여유 리소스를 최대한 사용하면서 사용자로 하여금 불편하지 않고 사진작업을 할 수 있도록 노력합니다. 작업중의 데이터 메모리는 그래픽 데이터 블럭 버퍼로 구성되고, 이는 두 가지의 다른 형태로 저속의 비(非)이동형 디스크나 빠른 메인 메모리에 저장됩니다. 이 중에서 메인 메모리쪽에 저장하는 것이 좋으며, 이때 메모리가 모자르면 비(非)이동형 디스크에 있는 데이터를 참조하게 됩니다. 그래픽 데이터들은 보통 전체 "타일 시스템" 의 일부인 "타일" 을 참조합니다.

타일 캐쉬의 값을 낮게 잡으면 여유 메모리가 남아 있어 굳이 디스크를 사용하지 않아도 되는 경우에도 램이 아닌 디스크를 사용하게 됩니다. 반대로 너무 높은 값은 다른 프로그램에 할당될 시스템 리소스를 제한하게 되므로, 해당 프로그램들이 스왑 공간인 디스크를 사용하게 되어 이 역시 지나치게 하드디스크를 사용하게 만듭니다. 그리고 메모리 부족으로 프로그램이 종료되거나 실행이 안되게 만드는 수도 있습니다.

그러면 얼마 정도의 타일 캐쉬 크기가 적당할까요? 다음 사항들을 참고하면 그 적정값을 정하는데 도움이 될 것입니다.

마지막 방법을 선택하고 타일 캐쉬값을 직접 설정해 시작하기를 원한다고 가정해 봅시다. 먼저 여러분은 자신의 컴퓨터에 대해 알고 있어야 합니다. 설치된 메모리의 총량, 운영 체제의 사용 가능한 스왑 공간 용량, 운영 체제의 스왑과 김프의 스왑 공간이 있는 디스크의 속도 등에 대한 정보가 필요합니다. 그렇다고 해서 디스크를 테스트해보거나 RPM 을 측정해 볼 필요는 없습니다. 그저 확연히 빠른거나 느린지, 아니면 비슷한지만 확인하면 됩니다. 김프의 스왑 디렉토리는 기본 설정 대화상자의 폴더 페이지에서 변경할 수 있습니다.

그 다음에 할 일은 김프와 동시에 사용할 프로그램들에 필요한 리소스양을 확인하는 것입니다. 이제 (김프를 제외한) 모든 프로그램을 실행시키고, 몇 가지 동작을 시킨 다음, 메모리 사용량을 확인합니다. 사용하는 프로그램은 사용중인 운영 체제나 사용 환경에 따라 다를 것입니다. 파일 캐쉬를 포함한 메모리 잔량을 확인합니다. 최근의 유닉스는 큰 파일과 버퍼 캐쉬를 저장, 유지하기 위해 남는 공간을 최소화시킵니다. 리눅스의 free 명령을 이용하면 이러한 계산을 쉽게 할 수 있습니다. : “free”, “-/+ buffers/cache” 라인을 확인하고 이를 계산합니다.(역주: Free - buffers + cache = 원하는 값)

이제 최종 결정을 위해 간단한 계산을 해야합니다. 여기서는 타일 캐쉬를 모두 램이나 램과 운영 체제 스왑 공간에 두는 것을 기본으로 합니다.:

  1. 여러 프로그램들을 자주 바꿔씁니까? 아니면 김프를 오래 사용합니까? 만약 김프를 오랫동안 사용한다면, 사용가능한 램이나 스왑의 여유분을 고려해야 하고, 그렇지 않다면 다음 과정을 따라 하십시오.(이 부분에 대해 확신을 할 수 없다면, 다음 과정을 확인해 보면 됩니다.) 만약 사용하는 프로그램들을 자주 교체한다면, 여유 메모리량만 체크한뒤 마지막 과정을 따라하십시오.

  2. 운영 체제의 스왑이 김프의 스왑과 물리적으로 같은 디스크 내에 있습니까? 그렇다면 램과 스왑을 더하십시오. 그렇지 않다면 다음 과정으로.

  3. OS 스왑이 있는 디스크가 김프 스왑이 있는 디스크만큼 빠르거나 비슷한 속도입니까? 김프 스왑이 있는 디스크보다 느리다면, 여유 메모리값만 취하고, 비슷하거나 빠르다면 램 여분과 스왑을 더합니다.

  4. 자, 이제 램 여분 값이나, 램 여분과 OS 스왑 여분을 더한 값을 알고 있을 것입니다. 그 값에서 한 자리를 뺀 것이 안전하고 좋은 성능을 제공하는 타일 캐쉬값입니다.

위에서 보았듯이 이 과정은 모두 여유 리소스를 확인하고, OS 스왑을 사용할 가치가 있는지, 아니면 더 문제만 일으키는지 결정하는 것입니다.

이 값을 조정하는 이유는 다양하겠지만, 일반적으로는 컴퓨터 사용 습관이 바뀌었거나 하드웨어가 바뀌었을 때입니다. 이에 따라 이전의 값은 더이상 유효하지 않으므로, 앞의 과정을 통해 새 값으로 조정을 해야합니다.

또다른 이유로는 다른 프로그램으로의 전환은 빠른 것에 비해 김프 자체는 너무 느리게 실행되기 때문도 있습니다. 이런 경우에는 다른 프로그램에 영향을 주지 않는 한도 내에서 김프에 더 많은 메모리를 할당합니다. 혹은 반대로 다른 프로그램에서 메모리 부족을 호소한다면, 김프에 할당된 메모리량을 줄여야 합니다.

만약 램만 사용하는데에도 김프가 느린 경우, 스왑은 사용하지 말고 할당된 램의 크기를 증가시킵니다. 그와 반대로 램과 스왑을 모두 쓰고 있는데, 리소스 부족 문제가 생긴다면 김프에 할당된 램의 크기를 줄여야 합니다.

다른 방법으로 스왑 디렉토리를 매우 빠른 디스크로 설정하거나 자주 쓰는 파일들이 있는 디스크가 아닌 다른 디스크로 설정하는 방법이 있습니다. 운영체제의 스왑이 여러 디스크에 나누어져 있는 것은 이러한 방법이 속도를 증가시키는 좋은 방법이기 때문입니다. 그리고 물론 더 많은 메모리를 장착하거나 한번에 여러 프로그램들을 사용하지 않는 것도 좋은 방법입니다. (16MB 정도의 메모리를 장착한 컴퓨터로는 포스터를 편집하거나 빠른 실행 속도를 기대할 수 없습니다.)

이미지가 필요로 하는 메모리양을 확인해 볼 수도 있습니다. 큰 이미지일수록, 그리고 실행취소 횟수가 많을수록 더 많은 리소스가 필요합니다. 이는 타일 캐쉬값을 결정하는 또다른 변수이긴 하지만 비슷한 종류의 이미지로 자주 작업을 하는 경우에만 유용하므로, 실제 요구치와는 크게 관계없습니다. 그리고 필요한 램이나 디스크 공간을 확인하는데도 도움이 될 것입니다.