Créer un fichier d'échange sur une machine Linux en cours d'exécution

8

Les sites Web de notre entreprise viennent de passer d'un hôte partagé à un VDS, car la société d'hébergement prévoit de retirer le ou les serveurs d'hébergement partagé qui ne sont pas complètement fiables.

Le VDS ne dispose que de 256 Mo de RAM et héberge quelques sites, tous sauf un sont des sites statiques très simples avec seulement quelques pages et servent ensemble moins de 20 à 30 visiteurs par jour.

Notre site principal, qui exécute une version quelque peu personnalisée d'OSCommerce, est également à faible trafic (rarement plus d'une dizaine d'utilisateurs simultanés) mais nécessite MySQL. Malheureusement, depuis le déplacement, mysqld continue de planter en raison d'une mémoire insuffisante. J'ai un peu modifié la configuration Apache (pour réduire le nombre de threads) pour faciliter le chargement, mais cela ne fait que contourner le vrai problème.

Le serveur n'a pas d'espace de swap mais il a considérablement plus d'espace disque que ce dont nous avons besoin, donc je pense à utiliser une partie de cet espace pour le swap. Je sais que cela n'aidera pas vraiment la performance mais nous pouvons vivre avec ça.

Comment puis-je créer un fichier d'échange et l'activer pendant que le serveur fonctionne? L'OS est CentOS 5.5 (final) et Linux n'est pas ma langue maternelle.

Mise à jour: pour tous ceux qui pourraient s'interroger sur les résultats, depuis l'implémentation du fichier d'échange tel que décrit par quanta, le serveur n'est pas seulement stable, avec plus de plantages de mysqld, il sert en fait des pages plus rapidement qu'auparavant. Le gain de performance est contraire à ce que j'attendais mais je suis ravi de me tromper dans ce cas.

John Gardeniers
la source

Réponses:

15

En supposant que vous souhaitiez créer un fichier d'échange de 512 Mo:

# dd if=/dev/zero of=/swapfile bs=1024 count=524288

Configurez la zone de swap avec:

# mkswap /swapfile

Activez-le:

# swapon /swapfile

Ajouter à /etc/fstabpour permanent:

echo -e "/swapfile\t\tswap\t\tswap\t\tdefaults\t0 0" >> /etc/fstab

et vérifiez avec free -m.

quanta
la source
Aucun redémarrage requis?
John Gardeniers
3
Bien sûr, pas besoin de redémarrer. Il a été activé avec swapon.
quanta