Quelle taille pour /tmp ? - Installation - Linux et OS Alternatifs
Marsh Posté le 07-09-2007 à 22:33:24
perso je n'ai qu'un tmpfs, qui fait donc, la taille occupé par /tmp (12Ko présentement) et qui peut grimper jusqu'à moitié de la RAM (option par défaut). Et ça marche très bien comme ça.
Marsh Posté le 07-09-2007 à 22:42:10
Ben le pb, c'est que je ne comprends pas trop comment retranscrire ça dans mon fstab... Je vire la ligne correspondant à /tmp, et je ne laisse que tmpfs ?
actuellement, voici ce que donne df :
Code :
|
Et voici mon fstab :
tmpfs /dev/shm tmpfs defaults 0 0 |
Marsh Posté le 08-09-2007 à 09:54:00
là, ce n'est pas ton /tmp qui est dans un tmpfs, c'est /dev/shm
pour mettre /tmp en tmpfs voilà ce que ça donne :
/dev/tmpfs /tmp tmpfs defaults,nosuid,nodev,noexec 0 0 |
Marsh Posté le 08-09-2007 à 10:15:00
J'avoue ne pas saisir la différence entre tmpfs et shm...
Marsh Posté le 08-09-2007 à 10:20:26
ben tmpfs c'est un système de fichier et /dev/shm, c'est le device que tu montes.
tu peux utiliser tmpfs pour d'autres montages (/tmp notamment)
Marsh Posté le 08-09-2007 à 10:28:50
si tmpfs est un système de fichier et /dev/shm le device, comment se fait-il qu'il existe un /dev/tmpfs ?
EDIT : ah ben non, je n'ai pas de /dev/tmpfs sur ma distrib... que faire alors ?
Marsh Posté le 08-09-2007 à 10:40:08
moi non plus, il n'apparait pas, mais ça fonctionne quand même
Marsh Posté le 08-09-2007 à 11:00:03
ok, merci, j'essaierai et reviendrai donner des nouvelles (probablement dans le WE).
Marsh Posté le 08-09-2007 à 14:59:17
Mjules a écrit : là, ce n'est pas ton /tmp qui est dans un tmpfs, c'est /dev/shm
|
Je reprends ce que tu as dit, Mjules...
1. si comme moi /dev/tmpfs n'exite pas chez toi, comment se fait-il que tu aies cette ligne dans ton fstab ?
2. Sur le forum de ma distrib, on me conseille carrément de supprimer ma ligne /tmp.
Comme il me reste celle du/dev/shm, est-ce suffisant ?
Mon but est que tmp soit finalement pris en RAM (2 Go), voire swap (3.7 Go), mais pas qu'un tmp soit créé sur ma partition / .
Merci de m'éclairer sur le sujet...
Marsh Posté le 08-09-2007 à 15:02:46
Mjules a écrit : là, ce n'est pas ton /tmp qui est dans un tmpfs, c'est /dev/shm
|
j'ai simplement cela moi.
none on /tmp type tmpfs (rw) |
Marsh Posté le 08-09-2007 à 15:08:34
ah oui, ça marche aussi comme ça (testé à l'instant)
ce qui donne dans fstab :
none /tmp tmpfs defaults,nosuid,nodev,noexec 0 0 |
Marsh Posté le 08-09-2007 à 15:09:42
si tu supprimes ta ligen concernant /tmp, celui ci restera simplement dans /tmp c'est à dire sur la partition qui contient /
Marsh Posté le 08-09-2007 à 15:57:28
cactus a écrit : si tmpfs est un système de fichier et /dev/shm le device, comment se fait-il qu'il existe un /dev/tmpfs ? |
Quand tu mets dans ta fstab:
/dev/hda3 /home ext3 defaults 0 0 |
/dev/hda3 est le device
/home est le point de montage
ext3 est le système de fichiers.
Ici c'est à peu près la même chose :
tmpfs est le système de fichiers
/dev/shm ou /tmp sont les points de montage de ton système de fichiers tmpfs
le système de fichiers tmpfs n'est pas associé à un device particulier (c'est aussi le cas de proc par exemple), donc on s'en fout de la première colonne du fstab. Par convention, on met un nom de device qui reprend le nom du système de fichiers, mais on pourrait mettre n'importe quoi...
none /tmp tmpfs ... |
Marsh Posté le 08-09-2007 à 22:21:57
ok, donc si j'ai bien compris, dès qu'on écrit tmpfs en filesystem, ça part directement en RAM, quel que soit le device mentionné (none, toto, etc...). Et donc dans mon cas, il me faut mettre :
none /tmp tmpfs ... |
Exact ? ou pas ?
Marsh Posté le 08-09-2007 à 22:57:31
ReplyMarsh Posté le 09-09-2007 à 06:01:39
cactus a écrit : si tmpfs est un système de fichier et /dev/shm le device, comment se fait-il qu'il existe un /dev/tmpfs ? |
Pour la petite histoire: tmpfs est (comme son nom l'indique) un système de fichier temporaire (en RAM, ici).
/dev/shm, c'est un device type tmpfs, qui est un espace utilisé par certaines libs (et le noyau) pour créer des objets qui ont besoin de mémoire partagée (shared memory) entre processus, comme sem_open (semaphores nommés) ou shm_open (pour ouvrir des pages de mémoire partagée).
Marsh Posté le 09-09-2007 à 11:55:39
j'ai pas de ligne avec /dev/shm dans mon fstab, c'est un problème ? (je n'ai jamais constaté le moindre soucis mais bon on sait jamais)
Marsh Posté le 09-09-2007 à 12:27:53
Oui et non. La plupart des programmes utilisent la libpthread pour les synchronisations, et elle ne requiert pas de /dev/shm.
En revanche, si tu as des programmes qui utilisent des zones de mémoires nommées ou des sémaphores nommées (POSIX), alors oui, ca va devenir un problème.
Extrait page man de shm_open:
Citation : NOTES POSIX ne précise pas le comportement de la combinaison O_RDONLY et O_TRUNC. Sous Linux, la troncature aura L'implémentation sous Linux 2.4 des objets de mémoire partagée POSIX utilise un système de fichiers |
Généralement, la mémoire partagée se fait avec des mmap (et un descripteur egal à -1), pas des shm_open (sauf pour des nommés). Surtout que certains BSD, comme netbsd, ne fournissent pas shm_open par défaut.
Marsh Posté le 09-09-2007 à 13:36:03
franceso a écrit : ouais, en remplaçant '...' par les options de montage que tu veux. |
ben je pesais juste remplacer /dev/hda11 par none...
Et merci à tous les autres pour cette discussion très intéressante.
Marsh Posté le 07-09-2007 à 21:47:57
Bonjour à tous,
Je me pose aujourd'hui la question de la taille de ma partition /tmp, et je compte sur vos expérience pour m'aider à optimiser ma config.
Ma distrib : Archlinux (que je conseille à tous ! )
Matos : Centrino 1.5 GHz, 2 Go RAM
Aujourd'hui (et depuis plus d'un an maintenant), j'ai une partition dédiée à /tmp qui fait 3.7 Go, taille totalement mise au pif !
J'ai remarqué que lorsque je fais un 'df', il n'y a que qq centaines de ko dedans.
A noter aussi que j'ai un tmpfs, qui occupe 1 Go en RAM.
Mon but est donc de récupérer un peu d'espace disque en réduisant cette partition /tmp. A combien je peux la descendre ?
A noter aussi que pour des raisons de performances, je désactive mon swap (3.7 Go) lorsque je lance une machine virtuelle, tout en continuant une utilisation classique, surf, mail, Gimp, etc...
Merci de me faire part de vos commentaires z'éclairés !
Cactus.