요새는 컴퓨터 사용시간의 대부분을 웹 브라우져로 해결하게 되는 경우가 많다.

일반 웹페이지 브라우징 뿐 아니고 메일도 gmail을 사용하고 심지어는 워드나 엑셀 작업까지도 구글 document로 할 수 있기 때문에 아마 개별 프로그램 사용시간을 따져보면 웹브라우져 사용시간이 50%를 넘을 확률이 크다.

그렇기 때문에 충분한 램을 가지고 있는 경우 브라우져 캐쉬를 램디스크로 옮겨 놓으면 상당한 속도 향상을 얻을 수 있게 된다.

먼저 램디스크를 만들어 줘야 한다. 이전 글에서도 맥에서 사용할 수 있는 램디스크를 소개한적이 있었는데 이번에는 Espérance DV 를 사용한다. 프로그램을 다운받아 압축을 풀어보면 아래와 같이 3개의 파일이 들어있다.

Espérance.jpg

설치하는 방법은 Assistant.app를 실행해 주거나 아니면 EsperanceDV.prefPane를 직접 /Library/PreferencePanes/ 또는 ~/Library/PreferencePanes/에 넣어주면 된다.

설치가 끝난 다음 System Preferences를 열어보면 Esperance DV가 추가된 걸 볼 수 있다.

System Preferences.jpg

Esperance DV를 선택해서 설정을 변경해준다.


Esperance1.jpg

기본적으로 Capacity만 설정해 주면 된다. 처음에는 만들어 진 램디스크가 없으니까 Eject 버튼이 Create로 되어 있다. 이 버튼을 눌러주면 램디스크가 만들어지고 Eject로 바뀌게 된다.

'Create on opening session'를 체크해주면 로그인할때마다 자동으로 램디스크가 만들어진다.

사파리 사용자는 Various Options 부분에 있는 체크박스를 선택해주면 자동으로 사파리 캐쉬가 램디스크로 옮겨지게 된다.

Firefox 사용자는 터미널을 열어주고 아래 명령을 입력해주면 된다.

% rm -r ~/Library/Caches/Firefox

% mkdir /Volumes/RamDisk/Firefox

% ln -s /Volumes/RamDisk/Firefox ~/Library/Caches/Firefox

이렇게 해 주면 브라우져가 램디스크를 캐쉬로 사용하기 때문에 페이지를 열 때 마다 매번 디스크를 억세스 할 필요가 없어지기 때문에 상당히 가볍게 움직이는걸 느낄 수 있을 것이다.


* 추가
위의 명령을 사용하면 컴퓨터를 껐다가 다시 켜는 경우 램디스크 내용을 저장했다 다시 restore하지 않으면 램디스크에 Firefox 디렉토리가 없어지기 때문에 매번 디렉토리를 만들어 줘야 한다. 좀 더 간단하게 하려면 다음과 같이 해 주면 된다.

% rm -r ~/Library/Caches/Firefox

% ln -s /Volumes/RamDisk ~/Library/Caches/Firefox

이렇게 해 주면 매번 Firefox 디렉토리를 만들어 줄 필요가 없어진다.



Reference: Faster browsing with RAM disks

Posted by nautes

댓글을 달아 주세요

  1. 2008.12.02 08:20

    엑스피 윈도우에서는 브라우징 빨리 할수는 없냐요?

  2. 2008.12.02 09:45 신고

    윈도우에서도 동일하게 램 디스크 만들어주고 브라우져 캐쉬 폴더를 램디스크로 옮겨주면 됩니다.
    IE6에서는 아마도 Options->General 탭에서 바꿔줄 수 있고 Firefox에서는 about:config로 가서 browser.cache.disk.parent_directory 를 만들어주고 여기 값을 설정해주면 됩니다.

    언제 시간나면 윈도우에서 하는 법도 쉽고 자세하게 정리해 보겠습니다.

  3. 2009.03.11 16:14

    안녕하세요,
    램디스크를 써보려고 블로그를 보고 똑같이 따라해봤는데요- 램디스크를 실행시키지 않고 파폭을 열면 파폭이 아예 실행이 안되더라구요. 그리구 파폭이 저절로 램캐싱을 지원한다고 해서(단, 설정을 해주면) 그때마다 램디스크 실행시키기도 귀찮고해서 언인스톨하려하는데요, 구글링해봐도 어떻게 해야 좋을지 몰라 문의드립니다. 도움 부탁드립니다-

    • 2009.03.13 08:04 신고

      EsperanceDV를 설치하신거라면 설치된 위치(/Library/PreferencePanes/ 또는 ~/Library/PreferencePanes/)에서 EsperanceDV.prefPane 파일을 제거해주면 램디스크는 제거됩니다.

      그리고 터미널에서 'rm ~/Library/Caches/Firefox' 을 입력해 주면 됩니다.

리눅스 커널 2.4 이후 버젼의 리눅스를 사용하고 있으면 이미 램디스크 지원이 내장되어 있다. 확인하고 싶으면 다음의 명령어를 사용하면 된다.

$ dmesg | grep RAMDISK
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize

CentOS나 RHEL인 경우 위와 같은 출력이 나오고 다른 리눅스 배포판인 경우도 유사한 결과가 나온다. 아래 명령어로 만들어 져 있는 램 디스크를 볼 수 있다.

