In Memory Drive (RAM Disk)

In Memory Drive

Linux systems automatically create a RAM-based filesystem at /dev/shm (shared memory). This is a tmpfs mount that stores files directly in RAM for ultra-fast access.

Key points:

  • Default size: usually 50% of total RAM
  • Files disappear on reboot (RAM is volatile)
  • Perfect for temporary files needing speed
  • Check usage: df -h /dev/shm

Quick usage:

# Copy file to RAM disk for fast access
cp large_file.txt /dev/shm/

# Create custom RAM disk
sudo mount -t tmpfs -o size=2G tmpfs /mnt/ramdisk

Use cases: build directories, browser cache, temporary databases, gaming temp files.

Performance Comparison Example

With Test creating a 5GB file on disk vs RAM:

# Test 1: Write to regular disk (/tmp)
time dd if=/dev/zero of=/tmp/test_5gb.bin bs=1M count=5120

# Test 2: Write to RAM disk (/dev/shm)
time dd if=/dev/zero of=/dev/shm/test_5gb.bin bs=1M count=5120

# Clean up
rm /tmp/test_5gb.bin /dev/shm/test_5gb.bin

Test output, not a massive difference, a better test would likely be small files rather than predictable writes.:

m:pop-os d:vintrin-env b:master ○❯time dd if=/dev/zero of=/tmp/test_5gb.bin bs=1M count=5120
5120+0 records in
5120+0 records out
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 2.87322 s, 1.9 GB/s

real	0m2.877s
user	0m0.003s
sys	0m2.480s
m:pop-os d:vintrin-env b:master ○❯time dd if=/dev/zero of=/dev/shm/test_5gb.bin bs=1M count=5120
5120+0 records in
5120+0 records out
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 2.10949 s, 2.5 GB/s

real	0m2.113s
user	0m0.006s
sys	0m2.105s
m:pop-os d:vintrin-env b:master ○❯rm /tmp/test_5gb.bin /dev/shm/test_5gb.bin