Ini adalah posting tamu yang ditulis oleh SathiyaMoorthy.
Menggunakan ramfs atau tmpfs Anda dapat mengalokasikan sebagian dari memori fisik untuk digunakan sebagai partisi. Anda dapat memasang partisi ini dan mulai menulis dan membaca file seperti partisi hard disk. Karena Anda akan membaca dan menulis ke RAM, itu akan lebih cepat.
Ketika proses vital menjadi sangat lambat karena penulisan disk, Anda dapat memilih sistem file ramfs atau tmpfs untuk menulis file ke RAM.
Baik tmpfs dan ramfs mount akan memberi Anda kekuatan membaca dan menulis file dengan cepat dari dan ke memori utama. Saat Anda menguji ini pada file kecil, Anda mungkin tidak melihat perbedaan besar. Anda akan melihat perbedaannya hanya saat Anda menulis data dalam jumlah besar ke file dengan beberapa overhead pemrosesan lain seperti jaringan.
1. Cara memasang Tmpfs
# mkdir -p /mnt/tmp # mount -t tmpfs -o size=20m tmpfs /mnt/tmp
Baris terakhir pada df -k berikut menunjukkan sistem file /mnt/tmp tmpfs yang terpasang di atas.
# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 32705400 5002488 26041576 17% / /dev/sda1 194442 18567 165836 11% /boot tmpfs 517320 0 517320 0% /dev/shm tmpfs 20480 0 20480 0% /mnt/tmp
2. Cara memasang Ramfs
# mkdir -p /mnt/ram # mount -t ramfs -o size=20m ramfs /mnt/ram
Baris terakhir dalam perintah mount berikut menunjukkan sistem file ramfs /mnt/ram yang di-mount di atas.
# mount /dev/sda2 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/sda1 on /boot 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) fusectl on /sys/fs/fuse/connections type fusectl (rw) tmpfs on /mnt/tmp type tmpfs (rw,size=20m) ramfs on /mnt/ram type ramfs (rw,size=20m)
Anda dapat memasang ramfs dan tmpfs selama waktu boot dengan menambahkan entri ke /etc/fstab.
3. Ramfs vs Tmpfs
Terutama ramfs dan tmpfs melakukan hal yang sama dengan sedikit perbedaan kecil.
- Ramfs akan tumbuh secara dinamis . Jadi, Anda perlu mengontrol proses yang menulis data untuk memastikan ramf tidak melebihi ukuran RAM yang tersedia di sistem. Katakanlah Anda memiliki 2GB RAM di sistem Anda dan membuat ramf 1 GB dan dipasang sebagai /tmp/ram. Ketika ukuran total /tmp/ram melebihi 1GB, Anda masih dapat menulis data ke dalamnya. Sistem tidak akan menghentikan Anda untuk menulis data lebih dari 1GB. Namun, jika melebihi ukuran RAM total 2 GB, sistem mungkin hang, karena tidak ada tempat di RAM untuk menyimpan data.
- Tmpfs tidak akan tumbuh secara dinamis . Itu tidak akan memungkinkan Anda untuk menulis lebih dari ukuran yang Anda tentukan saat memasang tmpfs. Jadi, Anda tidak perlu khawatir tentang mengontrol proses yang menulis data untuk memastikan tmpfs tidak melebihi batas yang ditentukan. Ini mungkin memberikan kesalahan yang mirip dengan “Tidak ada ruang tersisa di perangkat”.
- Tmpfs menggunakan swap .
- Ramfs tidak menggunakan swap.
4. Kekurangan Ramfs dan Tmpfs
Karena ramfs dan tmpfs sedang menulis ke RAM sistem, itu akan dihapus setelah sistem di-boot ulang, atau macet. Jadi, Anda harus menulis proses untuk mengambil data dari ramfs/tmpfs ke disk dalam interval periodik. Anda juga dapat menulis proses untuk menuliskan data dari ramfs/tmpfs ke disk saat sistem dimatikan. Tapi, ini tidak akan membantu Anda saat sistem crash.
Eksperimen | Tmpfs | Ramf |
---|---|---|
Isi ruang maksimum dan lanjutkan menulis | Akan menampilkan kesalahan | Akan terus menulis |
Ukuran Tetap | Ya | Tidak |
Menggunakan Tukar | Ya | Tidak |
Penyimpanan Tidak Stabil | Ya | Ya |
Jika Anda ingin proses menulis lebih cepat, memilih tmpfs adalah pilihan yang lebih baik dengan tindakan pencegahan tentang kerusakan sistem.
Artikel ini ditulis oleh SathiyaMoorthy. Dia bekerja di bksystems, tertarik untuk menulis artikel dan berkontribusi pada open source di waktu senggangnya. The Geek Stuff menyambut tips dan artikel tamu Anda.