Où est la memory virtuelle stockée sur le disque dur?

Si un process veut accéder à une adresse memory qui n'est pas en memory physique, l'OS sous-traite un bloc de page de la memory physique vers le disque dur pour une utilisation ultérieure. Où sur le disque dur ces données / instructions sont-elles stockées?

Est-il stocké sur la partition swap?

Vous pouvez exécuter swapon -s pour voir quels périphériques et files sont utilisés pour le swap. Par exemple, ma machine Linux scientifique dit:

 [user@sl6.3 ~]$ swapon -s Filename Type Size Used Priority /dev/sda3 partition 8388600 833408 -1 

Donc, j'utilise / dev / sda3 pour swap. Notez également le champ de priorité qui peut être utilisé pour ajuster l'ordre dans lequel les pages d'échange sont allouées (voir man 2 swapon ).

Comme certains l'ont dit, si vous n'avez plus de swap (ou si vous avez zéro swap), le KOM Killer peut commencer à tuer les process lorsque la memory physique devient faible.

Les pages de la memory de process peuvent être déplacées de la RAM vers le disque. C'est ce qu'on appelle l' échange ou la pagination (les termes sont essentiellement synonymes ). Les données sont déplacées vers l'espace d'échange et chargées à partir de l'espace d'échange lorsque cela est nécessaire. Linux prend en charge les partitions (et autres périphériques de bloc) et les files en tant qu'espace de swap.

Si la page en question contient des données chargées à partir d'un file, datatables ne sont pas écrites dans l'espace d'échange si la page doit être récupérée: elle est simplement effacée de la RAM. Lorsque le process a de nouveau besoin de la page, datatables sont chargées à partir de ce file.