개요
RamDisk는 컴퓨터 시스템의 Ram을 주기억 장치로 사용할 수 있도록 Emulation하는 것을 말한다. Ram의 본 목적은 프로그램처리에 필요한 Code및 Data섹션의 저장에 있다. 그러나 이 램의 일부분을 지정하여 FileSystem의 root로 만들 수 있는데 이에 관련된 작동이 램디스크이다. 램디스크는 일반 스토리지에 비하여 초당 처리 시간이 비약적으로 빠른데 이는 다음과 같은 이유 때문이다.
- Ram은 스토리지에 비하여 훨씬 빠른 Latency와 Throughput을 가지고 있다.
- Ram은 디바이스 드라이버를 필요로 하지 않는다.
- Ram은 hardware interrupt나 io read/write없이 작동한다.
리눅스에서의 구현
리눅스에서는 ramdisk를 여러가지 용도로 사용한다. ramfs, tmpfs, debugfs, /proc처럼 파일 시스템의 여러부분이 Ram에 할당되어 있으며, 시스템에 있어서 시스템이 종료되어도 저장할 필요가 없거나 사용자의 요청으로 램디스크를 만들어서 사용할 수 있다.
리눅스에서 우선 htop, top, free명령을 통해서 우선 가용한 메모리의 크기를 확인한다.
free -h
적당한 메모리 크기를 파악한후, 램 디스크의 마운트 포인트로 사용할 디렉토리를 만든다.
mkdir /mnt/ram0
그후 램디스크를 mount명령어를 통해서 마운트한다.
sudo mount -t [TYPE - tmpfs] -o size=[SIZE] [FSTYPE] [MOUNTPOINT] ex) sudo mount -t tmpfs -o size=1G tmpfs /mnt/ramdisk