/tmp vs. / dev / shm pour le stockage temporaire de fichiers sous Linux?

j'ai des scripts qui font des centaines de succession rapide, de petits fichiers temporaires qui doivent être créés et très vite relus, puis déverrouillés.

mes tests montrent peu ou aucune différence de performance en mettant ces fichiers dans /tmp (à disque) ou dans /dev/shm (mémoire partagée au niveau du système de fichiers) sur Linux même avec une charge modérée. J'attribue cela au cache du système de fichiers.

accordé le disque sera finalement obtenir le coup avec la fileystem actions, mais sur plusieurs petits fichiers temp en écriture-lecture, pourquoi recommanderiez-vous /dev/shm disque adossés répertoire? Avez-vous remarqué de grandes augmentations de performances avec le répertoire de mémoire partagée sur un VFS en cache?

21
demandé sur Jé Queue 2012-03-17 02:27:42

2 réponses

/dev/shm est destiné à un usage très particulier, et non pas à des fichiers à mettre en place par des programmes arbitraires.

En revanche, /tmpexactement fait pour cela. Sur mes systèmes, /tmp est un tmpfs ainsi, contrairement à /var/tmp qui est conçu pour la mise en place de fichiers plus volumineux, pouvant éventuellement rester plus longtemps.

13
répondu glglgl 2012-03-16 23:41:46

il est essentiellement le même (shm est aussi implicitement soutenu par le disque lorsque vous avez un swapfile).

/ tmp a l'avantage qu'il remplit plus dur (considérant que votre disque dur est probablement plus grand que votre swapfile). Et il est aussi plus largement soutenu.

2
répondu Peter V 2012-03-16 22:32:03