Media Log

한달 쯤 전에 집에서 사용하는 PC를 새로 교체했다.
다른 PC 부품들에 대해서는 별로 욕심이 없는 편인데, 램에는 조금 욕심이 있다.

이제 PC용도 4G짜리 램이 나와서 4G짜리 램 2개를 구입했다. 메인보드는 그래픽 기능이 내장되어 있고 램 슬롯은 2개가 달려있는 아주 싼 저가형 보드를 구입했는데, 그래픽 카드나 비싼 메인보드 값 대신 램에 투자했다고 할 수 있겠다.

기존에 사용하던 PC보다 램이 조금 더 충족해지면서, 1~2기가 정도는 램디스크로 써볼까 하는 생각이 들었다.

램디스크를 설정하기 전에 몇 가지들을 검색해보니, 사람들은 주로 웹브라우저의 임시 파일을 캐시하는 용도로 많이들 사용하고 있었다.

윈도에서는 램디스크를 설치하기 위해 따로 프로그램(램디스크 드라이버)을 구해야 하지만 리눅스에서는 아주 간단하게 설정할 수 있다.
/tmp는 컴퓨터를 껐다켜면 지워지는 장소이므로 리눅스에서 램디스크로 잡아 쓰기에 적당한 곳이라고 할 수 있다.

/etc/fstab 파일을 연 뒤 다음 한 줄을 추가해주면 된다.
ramdisk  /tmp  tmpfs  mode=1777,size=1g

재부팅하면 /tmp가 1기가바이트 크기로 마운트 된다.
이 위치에 실제로 파일 복사등을 해보면서 dstat 같은 유틸리티로 I/O 를 살펴보면 램디스크로서 잘 동작하고 있음을 확인할 수 있다. -똑같은 파일을 또 복사하면 캐시에서 읽어오는 것에 유의해서 확인해야 한다.

웹브라우저가 이 곳을 캐시 저장소로 사용하게 하기 위해서는 브라우저의 캐시위치를 이 위치로 변경해주어야 하는데 구글 크롬을 사용하고 있다면 바탕화면 아이콘을 우클릭해서 속성을 열어 다음처럼 편집해주면 될 것이다.

/usr/bin/chromium-browser %U --disk-cache-dir="/tmp"

이제 원하던대로 웹의 리소스들이 디스크에 쓰여지지 않고 램에 저장된다.
웹페이지에 새로 들어갈 때마다 /tmp의 용량이 조금씩 늘어난다. 잘 동작하는 것 같고 끝내주게 빠른 것 같은 느낌이다.

그렇다면 실제로도 엄청난 속도 변화가 있었을까? 아니다. 그냥 원래 속도와 비슷하다.

웹에서 리소스를 다운로드 받을 때는 램디스크에 저장하던지 하드 디스크에 저장하던지 속도가 똑같다. 램의 쓰기 속도가 하드 디스크보다 훨씬 빠르기는 하지만, 네트워크에서 데이터가 한없이 느리게 읽혀지는데 어떻게 빨리 쓴단 말인가.

일단 한 번 캐시 해두었다면, 그 리소스를 다시 읽을 때는 램디스크에서 읽는 것이 물론 훨씬 빠르다. 컴퓨터를 껐다켜기 전까지는 계속 약발이 통한다. -물론 램디스크 드라이버가 언로딩 되기 직전에 하드디스크로 복사해줄 수도 있지만 이것도 부팅속도나 셧다운이 많이 느려지는 단점이 있다. 램디스크는 램처럼 쓰는 것이 어울린다.
그럼 하드 디스크의 경우에는 램디스크보다 항상 느리냐하면 그것도 아니다. 운영체제가 I/O를 할 때 캐시를 잘 해주기 때문에 최근에 사용된 많은 데이터들이 램 상에 올라가있고 실제로는 디스크 I/O를 하지 않고 램에서 읽는다.

그럼 컴퓨터를 껐다 다시 켜게 되면?
애써 받아놓았던 램디스크의 임시 인터넷 파일들이 날라가고 다시 다운로드를 받아야 한다.
그래서 커다란 용량의 트위터 바탕화면을 사용하는 페이지 같은 곳에 가면 이미지가 새로 다운로드 받아지는 것을 눈으로 확인할 수 있다. 그냥 하드디스크에 저장했으면 다운로드는 다시 안받아도 됐을텐데 말이다.

