/tmp vs /dev/shm pour temp de stockage de fichiers sur Linux?
J'ai des scripts qui font des centaines de succession rapide, les petits, les fichiers temporaires qui ont besoin d'être créé et à très bientôt lire à nouveau, puis dissocié.
Mes tests montre si peu de différence de performances en mettant ces fichiers dans /tmp
(à disque) ou dans /dev/shm
(système de fichiers au niveau de la mémoire partagée) sur Linux, même sous une charge modérée. J'attribue cela au système de fichiers de cache.
Accordé le disque finalement obtenir le coup avec la fileystem actions, mais sur de multiples petites écrire-lire les fichiers temporaires, pourquoi voudriez-vous (pas) de recommander à la /dev/shm
sur disque adossés répertoire? Avez-vous remarqué une grande performance augmente avec la mémoire partagée répertoire sur le cache VFS?
Vous devez vous connecter pour publier un commentaire.
/dev/shm
est destinée à un très fins spéciales, pas pour les fichiers à mettre à par des programmes arbitraires.En revanche,
/tmp
est exactement fait pour cela. Sur mes systèmes,/tmp
est untmpfs
ainsi, contrairement à/var/tmp
qui est conçu pour mettre des fichiers plus volumineux, potentiellement rester plus longtemps./dev/shm
être d'un usage généraltmpfs
est un détail d'implémentation de Linux, et non pas une garantie en aucune manière (espace disponible est généralement très limité de toute façon). Utilisation/tmp
et/var/tmp
pour ce qu'ils étaient destinés. Et en fonction de l'utilisation et de système de fichiers, si vous créer et supprimer le lien d'un fichier, il est possible, il sera en cache uniquement et ne jamais frapper le disque.tmpfs
mais par le principal sda1 disque. Sinon, je serais d'accord pour maintenir à la norme, mais c'est notre environnement de déploiement à cette époque.shm_open(3)
vous pouvez demander une "mémoire partagée" l'objet est créé. Certaines implémentations (ou Linux en général?) utilise/dev/shm
pour mettre les objets créés.C'est essentiellement la même (shm est également soutenue implicitement par le disque quand vous avez un fichier d'échange).
/tmp a l'avantage qu'il remplit plus difficile (en tenant compte de votre disque dur est probablement plus élevé que celui de votre fichier d'échange). Et aussi, c'est plus largement pris en charge.