Home > Linux, Server Linux, Tutorial > tmpfs atau ext2/ext3 untuk /tmp?

tmpfs atau ext2/ext3 untuk /tmp?

Direktori /tmp dan /var/tmp telah dibuat menggunakan disk loop untuk menampung file-file sementara dari daemon/service yang berjalan di server, misalnya server web Apache. Ada dua opsi filesystem yang bisa digunakan untuk disk loop ini, yaitu 1) menggunakan tmpfs dan 2) filesystem ext2/3.

Disk loop yang menggunakan tmpfs akan menyimpan file-file /tmp ke RAM, sedangkan ext2/3 file akan disimpan di disk loop tersebut akan menghemat RAM. Disk loop itu sendiri membutuhkan ruang penyimpan saat dibuat, misalnya 1 GB berikut:

$ sudo dd if=/dev/zero of=/var/tmpdisk bs=1K count=1000000

Berikut perilaku OS Linux Ubuntu jika disk loop /tmp menggunakan kedua tipe filesystem tersebut.

Disk loop /var/tmpdisk berukuran 1 GB menggunakan tmpfs saat di-mounting ke /tmp. RAM yang bebas dilihat sebelum dan sesudah direktori /tmp terisi file besar.

$ free
             total       used       free     shared    buffers     cached
Mem:       1016860     111560     905300        404      18796      46924
-/+ buffers/cache:      45840     971020
Swap:      1044476          0    1044476
$ sudo mount -t tmpfs -o loop,noexec,nosuid,rw /var/tmpdisk /tmp

Direktori /tmp akan diisi dengan file besar, misalnya 256MB, dan RAM yang bebas dilihat.

$ sudo dd if=/dev/zero of=/tmp/tmpDSK bs=1024 count=256000
256000+0 records in
256000+0 records out
262144000 bytes (262 MB) copied, 0.491215 s, 534 MB/s
$ free
             total       used       free     shared    buffers     cached
Mem:       1016860     369172     647688     256404      18516     303620
-/+ buffers/cache:      47036     969824
Swap:      1044476          0    1044476

Disk loop /var/tmpdisk berukuran 1 GB diformat menggunakan filesystem ext3 saat di-mounting ke /tmp. RAM yang bebas dilihat sebelum dan sesudah direktori /tmp terisi file besar.

$ mkfs.ext3 /var/tmpdisk
$ free
             total       used       free     shared    buffers     cached
Mem:       1016860     417768     599092        404      21004     339864
-/+ buffers/cache:      56900     959960
Swap:      1044476          0    1044476
$ sudo mount -t ext3 -o loop,noexec,nosuid,rw /var/tmpdisk /tmp

Direktori /tmp akan diisi dengan file besar, misalnya 256MB, dan RAM yang bebas dilihat.

$ sudo dd if=/dev/zero of=/tmp/tmpDSK bs=1024 count=256000
256000+0 records in
256000+0 records out
262144000 bytes (262 MB) copied, 0.491215 s, 534 MB/s
$ free
             total       used       free     shared    buffers     cached
Mem:       1016860     800240     216620        404      21908     693152
-/+ buffers/cache:      85180     931680
Swap:      1044476          0    1044476

Hasilnya adalah walaupun dimount dengan filesystem ext3 tetap saja /tmp menggunakan RAM. Hihihi, berarti anggapan saya semula salah. Atau ada yang salah dengan langkah yang saya lakukan?

Disk loop yang dimount dengan tmpfs akan menyimpan filenya ke memori bersama (shared). Ups, saya masih belum paham juga tentang kernel Linux, khususnya di manajemen memorinya. Ada yang bisa memberikan pencerahan? Thanks sebelumnya.

Categories: Linux, Server Linux, Tutorial
  1. No comments yet.
*

This blog is kept spam free by WP-SpamFree.

Skip to toolbar