목차

프리모캐시는 기본 Level-1(L1) 설정으로 램(Ram) 공간의 일정 부분을 디스크 캐시로 사용해 엑세스 속도를 높이는 기술로 CPU와 바로 통신을 하는 부품인 만큼 가장 속도가 빠르기 때문에 캐시 적중률(hit)이 높다면 성능 체감을 확실하게 할 수 있습니다.

이전 포스트에서 프리모캐시(PrimoCache)의 기본적인 설정 방법에 대해 알아봤는데요. Cache Task를 생성할 때 여러 옵션에 대해서 설명했지만 그중 Level-2(L2) 설정은 그냥 넘어간 이유는 별도로 원리와 함께 설명하기 위함으로 이번 포스트에서 프리모캐시 L2 설정과 함께 사용자 환경에 맞게 프리모캐시를 최적화 하는 방법에 대해 알아보겠습니다.

프리모캐시 L2 개념과 이론

CPU 다이 이미지

프리모캐시에서 L1과 L2는 CPU의 캐시 메모리와 동일한 원리를 가지고 있습니다.

CPU 캐시 메모리 같은 경우 간단하게 설명하자면 아시다시피 L1, L2, L3로 나뉘어 있는데 레벨이 낮을수록 더욱 빠른 속도의 휘발성 메모리(Ram)를 사용하며 코어와 가깝게 위치하고 있고 레벨이 높아 질수록 다른 코어와 함께 캐시를 나눠 공유해 사용하는 방식인데요.

프리모캐시 또한 마찬가지로 L1에서 램(Ram)을 기반으로 캐시를 한다면 L2에서는 빠른 디스크인 SSD를 2차 캐시로 설정해 L1과 하드디스크의 중간에 위치하며 디스크 버퍼(Buffer) 역할을 하게 되는 것입니다.

이전편에서 프리모캐시가 레이드 컨트롤러와 100% 개념이 같다고 한 이유가 여기서도 설명 되는게 아답텍의 MaxCache, LSI의 CacheCade에서 SSD를 디스크 버퍼로 사용해 디스크의 퍼포먼스를 높이는 것과 프리모캐시의 L2 역할과 똑같기 때문입니다.

디스크 캐시가 아닌 버퍼로 설명하는 이유는 캐시 같은 경우 자주 사용하는 파일을 캐시에 올린 후 또다시 해당 파일을 불러올 때 디스크에 엑세스하지 않고 메모리에서 불러와 속도를 높이는 반면, 버퍼의 역할은 디스크와 메모리 사이의 임시저장소 같은 역할로 상대적으로 읽기/쓰기가 느린 디스크를 대신해 일정 공간 동안 데이터를 채워주고 디스크의 입출력에 여유가 있을 때 데이터를 옮기고 작성하는 역할을 하기 때문입니다.

이미지 : todoespacoonline.com

프리모캐시의 L2는 버퍼 역할로 SSD에 L2 캐시를 적용하는 것 보다 하드디스크에 적용하는 것이 보다 효과적이며 SSD를 버퍼로 사용하는 만큼 읽기 및 쓰기를 빈번하게 할수 있는데 이때 SSD의 셀 내구성에도 영향을 주니 되도록이면 메인 SSD의 파티션을 나눠 설정하는 것 보다는 여분의 SSD를 이용해 L2를 설정하는 편이 좋습니다.

통상 버퍼와 캐시를 모호하게 구분하는 경우가 있는데 이 개념을 잘 알고 넘어가야 프리모캐시 뿐만 아니라 나중에 하드디스크 레이드를 할때, 레이드 컨트롤러를 사용할 때 도움이 됩니다.

프리모캐시 L2 설정

이전 포스트와 위 이론으로 프리모캐시가 하는 역할에 대해 모두 알아봤습니다. 이제 실제 적용을 해야 하는데요. 앞서 얘기한 것처럼 C드라이브로 사용하는 SSD의 파티션을 나눠 L2 캐시로 사용하는 것은 효율적으로 좋지 못하며 디스크 엑세스 빈도가 높다면 업그레이드 이후 집에 굴러다니는 소용량의 SSD를 사용하는 것이 좋습니다.

프리모캐시 L2 설정을 위해 프로그램 상단의 Manage Level-2 Storage 버튼을 클릭합니다.

Create Level-2 Storage 버튼을 클릭합니다.

①하드디스크 버퍼로 사용할 SSD를 선택한 다음 ②아래의 Format 버튼을 클릭합니다.

포맷시 디스크 자료가 삭제된다는 안내 메시지의 예 버튼을 클릭해서 포맷을 시작합니다.

