L'espace de swap est l'espace réservé d'un disque que le système d'exploitation Oracle Solaris et les applications peuvent utiliser comme espace de stockage temporaire. L'espace de swap est une zone de stockage en mémoire virtuelle utilisée lorsque le système ne dispose pas de la mémoire physique suffisante pour gérer les processus en cours d'exécution. Dans Oracle Solaris 10, un environnement root UFS fournit la même tranche de disque pour les périphériques de swap et de vidage. Dans Oracle Solaris 11, deux volumes distincts sont créés, l'un comme périphérique de swap et l'autre comme périphérique de vidage. Dans un système de fichiers root ZFS, l'espace disque réservé au swap est un volume ZFS. Utilisez la commande dumpadm comme indiqué ci-après pour afficher les informations suivantes :
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash Savecore enabled: yes Save compressed: on
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 182,2 8 4061176 4061176
Vous pouvez afficher des informations sur le nom et la taille des volumes de swap et de vidage de la manière suivante :
# zfs list -t volume -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool/dump 4.13G 51.6G 4.00G - rpool/swap 4.13G 51.6G 4.00G -
Vous pouvez afficher les tailles de l'espace de swap dans un format lisible par l'utilisateur, comme le montre l'exemple suivant :
# swap -sh total: 1.4G allocated + 227M reserved = 1.6G used, 432G available # swap -lh swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 285,2 8K 4.0G 4.0G
La gestion de volumes de swap et de vidage ZFS diffère de la gestion d'une tranche unique pour un périphérique de swap et de vidage UFS comme suit :
Vous ne pouvez pas utiliser le même volume pour les périphériques de swap et de vidage dans un environnement root ZFS.
Vous ne pouvez pas utiliser un fichier en tant que périphérique de swap dans un environnement root ZFS.
Le système exige que la taille du périphérique de vidage atteigne environ la moitié ou les trois quarts de la taille de la mémoire physique. Si le périphérique de vidage est trop petit, un message d'erreur semblable au message suivant s'affiche :
# dumpadm -d /dev/zvol/dsk/rpool/dump dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump dump size 36255432704 bytes, device size 34359738368 bytes
Vous pouvez augmenter facilement la taille du périphérique de vidage en augmentant la propriété volsize du volume, comme indiqué dans l'exemple suivant, mais la réinitialisation de celui-ci peut prendre un certain temps.
# zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 1.94G local # zfs set volsize=3g rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 3G local
Il est difficile de modifier la taille du volume de swap si le périphérique de swap est en cours d'utilisation. Vous pouvez envisager de créer un second volume de swap et de l'ajouter en tant que périphérique de swap en procédant comme suit :nbsp
# zfs create -V 3G rpool/swap2 # swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 182,2 8 4061176 4061176 /dev/zvol/dsk/rpool/swap2 182,4 8 6291448 6291448
Ajoutez ensuite une entrée pour le nouveau périphérique de swap dans le fichier /etc/vfstab. Par exemple :
/dev/zvol/dsk/rpool/swap2 - - swap - no -
Pour plus d'informations sur la configuration de l'espace de swap et du périphérique de vidage, reportez-vous à la section A propos de l’espace de swap du manuel Gestion des systèmes de fichiers dans Oracle Solaris 11.2 .