Comment faire tmpfs pour utiliser uniquement la RAM physique et non le swap?

12

Comment être sûr qu'un tmpfssystème de fichiers ne peut gérer que le physique et qu'il n'utilise pas de partition de swap sur le disque?

Comme j'ai un disque dur lent et une RAM rapide, je voudrais au moins donner une priorité plus élevée à l'utilisation de la RAM swapet / tmpfsou désactiver l'utilisation du disque pour tmpfsles points de montage associés.

user1717079
la source
3
En réalité, selon les termes que vous avez donnés, la seule réponse n'est pas du tout d'utiliser swap. Et les programmeurs du noyau JFYI Linux sont vraiment conscients que la RAM est plus rapide. Donc, vous faites quelque chose d'assez inutile.
poige
3
Tout le monde a un disque dur lent et une RAM rapide. Utilisez tmpfs. Le noyau est plus intelligent que vous lorsqu'il s'agit de décider ce qui doit être conservé dans la RAM et ce qui doit être relégué sur le disque lorsque la RAM est pleine.
Gilles 'SO- arrête d'être méchant'

Réponses:

8

utilisez ramfs au lieu de tmpfs. ramfs est un disque virtuel (pas de swap) tmpfs peut être à la fois dans votre / etc / fstab:

none     /path/to/location     ramfs  defaults,size=512M   0     0

éditez le sizeparamètre à votre guise mais faites attention à ne pas dépasser votre quantité réelle de RAM.

REMARQUE: l'utilisation d'un ramfs au lieu de tmpfs n'est pas quelque chose que je recommanderais. vous rencontrerez des problèmes de stabilité si quelque chose se produit et vous écrivez une tonne de données sur votre disque virtuel. vous ne pouvez PAS désallouer un ram d'un ramfs. une fois que votre ramdisk (tout votre ram) est plein, votre système se bloquera. RAM est une mémoire volatile, ce qui signifie qu'une fois qu'il a perdu le pouvoir, toutes les données ont disparu. Donc, si votre disque virtuel remplit votre RAM et que vous vous plantez, vous ne verrez plus jamais ce qui était sur votre disque RAM. contrairement à ramfs, tmpfs limite sa taille.

h3rrmiller
la source
merci, je n'ai jamais entendu parler de ce ramfs, c'est quelque chose qui a été introduit récemment? Quelles sont les exigences pour cela? Version du noyau? EDIT comment échanger sur un ramfs?
user1717079
tmpfs est pris en charge sur tous les noyaux 2.4+. selon wikipedia ramfs précède tmpfs ( en.wikipedia.org/wiki/Tmpfs#Linux ).
h3rrmiller
/ dev / shm est un exemple de disque virtuel. cependant, il a été défini par défaut sur tmpfs maintenant que les disques sont plus rapides. Vous trouvez généralement / tmp en tant que ramfs sur Solaris. Le problème avec cela est que vous pouvez continuellement allouer plus de ram pour / tmp mais ne pouvez pas désallouer ce ram une fois alloué sans redémarrage
h3rrmiller
1
l'utilisation d'un ramfs au lieu de tmpfs n'est pas quelque chose que je recommanderais. vous rencontrerez des problèmes de stabilité si quelque chose se produit et vous écrivez une tonne de données sur votre disque virtuel. comme je l'ai dit, vous ne pouvez pas désallouer le ram d'un ramfs. une fois que votre ramdisk (tout votre ram) est plein, votre système se bloquera. RAM est une mémoire volatile, ce qui signifie qu'une fois qu'il a perdu le pouvoir, toutes les données ont disparu. Donc, si votre disque virtuel remplit votre RAM et que vous vous plantez, vous ne verrez plus jamais ce qui était sur votre disque RAM
h3rrmiller
2
+1 à h3rrmiller - J'ai vu une configuration ramfs consommer toute la mémoire disponible jusqu'à la mort d'une machine. tmpfs est plus approprié. Il y a aussi peu de points à échanger contre un bélier - pourquoi échanger du tout?
Danny Staple