L2 스토리지가 설정이 끝난 다음 리스트에 등록되었다면 창을 닫습니다.

이제 캐시 공간을 만들 차례입니다. 상단 메뉴의 Create a new cache task 아이콘을 클릭합니다.

캐시 공간에 포함할 하드디스크를 선택하구요.

Read & Write로 무난하게 설정할 수 있는데 이전편에서 얘기했던 것처럼 3D 작업이나 홈레코딩등 소스 파일을 불러오는 작업을 더 많이 하는 경우에는 Read만 설정해도 무관합니다.

Read를 선택할때 하드디스크에 대한 캐시 공간을 설정하는 것이기 때문에 Read(SSD Cache Only)를 선택하지 않고 제일 첫번째 Read를 선택해야 합니다.

다른 옵션은 이전편에서 언급했기 때문에 생략하고 Level-2 Cache 부분에서 앞서 지정했던 스토리지를 선택한 다음 버퍼 사이즈를 지정하면 되는데 다른 캐시 공간과 병행하는 것이 아니라면 MAX를 선택해 SSD 용량을 최대로 사용할수 있습니다. 램(Ram)이건 SSD 공간이건 클수록 효과가 좋습니다.

프리모캐시 L2 설정 후 벤치마크

도시바 2.5인치 5400rpm 노트북용 하드디스크에 적용한 다음 크리스탈디스크마크 결과 입니다. L2 캐시 용량이 128GB로 설정되어 있는 만큼 지속적인 효과를 기대할 수 있으며 L1 메모리 캐시 또한 적용되어 빠르게 사용할 수 있습니다.

익스트림 매뉴얼 주인장 PG입니다. 다방면의 디지털 기술에 관심이 많고 삽질을 즐겨합니다. 포스트 내용중 궁금한 점이 있다면 댓글로 남겨주세요.

익스트림 매뉴얼의 모든 내용은 불펌금지 입니다. 자세한 내용은 [링크]를 참조하세요.

  • 사쟈왕

    너무잘봤습니다 님 글대로 설정해서 잘쓰구있구요. 가상악기 미디작업용컴을쓰고이습니다. 블럭사이즈가 4부터 512kb까지있는데 어떤차이인가요? 저는 쓰기보다 악기파일을 불러오는 읽기를 많이 쓰거든요. 어떻게설정하는게읽기 위주시스탬에좋을까요??

  • 조깡냉

    잘 보고 있습니다. 많은 걸 배워갑니다. 삼성 SSD 850 EVO 500GB를 C드라이브로, PLEXTOR PX-128M6PRO를 D드라이브로 사용하고있습니다. 램은 16기가이구요.
    프리모캐시 L1설정(8000MB, 512KB로 설정)하고 MMORPG게임(검은사막)을 돌렸더니 메모리부족으로 팅기더라구요. 그러고 나서 완전 비어있는 D를 L2로 설정을 했습니다.
    질문: 1. L2설정은 할 필요가 없는 것인가요? 그렇다면 L2설정 내역을 삭제하고 싶어요.
    2. L1설정 후 게임실행하면 사람많은 곳에서 메모리 부족으로 팅기는데 어떤 걸 손대야 하나요?

    • PG

      램디스크는 PC를 사용하면서 ‘남는 램’ 을 활용하는 것이 주된 목적으로 게임시 메모리 부족으로 튕긴다면 L1 용량을 줄여야 합니다.

      질문 1 답변 : L2 캐시는 본문에 설명했던것 처럼 램디스크와 물리디스크(SSD,HDD) 사이의 버퍼역할을 하는 것으로 설정하지 않아도 되지만 질문하신분의 하드웨어 구성을 보아 128GB의 잉여 SSD를 활용하는 것으로 보이니 다른 사용처가 없다면 설정하면 조금이나마 성능향상에 도움이 됩니다.

      L2 설정을 삭제하는 방법은 상단 메뉴의 manage level-2 storage > 삭제할 L2 스토리지 선택 후 오른쪽의 Delete Partition 버튼을 클릭 입니다.

      질문 2 답변 : 가장 쉽게, 프리모캐시 설정을 전부 해제한 다음 평소에 PC를 사용하는 패턴대로 프로그램을 실행합니다. 예로 검은 사막을 진행하면서 메모리 사용 피크 용량을 확인한 다음, 2GB의 메모리 여유를 둔 나머지 용량을 프리모캐시 L1으로 설정하는 것이 이상적인 용량 설정입니다.

      2GB 정도의 여유를 두는 것은 게임을 하면서 플레이어 실행, 인터넷등 다른 프로그램에서 램을 점유할수도 있기 때문에 여유를 두는 것입니다.