Setelah melihat komentar oleh Anonymous pada pertanyaan Bagaimana direktori / tmp dibersihkan? , Saya menemukan bahwa itu akan menjadi ide bagus untuk diimplementasikan pada sistem saya, karena saya memiliki 16GB RAM dan saya tidak pernah menggunakan semuanya.
File sementara saya tidak pernah bisa ditulis ke disk. Mereka ditulis ke disk RAM. Saya memasukkan
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
/ etc / fstab.
Pertanyaanku adalah:
Bisakah saya menetapkan nilai maksimum untuk Penggunaan RAM /tmp
? Dan dalam hal itu, apa yang akan terjadi jika jumlah maksimumnya terlampaui, apakah akan menulis ke hard disk?
Saya telah membaca solusi yang menyatakan:
mkdir -p /tmp/ram sudo mount -t tmpfs -o size=512M tmpfs /tmp/ram/
Tetapi dalam pemahaman saya, ini tidak akan menjadi solusi permanen. Jika saya membutuhkannya permanen, itu harus ditambahkan ke /etc/fstab
file konfigurasi.
Jika ini adalah solusi yang tepat, bagaimana saya bisa mengubah perintah mount itu menjadi sebuah baris /etc/fstab
?
sumber
Jawaban:
Anda benar sekali. Entri fstab yang sesuai akan terlihat seperti ini:
Tolong dicatat:
Saat
tmpfs
terisi, itu akan berperilaku seperti hard drive fisik dengan memberikan kesalahan "tidak cukup ruang". Ketika mem-boot ulang (dan dengan demikian mengosongkan cache) akan memperbaikinya, Anda mungkin mengalami masalah ketika satu operasi menghabiskan lebih banyak ruang untuk memulai daripada ada ruang yang aktiftmpfs
. Dalam hal ini komputer Anda akan mulai bertukar dari ram ke disk, yang akan membuat sistem Anda merayap berhenti, mengingat Anda sudah punya partisi swap untuk memulai, tentu saja.Mempertimbangkan ini, ukuran 512MB mungkin jauh lebih sedikit saat ini, karena ram lebih banyak ada di mesin modern dan telah menjadi jauh lebih murah. Karena Anda sudah mendapatkan 16GB ram, menggunakan nilai default setengah ram Anda
tmpfs
harus lebih dari cukup untuk hampir semua skenario. Untuk menggunakan nilai default, cukup tinggalkansize=512M
entri di/etc/fstab
file Anda .Catatan lain:
Anda dapat dengan mudah memasang folder sistem lain ke ramdisk juga, seperti
/var/cache
/var/games
/var/log/apt
(gunakan hanyadefaults,noatime
tanpamode=
ataunosuid
)Namun berhati-hatilah: aturan yang sama berlaku seperti di atas, kehabisan ruang dapat menyebabkan masalah besar. Misalnya bayangkan kehabisan ruang untuk / var / log / apt akan membuat Anda tidak dapat menginstal program apa pun! Selain itu, memuat
/var/log
folder ke ramdisk akan menghapus semua file log Anda saat reboot, jadi Anda tidak akan dapat melakukan debug sistem Anda jika terjadi sesuatu yang tidak terduga. Jadi gunakan pengaturan ini dengan risiko Anda sendiri!Catatan Editorial: saya dihapus
/run
ditmpfs
mount option sejak folder ini dan subfoldernya sudah dipasang ditmpfs
secara default.sumber
Pada sistem yang menggunakan
systemd
, Anda memiliki opsi untuk menggunakan file unit systemd bukan fstab untuk mencapai tujuan menggunakantmpfs
untuk me-mounttmp
. Pada sistem Ubuntu 16.04 saya, saya berlari:File tersebut
/usr/share/systemd/tmp.mount
terlihat seperti:Menggunakan pendekatan fstab FuzzyQ, systemd menerjemahkan entri fstab Anda ke dalam unit mount secara dinamis. Saya tidak berpikir pendekatan mana yang lebih baik.
Dalam rangka untuk mengatur batas maksimum untuk RAM sebagai bertanya, orang akan perlu menambahkan
size=512M
keOptions
baris, dipisahkan dengan koma.sumber
systemctl enable tmp.mount
setelah cp lain systemctl akan gagal dengan pesan "Failed to start tmp.mount: Unit tmp.mount not found.
"systemctl edit tmp.mount
distro-neutral. Itu menempatkan perubahan Anda ke override.conf sehingga Anda tidak mengubah tmp.mount default dan Anda dapat menghapus override.conf dengan mudah untuk kembali ke konfigurasi default.ln -s
daripadacp
pada langkah pertama.