Dobry system plików dla / tmp?

31

Mam na myśli posiadanie / tmp na własnej partycji ... jaki byłby dobry system plików do sformatowania go?

Pytam dlatego, że dane przechowywane w / tmp nie są trwałe, więc nie potrzebuję kronikowania, fantazyjnego indeksu ani nic takiego.

Nathan Osman
źródło

Odpowiedzi:

27

Czasami uważam, że przejście /tmpna ram ( tmpfs) jest najlepszym rozwiązaniem (szczególnie w moich konfiguracjach, które używają dużo obciążających dysku operacji IO - MySQL itp.), Jeśli masz wystarczającą ilość pamięci RAM, aby je zasilić.

Marco Ceppi
źródło
2
Mam 2 GB pamięci RAM, więc prawdopodobnie nie jest to opcja.
Nathan Osman,
2
Właściwie powinno to być dużo pamięci RAM. / tmp zwykle nie jest używane tak często przy normalnym użytkowaniu systemu (cokolwiek to jest).
joschi,
3
tmpfs użyje swap, jeśli zajdzie taka potrzeba - więc twoja przestrzeń wymiany może wykonywać podwójną pracę jako / tmp, bez potrzeby przydzielania dodatkowej przestrzeni.
gbroiles,
@George Jak duża byłaby twoja partycja / tmp?
Marco Ceppi
1
@George, który jest wystarczająco duży dla partycji /tmp- na moim komputerze najlepiej używam 12 MB, chociaż na moich serwerach /tmpmogę się zwariować, gdy klienci robią głupie rzeczy w MySQL i językach skryptowych, które powodują, że /tmpstają się znacznie większe. Genialną rzeczą w tmpfs jest to, że nie zabierze tylko 64 MB pamięci RAM, to tylko twardy sufit. tmpfs skaluje się, ponieważ potrzeba więcej miejsca - więc w tmpfs konsumujesz tylko tyle, ile jest potrzebne w tym czasie.
Marco Ceppi
25

Jest tu kilka dobrych opcji:

  1. tmpfs : to system plików, który przechowuje swoje pliki w pamięci RAM. Nie oznacza to, że system plików zje całą pamięć RAM. Zamiast tego zajmuje tylko tyle, ile naprawdę potrzebuje. Zwykle potrzebne są tylko niektóre MB. Jeśli będziesz go używać, dodać taką linię: none /tmp tmpfs size=64M,mode=1777 0 0do Twojego /etc/fstab. Możesz zmienić sizewartość na którą chcesz. Jeśli uważasz, że w pewnym momencie, że jest zbyt mało, można użyć mount, aby zwiększyć rozmiar: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. Rozmiar zostanie zwiększony bez usuwania istniejących plików.
  2. ext2 / 3 : Powiedziałeś w swoim pytaniu, że nie potrzebujesz żadnych wymyślnych funkcji. Jednak radziłbym używać dziennika. Ponieważ jeśli używasz ext2 i masz dość duży /tmp, sprawdzenie go zajmie trochę czasu. ext3 uruchamia się szybciej w wielu przypadkach. Dlatego sugerowałbym wykorzystanie dziennikarstwa.
  3. ext4 , reiserfs itp .: Niektóre programy używają /tmpdo przechowywania dużych ilości małych plików. W niektórych przypadkach nie ma już wolnych bloków, a system plików jest pełny. ext4, a także reiserfs przechowują pliki w inny sposób. Może to być dobry wybór, aby użyć ich dla siebie /tmp.

Jeśli komputer działa przez długi czas, dobrze jest usunąć nieużywane pliki /tmp. tmpreaperto jedno rozwiązanie, które robi to za Ciebie.

Jednak moim pierwszym wyborem będzie użycie tmpfs.

qbi
źródło
Czy pierwsza opcja z / etc / fstab ma również zastosowanie przy użyciu systemd?
Smile4ever,
1
@ Smile4ever Tak - /etc/fstabjest częścią util-linux, więc będzie obecny na każdym systemie Linux, niezależnie od tego, który system init jest używany.
villapx
7

Jeśli nie chcesz, żeby to zjadało pamięć RAM, po prostu uruchomię to jako ext2 . Nie ma powodu, aby zjadać niewielki hit związany z wydajnością kronikowania dla systemu plików, którego danych nie należy (nie należy) obchodzić podczas ponownego uruchamiania.

Właściwie, podrap to, powinieneś prawdopodobnie użyć ext4 i wyłączyć jego dziennik, powinien być szybszy niż ext2. Sformatuj go ext4 i wklej go fstabz opcją mount data=writeback.

Nicholas Knight
źródło
6

Korzystanie tmpfspowinno być odpowiednie dla twoich potrzeb, pod warunkiem, że masz zainstalowaną odpowiednią pamięć RAM .

Biorąc to pod uwagę ... coś, co należy rozważyć w odniesieniu do używania ramdysku do /tmp(to wzięte ze starszego postu gdzie indziej ):

  • Czy / tmp powinien znajdować się na prawdziwym obszarze dysku, czy powinien być implementowany w zasadzie w obszarze SWAP (lub tmpfs)?

Kiedy jest intensywnie używany, jest to pokusa - „umieścimy / tmp na dysku RAM, przyspieszy to dostęp, a kiedy system uruchomi się ponownie / wyłączy, nie ma nic do wyczyszczenia”. Jeśli jednak zastanawiasz się nad implementacją przestrzeni tymczasowej jako dysku RAM, który zostanie zamieniony, rozważę konsekwencje wykorzystania przestrzeni wymiany systemu przez inne programy. Jeśli swap jest formą „awaryjnego przepełnienia”, gdy system jest w trudnej sytuacji i potrzebuje go, ostatnią rzeczą, której potrzebujesz, jest zajmowanie przestrzeni wymiany przez niekontrolowany proces napełniania / tmp, zużywanie pamięci, powodowanie presji na Podsystem VM do zamiany na dysk. Pomiędzy aktywnością wymianyseek()

Avery Payne
źródło
5

Używanie ext4 z określonymi opcjami montowania powinno być w porządku. Użyj następujących opcji montażu:

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
źródło
dodaj również nodiratime
Weboide
noatime obejmuje nodiratime
zvolkov,
3

Jestem zadowolony z ext4. Możesz grać z niektórymi opcjami montowania, jeśli chcesz go ulepszyć lub użyć tmpfs, jeśli masz dużo pamięci RAM.

Michał Šrajer
źródło
2

W odpowiedzi na pytania o to, dlaczego chcesz mieć osobną partycję / tmp, jestem pewien, że istnieje wiele powodów, jak niektórzy już powiedzieli, ale jednym z nich, które uważam dziś szczególnie odradzające jest to, że jeśli używasz / na dysku SSD, chcesz zminimalizować liczbę zapisów na tym dysku, dlatego przenoszenie / tmp jest dobrym pomysłem, ponieważ jest to obszar systemu plików, który często się zmienia.

Matt Smith
źródło
0

Myślę, że tmpfs może być złą opcją, ponieważ zwykle / tmp można zapisywać na całym świecie, więc każdy może go wypełnić, a jeśli się zapełni, zajmie całą pamięć, a serwer zwolni do indeksowania

Christian DeKonink
źródło
Myślę, że ustawienie rozsądnego maksymalnego rozmiaru tmpfs i posiadanie przestrzeni wymiany poradzi sobie z tym.
Olathe