web-dev-qa-db-fra.com

Bon système de fichiers pour / tmp?

Je pense avoir/tmp sur sa propre partition ... quel serait un bon système de fichiers pour le formater?

La raison pour laquelle je pose cette question est que les données stockées dans/tmp ne sont pas permanentes. Je n'ai donc pas besoin de journalisation, d'index de fantaisie ou de quoi que ce soit.

31
Nathan Osman

Je trouve parfois que déplacer /tmp to ram (tmpfs) est la meilleure solution (en particulier sur mes configurations qui utilisent beaucoup de ressources disque intensives IO - MySQL, etc.) si vous en avez assez RAM pour le nourrir.

27
Marco Ceppi

Il y a plusieurs bons choix ici:

  1. tmpfs: est un système de fichiers qui stocke ses fichiers dans la RAM. Cela ne signifie pas que le système de fichiers consommera toute votre mémoire vive. Au lieu de cela, il ne prend que le montant dont il a réellement besoin. Habituellement, seuls quelques MB sont nécessaires. Si vous l'utilisez, ajoutez une ligne telle que: none /tmp tmpfs size=64M,mode=1777 0 0 à votre /etc/fstab. Vous pouvez remplacer le size par une valeur de votre choix. Si, à un moment donné, vous pensez que c'est trop, vous pouvez utiliser mount pour augmenter la taille: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. La taille sera augmentée sans supprimer les fichiers existants.
  2. ext2/: Vous avez dit dans votre question que vous n’avez besoin d’aucune fonctionnalité sophistiquée. Cependant, je conseillerais d'utiliser un journal. Parce que si vous utilisez ext2 et que vous avez un /tmp assez volumineux, il faudra un certain temps pour le vérifier. ext3 démarre beaucoup de cas plus rapidement. Par conséquent, je suggérerais l’utilisation de la journalisation.
  3. ext4, reiserfs etc .: Certains logiciels utilisent /tmp pour stocker de grandes quantités de petits fichiers. Donc, dans certains cas, il n'y a plus de blocs libres et le système de fichiers est plein. ext4 et reiserfs stockent également les fichiers d’une manière différente. Il pourrait donc être judicieux d’utiliser ceux-ci pour votre /tmp.

Si votre ordinateur fonctionne longtemps, il est conseillé de supprimer les fichiers inutilisés de /tmp. tmpreaper est une solution qui le fait pour vous.

Cependant, mon premier choix serait d'utiliser tmpfs.

25
qbi

Si vous ne voulez pas que cela consomme de la RAM, Je viens de l'exécuter en tant que ext2. Aucune raison de manger le petit coup de performance de la journalisation pour un système de fichiers dont les données ne vous intéressent pas (ne le devriez pas) lors des redémarrages.

En fait, si vous utilisiez ext4 et que vous désactiviez son journal, il devrait être plus rapide que ext2. Formatez le fichier ext4 et collez-le dans fstabavec l'option de montage data=writeback.

7
Nicholas Knight

Utiliser tmpfs devrait convenir à vos besoins à condition que vous disposiez de RAM adéquate .

Cela étant dit ... quelque chose qui devrait être considéré en ce qui concerne l'utilisation d'un ramdisk pour /tmp (ceci provient d'un ancien post ailleurs) ):

  • Est-ce que/tmp devrait être sur une zone de disque réelle ou autorisé à être implémenté essentiellement sur la zone SWAP (ou tmpfs)?

Quand il est fortement utilisé, c'est une tentation: "nous allons mettre/tmp sur un disque RAM, cela accélérera l'accès, et lorsque le système redémarre/s'arrête, il n'y a rien à nettoyer". Cependant, si vous envisagez d'implémenter de l'espace temporaire en tant que disque RAM qui sera échangé, je considérerais alors les ramifications de l'utilisation de l'espace d'échange de votre système par d'autres programmes. Si l’échange est une forme de "débordement d’urgence" lorsque le système est en panne et qu’il en a besoin, la dernière chose dont vous avez besoin est d’avoir l’espace d’échange consommé par un processus en fouillis qui remplit/tmp, consomme de la mémoire, ce qui entraîne une pression sur le serveur. VM sous-système à permuter sur le disque. Entre l’activité d’échange et le flux d’E/S supplémentaire sur le disque RAM (ce qui peut entraîner des ajouts de page supplémentaires pour satisfaire une seek()), votre système deviendra rapidement lié aux E/S.

6
Avery Payne

Utiliser ext4 avec des options de montage spécifiques devrait convenir. Utilisez les options de montage suivantes:

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.
5
João Pinto

Je suis content avec ext4. Vous pouvez jouer avec certaines options de montage si vous aimez le modifier ou utiliser tmpfs si vous avez beaucoup de RAM.

3
Michał Šrajer

En réponse à ceux qui demandent pourquoi vous voudriez une partition/tmp séparée, je suis sûr qu'il y a plusieurs raisons, comme certaines l'ont déjà dit, mais l'une des choses que je trouve particulièrement courante aujourd'hui est que si vous utilisez/sur un SSD, vous voulez minimiser les écritures sur ce disque; par conséquent, déplacer/tmp est une bonne idée car il s’agit d’une zone du système de fichiers qui a tendance à beaucoup changer.

2
Matt Smith

Je pense que tmpfs pourrait être une mauvaise option car habituellement,/tmp est accessible en écriture pour que tout le monde puisse le remplir. S'il le remplit, cela prendra toute votre mémoire et votre serveur ralentira au ralenti.

0
Christian DeKonink