Sistem file yang bagus untuk / tmp?

31

Saya berpikir untuk memiliki / tmp pada partisi sendiri ... apa yang akan menjadi filesystem yang baik untuk memformatnya?

Alasan saya bertanya adalah karena data yang disimpan di / tmp tidak permanen, jadi saya tidak perlu membuat jurnal, indeks mewah, atau apa pun.

Nathan Osman
sumber

Jawaban:

27

Saya kadang-kadang menemukan pindah /tmpke ram ( tmpfs) adalah solusi terbaik (Terutama pada pengaturan saya yang menggunakan banyak hal IO intensif disk - MySQL, dll) jika Anda memiliki cukup RAM untuk memberinya makan.

Marco Ceppi
sumber
2
Saya memiliki 2GB RAM, jadi itu mungkin bukan pilihan.
Nathan Osman
2
Sebenarnya ini seharusnya banyak RAM. / tmp biasanya tidak digunakan yang banyak dengan penggunaan normal sistem anda (apapun itu).
joschi
3
tmpfs akan menggunakan swap jika perlu - jadi ruang swap Anda dapat melakukan tugas ganda sebagai / tmp, tidak perlu mengalokasikan ruang tambahan.
gbroiles
@ George Seberapa besar Anda ingin membuat partisi / tmp Anda?
Marco Ceppi
1
@ George itu ukuran partisi yang cukup besar untuk /tmp- di desktop saya paling baik saya menggunakan 12MB, meskipun di server saya /tmpbisa menjadi gila besar ketika pelanggan melakukan hal-hal bodoh dalam MySQL dan bahasa scripting yang menyebabkan /tmpmenjadi jauh lebih besar. Hal yang brilian dengan tmpfs adalah tidak hanya akan mengambil 64MB ram jauh itu hanya langit-langit yang keras. tmpfs akan menskala karena dibutuhkan lebih banyak ruang - jadi Anda hanya mengonsumsi tmpfs apa yang dibutuhkan saat itu.
Marco Ceppi
25

Ada beberapa pilihan bagus di sini:

  1. tmpfs : adalah sistem file yang menyimpan file-nya dalam RAM. Ini tidak berarti bahwa sistem file akan memakan semua RAM Anda. Sebaliknya hanya dibutuhkan jumlah yang benar-benar dibutuhkan. Biasanya hanya beberapa MB yang dibutuhkan. Jika Anda akan menggunakannya, tambahkan baris seperti: none /tmp tmpfs size=64M,mode=1777 0 0ke /etc/fstab. Anda dapat mengubah sizeke nilai yang Anda suka. Jika Anda berpikir di beberapa titik bahwa itu terlalu sedikit, Anda dapat menggunakan mountuntuk meningkatkan ukuran: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. Ukurannya akan ditingkatkan tanpa menghapus file yang ada.
  2. ext2 / 3 : Anda mengatakan dalam pertanyaan Anda bahwa Anda tidak memerlukan fitur mewah. Namun saya akan menyarankan menggunakan jurnal. Karena jika Anda menggunakan ext2 dan Anda memiliki yang cukup besar /tmp, memeriksanya akan memakan waktu. ext3 melakukan booting lebih cepat dalam banyak kasus. Karena itu saya akan menyarankan penggunaan journalling.
  3. ext4 , reiserfs etc. .: Beberapa perangkat lunak digunakan /tmpuntuk menyimpan sejumlah besar file kecil. Jadi dalam beberapa kasus tidak ada lagi blok gratis dan sistem file sudah penuh. ext4 dan juga reiserfs menyimpan file dengan cara yang berbeda. Jadi itu bisa menjadi pilihan yang baik untuk menggunakannya untuk Anda /tmp.

Jika komputer Anda berjalan untuk waktu yang lama, ada baiknya menghapus file yang tidak digunakan di /tmp. tmpreaperadalah salah satu solusi yang melakukan itu untuk Anda.

Namun pilihan pertama saya akan digunakan tmpfs.

qbi
sumber
Apakah opsi pertama dengan / etc / fstab juga berlaku menggunakan systemd?
Smile4ever
1
@ Smile4ever Ya - /etc/fstabadalah bagian dari util-linux, jadi itu akan hadir pada sistem Linux apa pun terlepas dari sistem init yang digunakan.
villapx
7

Jika Anda tidak menginginkannya memakan RAM, saya hanya menjalankannya sebagai ext2 . Tidak ada alasan untuk memakan kinerja jurnal yang kecil untuk sistem file yang datanya tidak Anda (tidak seharusnya) pedulikan di seluruh reboot.

Sebenarnya, goreskan itu, Anda mungkin harus menggunakan ext4 dan menonaktifkan jurnalnya, itu harus lebih cepat daripada ext2. Format ext4, dan tempel fstabdengan opsi mount data=writeback.

Nicholas Knight
sumber
6

Penggunaan tmpfsharus sesuai dengan kebutuhan Anda, asalkan Anda memiliki RAM yang cukup terpasang .

Itu dikatakan ... sesuatu yang harus dipertimbangkan sehubungan dengan menggunakan ramdisk untuk /tmp(ini diambil dari posting yang lebih tua di tempat lain ):

  • Haruskah / tmp berada di area disk nyata atau diizinkan untuk diimplementasikan pada dasarnya di area SWAP (atau tmpfs)?

Ketika ini banyak digunakan, ini adalah godaan - "kami akan meletakkan / tmp ke dalam RAM RAM, itu akan mempercepat akses, dan ketika sistem reboot / dimatikan, tidak ada yang perlu dibersihkan". Namun, jika Anda berpikir untuk mengimplementasikan temp space sebagai disk RAM yang akan ditukar, maka saya akan mempertimbangkan konsekuensi dari penggunaan ruang swap sistem Anda oleh program lain. Jika swap ada sebagai bentuk "darurat meluap" ketika sistem berada dalam kesulitan dan membutuhkannya, hal terakhir yang Anda butuhkan adalah memiliki ruang swap yang dikonsumsi oleh proses pelarian mengisi / tmp, mengonsumsi memori, menyebabkan tekanan pada Subsistem VM untuk bertukar ke disk. Antara aktivitas swap,seek()

Avery Payne
sumber
5

Menggunakan ext4 dengan opsi mount tertentu harus baik-baik saja. Gunakan opsi pemasangan berikut:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.
João Pinto
sumber
tambahkan juga nodiratime
Weboide
noatime termasuk nodiratime
zvolkov
3

Saya senang dengan ext4. Anda dapat bermain dengan beberapa opsi pemasangan jika Anda ingin men-tweak atau menggunakan tmpfs jika Anda memiliki banyak ram.

Michał Šrajer
sumber
2

Menanggapi mereka yang bertanya mengapa Anda ingin partisi / tmp terpisah, saya yakin ada banyak alasan, seperti yang telah dinyatakan beberapa orang, tetapi yang menurut saya sangat relevan saat ini adalah jika Anda menjalankan / menggunakan SSD, Anda ingin meminimalkan penulisan ke drive itu, oleh karena itu memindahkan / tmp adalah ide yang bagus karena ini adalah area dari sistem file yang cenderung banyak berubah.

Matt Smith
sumber
0

Saya pikir tmpfs mungkin menjadi pilihan yang buruk karena biasanya / tmp adalah dunia yang dapat ditulisi sehingga siapa pun dapat mengisinya dan jika terisi akan mengambil semua memori Anda dan server Anda akan melambat merangkak

Christian DeKonink
sumber
Saya pikir pengaturan ukuran maksimum yang wajar untuk tmpfs dan memiliki ruang swap akan menanganinya.
Olathe