web-dev-qa-db-fra.com

TMPFS L'espace disponible n'est pas égal à la taille

J'ai une petite question. J'ai un serveur Ubuntu 10.04 64 bits avec 24 Go de RAM et est utilisé comme hôte VMWare Workstation 7.1. Je voudrais utiliser un lecteur en mémoire pour l'emplacement de mémoire VM, que j'ai configuré comme suit:

tmpfs /mnt/vmware tmpfs defaults,size=100% 0 0

Ça marche. Ensuite, je veux allouer 16 Go de RAM à la machine virtuelle, je sais que c'est beaucoup mais nous faisons beaucoup de traitement qui nécessite beaucoup de RAM.

Après le démarrage de VM et l'exécution de df -h, j'obtiens ce qui suit pour ce lecteur:

Filesystem             Size  Used  Avail Use% Mounted On
tmpfs                  24G   11G   14G  44% /mnt/vmware

Pourquoi la taille disponible (14 Go) n'est-elle pas égale à la taille (24 Go) du lecteur? Et pourquoi les 16 Go ne seraient-ils pas alloués à l'espace mémoire, qui est ce que j'ai défini dans le fichier .vmx invité vmware? Y a-t-il une limite à l'espace qui peut être alloué à un système de fichiers tmpfs?

Merci pour votre temps.

3
thiesdiggity

L'espace disponible n'a pas à être de taille égale. Ce que vous voyez dans le cas de /dev/shm est le fait que le système utilise très peu ou pas d'espace pour ce système de fichiers (tilisé = 0), donc dans ce cas disponible = taille =.

Je ne sais pas pourquoi df n'affiche pas 16 G d'espace utilisé, mais, d'une manière générale, lorsqu'un processus demande au noyau l'allocation d'espace, la demande peut être accordée, mais le noyau peut en fait allouer espace plus petit et plus tard (au cas où plus de mémoire serait nécessaire), agrandissez-le.

1
arrange

Si l'image VM est allouée en tant que fichier épars , il est possible que la taille apparente soit plus grande que le système de fichiers en question.

En effet, si les régions d'un fichier n'ont pas été écrites, il n'est pas nécessaire d'allouer de pages pour stocker les parties qui sont juste remplies de zéros. Il est donc probable que 5 Go du fichier image invité que vous avez créé sont vides. Si cet espace est utilisé par la machine virtuelle, les pages supplémentaires seront allouées pour le stocker (en supposant que les ressources sont disponibles à ce moment).

0
James Henstridge