web-dev-qa-db-fra.com

Comment augmenter la taille du swap?

Récemment, j'ai mis plus de RAM dans mon serveur et j'ai maintenant un total de 24 Go de RAM. À l'origine, j'ai configuré le système d'exploitation pour avoir une taille d'échange de 2 Go.

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux

2 Go sont actuellement alloués pour le swap, mais lire autour semble que ce n'est pas beaucoup. Pour un système de 24 Go, je pense allouer au moins 10 Go de swap.

Mes questions sont les suivantes: puis-je le faire pendant que le système d'exploitation fonctionne? Dois-je réinstaller? J'utilise OpenSuse 11.3

17
x-man

Vous avez décidé de créer une partition de swap distincte lors de l'installation. Vous ne pouvez pas le redimensionner en ligne - même un redimensionnement hors ligne va prendre un temps considérable et risque d’endommager votre système de fichiers suivant sur/dev/sdc2.

L'option la plus simple pour contourner ce problème consiste à créer une nouvelle partition de swap sur un disque différent que vous n'utilisez pas actuellement (ou que vous pouvez vous permettre de déconnecter pour re-partitionner) ou simplement à utiliser un fichier de swap dans un système de fichiers existant (fourni avec certains mineurs pénalité de performance due à la surcharge du système de fichiers ).

La procédure générale pour ajouter une partition/fichier d'échange:

  • créez une nouvelle partition de type 82h ou un nouveau fichier de 8 Go en utilisant dd if=/dev/zero of=/swapfile bs=1M count=8192
  • l'initialiser en utilisant mkswap /swapfile ou mkswap /dev/sdXX
  • utilisation swapon /swapfile ou swapon /dev/sdXX respectivement pour activer votre nouvel espace d'échange à la volée
  • ajoutez une entrée à/etc/fstab pour vous assurer que votre nouvel espace d'échange est activé au redémarrage

Votre partition d'échange actuelle reste utilisée, vous souhaiterez peut-être vous en débarrasser pour réduire la complexité. Utilisez simplement swapoff /dev/sdc1 pour désactiver son utilisation pour le moment et supprimer la référence dans /etc/fstab

23
the-wabbit

Auriez-vous besoin d'un échange dans ce cas? Je ne sais pas ce que vous utilisez sur votre système, mais j'essaie d'avoir suffisamment de mémoire sur mes serveurs pour éviter de permuter complètement ... (je l'ai, mais uniquement en tant que sécurité intégrée, si mon serveur commence à permuter, j'achète plus de mémoire ...)

3
AnalyticaL

Vous devez repartitionner le disque. Si je me souviens bien de déplacer le début de la partition Linux n'est pas pris en charge dans Parted, mais vous pouvez également réduire votre système de fichiers Linux et votre partition, puis effectuer un autre échange à la fin de votre disque. Vous ne pouvez pas le faire lorsque le système est en ligne.

Une autre solution consiste à utiliser un gros fichier comme swap. (Je ne sais pas si c'est une bonne idée de nos jours.)

2
Stone

1 Désactivez tous les processus de swap

Sudo swapoff -a

2 Redimensionnez le swap

Sudo dd if=/dev/zero of=/swapfile bs=1G count=8

if = input file
of = output file
bs = block size
count = multiplier of blocks

3 Rendre le fichier utilisable comme swap

Sudo mkswap /swapfile

4 Activez le fichier d'échange

Sudo swapon /swapfile

5 Vérifiez la quantité de swap disponible

grep SwapTotal /proc/meminfo
0