램디스크를 사용해서 웹서핑을 할 때 미친듯한 속도를 느끼고 있다는 글들이 많이 봤는데, 그들은 도대체 어떻게 속도가 빨라진건지. 내가 모르는 뭔가가 있는것인지 궁금하다.

리눅스의 경우에는 많은 프로그램들이 임시파일을 생성하여 작업할 때에 관례적으로 /tmp 위치에서 한다. 이런 애플리케이션들이 많으면 많을수록 /tmp 를 램디스크로 잡아 놓은 것이 더욱 효과가 있을 것이다.
하지만 용량을 얼마로 잡을것인지가 고민인데, 너무 크게 잡으면 안쓰는 램이 예약되어 버리는 것이 아깝고, 또 너무 작게 잡으면 애플리케이션들의 구현에 따라 오동작 할 수가 있기 때문에 찜찜하다. 잘 만들어진 애플리케이션이라면 I/O할 공간이 없는 것을 알고 메세지를 보여주는 등 예외처리를 시도하겠지만, 그렇지 않은 프로그램들도 참 많다. 이럴 경우에 사용자는 문제의 원인도 찾지 못하고 골탕만 먹게 될 수가 있다.

램디스크를 몇 일 사용해본 후, 나는 운영체제가 그냥 자연스레 캐시로 사용하게 하는 것이 훨씬 낫겠다 싶어서 다시 램디스크 설정을 제거해버리고 말았다.
저작자 표시 비영리 동일 조건 변경 허락
신고
  1. Favicon of http://sisioo.tistory.com/ BlogIcon 장영희 at 2010.11.01 18:25 신고 [edit/del]

    적당한 삽질이였 네요~ ㅎㅎ

    머 컴터 껐다 켜도 남아 있다면........ 음.. 게임 할땐 좀 어떨라나.. 테스트는 게임을 통해서...

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2010.11.01 19:32 신고 [edit/del]

      컴터 껐다 켜도 남아있게 리부팅될 때 디스크로 복사해주는 드라이버들도 있을꺼야. 난 그런 것은 쓰기 싫지만. 램디스크에 올라가는 데이터는 지워져도 상관없을 임시 데이터여야 제 맛이지.

  2. kkkkjul at 2010.11.10 17:26 신고 [edit/del]

    그럴리가 없을텐데.... 제가 윈도우 환경 넷북에 램디스크써서 인터넷하는데 데탑보다 더빠른기분 들만큼 빠르거같앗는데요.. 물론 한번들어간사이트에서 빠르지요.. 그래서 ssd가진리에요 ㅎㅎ

    Reply
  3. kafka at 2010.11.14 19:08 신고 [edit/del]

    전 익스플로러, 크롬 캐시파일 램디스크로 옮기면서 엄청난 속도 차를 느꼈는데, 사람마다 다르나 보네요.

    Reply
  4. gigi at 2010.11.14 21:57 신고 [edit/del]

    램디스크 저장기능사용하고 크롬및 캐시점부 램디스크로 사용하면 웹브라이저로딩부터 서핑이 확실히 빨라집니다...다만 컴퓨터 부팅과종료가 약간 느려지고여...이것저것 다해보다 전 후자가 싫어서 램디스크에 임시파일과 임시 인터넷파일만 사용합니다.지워져도 상관없고 정리할필요없이 컴터부팅하면 알아서 사라져주니~

    Reply
  5. gwangyi at 2011.11.02 06:17 신고 [edit/del]

    사실 리눅스라 그런 것 같아요. 윈도에 비해서 리눅스가 파일 시스템을 캐쉬하는 양이 훨씬 큰거 같더라구요...

    Reply
  6. 지나가다 at 2012.09.17 10:19 신고 [edit/del]

    신형 컴퓨터로 램디스크 잡는것은 바보같은 짓이죠. 구형 컴퓨터로 일정량 램디스크 잡는것은 좋으나 용량적 한계가 있어서 말씀하신 부분이 찜찜하죠.
    인터넷 서핑 위주의 컴퓨터라면 램디스크 해놓아도 좋습니다.

    Reply

submit