GNU/Linux >> Belajar Linux >  >> Linux

Ikhtisar RAMFS dan TMPFS di Linux

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.

Tabel:Perbandingan ramfs dan tmpfs
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.


Linux
  1. Demystifying namespace dan container di Linux

  2. Perintah Linux - Gambaran Umum dan Contoh

  3. Perintah Linux:pekerjaan, bg, dan fg

  1. Linux – Direktori Standar Dan/atau Umum Pada OS Unix/linux?

  2. Ikhtisar Proses UNIX (Di Dalam Proses Linux, dan Jenis Proses)

  3. penggunaan dan pengubahan ukuran tmpfs

  1. Linux – Sysfs dan Devtmpfs?

  2. Gambaran Umum cPanel dan WHM

  3. Ikhtisar FTP dan SFTP