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