$ ls -l /dev/ram*
lrwxrwxrwx 1 root root 4 Apr 24 12:05 /dev/ram -> ram1
brw-rw---- 1 root disk 1, 0 Apr 24 12:05 /dev/ram0
brw-rw---- 1 root disk 1, 1 Apr 24 12:05 /dev/ram1
brw-rw---- 1 root disk 1, 10 Apr 24 12:05 /dev/ram10
brw-rw---- 1 root disk 1, 11 Apr 24 12:05 /dev/ram11
brw-rw---- 1 root disk 1, 12 Apr 24 12:05 /dev/ram12
brw-rw---- 1 root disk 1, 13 Apr 24 12:05 /dev/ram13
brw-rw---- 1 root disk 1, 14 Apr 24 12:05 /dev/ram14
brw-rw---- 1 root disk 1, 15 Apr 24 12:05 /dev/ram15
brw-rw---- 1 root disk 1, 2 Apr 24 12:05 /dev/ram2
brw-rw---- 1 root disk 1, 3 Apr 24 12:05 /dev/ram3
brw-rw---- 1 root disk 1, 4 Apr 24 12:05 /dev/ram4
brw-rw---- 1 root disk 1, 5 Apr 24 12:05 /dev/ram5
brw-rw---- 1 root disk 1, 6 Apr 24 12:05 /dev/ram6
brw-rw---- 1 root disk 1, 7 Apr 24 12:05 /dev/ram7
brw-rw---- 1 root disk 1, 8 Apr 24 12:05 /dev/ram8
brw-rw---- 1 root disk 1, 9 Apr 24 12:05 /dev/ram9
lrwxrwxrwx 1 root root 4 Apr 24 12:05 /dev/ramdisk -> ram0

결과에 나온 모든 램 디스크 크기는 동일하다. 위의 예제에서는 모두 16MB이다. 이걸 128MB까지 사용할 수 있게 변경해 보겠다. 단 여기서는 사용할 수 있게 해 주는거지 실제로 128B를 할당해주는게 아니다. 후에 드라이브중 하나를 포맷해 줌으로서 실제 영역을 할당해주게 된다. 램디스크 용량은 1024의 배수로 지정해 줘야 하기 때문에 128MB인 경우 131072K가 된다.

에디터를 사용해 /etc/grub.conf 파일을 열어보면 아래와 같은 라인을 찾을 수 있을 것이다.

kernel /vmlinuz-2.6.9-42.0.10.EL ro root=/dev/VolGroup00/LogVol00

이 라인의 뒤쪽 부분에 ramdisk_size=131072를 추가해주면 된다.

kernel /vmlinuz-2.6.9-42.0.10.EL ro root=/dev/VolGroup00/LogVol00 ramdisk_size=131072

변경된 파일을 저장하고 에디터를 종료한다. 이 시점에서 램디스크 용량을 변경했지만 변경된 내용을 적용하려면 시스템을 리부트 시켜줘야 한다. 시스템이 리부트되고 나서 나머지 설정을 해 주면 된다.

$ mke2fs -m 0 /dev/ram0

위의 명령을 사용해서 ram0 램디스크를 사용할 수 있게 포맷 해 준다. 이 과정에서 커널이 메모리에 램디스크를 위한 용량을 할당해주게 된다. 포맷이 끝나면 램디스크를 마운트 시켜주면 된다.

$ mkdir /mnt/rd
$ mount /dev/ram0 /mnt/rd

이제 램디스크를 사용할 수 있다. 이렇게 만들어 진 램디스크를 특정 사용자가 사용할 수 있게 해 주려면 chown 명령을 사용해서 오너를 변경해주면 된다.

$ chown testuser.testuser /mnt/rd

mount명령을 사용하면 램디스크가 /mnt/rd에 마운트 된 걸 볼 수 있다.

$ mount
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda2 on /home type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/ram0 on /mnt/rd type ext2 (rw)

주의할것은 램디스크이기 때문에 여기에 저장된 내용은 시스템을 리부팅하면 모두 지워지게 된다는 것이다. 단 램디스크를 언마운트 했다가 다시 마운트 하는 경우에는 램디스크 내용이 그대로 살아있다.

시스템이 부팅할 때 마다 자동으로 램디스크를 만들도록 설정하고 싶으면 아래의 내용을 /etc/rc.local 파일에 추가해주면 된다.

mke2fs -m 0 /dev/ram0
mount /dev/ram0 /mnt/rd
chown testuser.testuser /mnt/rd

---
Mac OS X에서는 아래의 명령으로 50MB 크기의 램디스크를 만들어 줄 수 있다. 여기서 램디스크의 용량은 바이트로 지정해 줘야 한다. (예: 50MB인 경우 50*1024*1024 = 52428800)

$ hdid -nomount ram://52428800
$ newfs_hfs /dev/disk1
$ mkdir /tmp/ramdisk1
$ mount -t hfs /dev/disk1 /tmp/ramdisk1

만들어 진 램디스크를 언마운트 하려면 다음의 명령을 사용하면 된다.
$ hdiutil detach /dev/disk1

또한 이런 명령어를 직접 사용하지 않고 쉽게 램디스크를 만들어 줄 수 있는 GUI 유틸리티도 있다.

사용자 삽입 이미지
MakeRAMDisk : http://boredzo.org/make-ram-disk/

소스코드까지 공개되어 있는 무료 유틸리티로 OS X 10.4 이상에서 동작한다.
이 프로그램을 실행시키면 자동으로 64MB의 램디스크가 만들어진다. 사이즈를 변경하고 싶으면 프로그램을 실행할 때 Option키를 누른 상태에서 실행하면 위의 화면이 나와서 크기를 변경해 줄 수 있다.
만들어 진 램디스크를 없애려면 CD를 추출하는것과 마찮가지로 램디스크 아이콘을 휴지통에 버려주면 된다.
Posted by nautes

댓글을 달아 주세요

이전버튼 1 이전버튼