램디스크(Ramdisk)는 주기억장치인 하드웨어, 램의 일정 부분을 가상의 볼륨으로 만들어 디스크처럼 사용하는 기술로 컴퓨터 하드웨어 자원중 가장 빠른 저장장치인 만큼 디스크의 빠른 IO를 필요로 할때 사용합니다.
SATA 인터페이스의 몇배 이상의 빠른 처리 속도를 자랑하지만 휘발성 메모리인 램(Ram)의 특성상 램디스크에 저장된 파일은 재부팅과 동시에 사라지기 때문에 임시 저장용으로 활용하며, 일반적인 데스크탑 업무인 경우 브라우저나 소프트웨어 스크래치 디스크로 사용하는 방법이 있고 웹서버 같은 경우 웹어플리케이션의 캐싱 파일, MySQL의 임시 테이블 저장등 활용하기에 따라 시스템을 효율적으로 사용할 수 있습니다.
윈도우 운영체제에서는 서드파티의 램디스크 어플리케이션을 유료로 구매해야 하지만 우분투의 경우 램디스크 기능을 시스템에서 기본적으로 내장하고 있습니다.
목차
램디스크 용량 할당
# sudo su # mkdir /media/ramdisk
터미널을 띄운 상태에서 최고 관리자 권한을 얻은 다음 /media/ramdisk 디렉토리를 만듭니다.
# mount -t tmpfs -o size=512M tmpfs /media/ramdisk # df -h
위 명령어를 이용해서 램디스크 공간을 할당합니다. 이때 실제 메모리보다 램디스크의 크기는 클수 없으며 메모리 용량이 모자라 디스크 스왑이 일어나지 않게끔 용량을 할당합니다.
부팅시 자동 마운트 설정
none /media/ramdisk tmpfs defaults,size=512M 0 0
위 명령어를 이용해 마운트해서 바로 사용할 수 있지만 재부팅시에도 자동으로 램디스크 공간을 할당하고 싶다면 /etc/fstab
을 vi, gedit등의 편집기로 열어 위 구문을 등록해 부팅시 자동으로 마운트되게 설정하면 되겠습니다.
속도 테스트
# dd if=/dev/zero of=/media/ramdisk/bench bs=256M count=1; rm -f /media/ramdisk/bench
램디스크의 속도를 직접 확인하고 싶다면 간단하게 dd
명령어를 통해 확인할 수 있습니다. 스크린샷은 버추얼박스에서 테스트 되었으며 가상머신의 디스크는 SSD입니다. 램디스크가 약 두배정도 빠르네요.
언마운트
# umount /media/ramdisk
만일 램디스크를 더이상 사용하고 싶지 않다면 위 명령어로 간단하게 램디스크 마운트를 해제할 수 있으며 수정한 /etc/fstab
에서도 마찬가지로 추가했던 구문을 삭제하면 되겠습니다.