Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
linux:memory [17-09-2014 11:56] edmc73 créée |
linux:memory [02-04-2017 10:57] edmc73 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Mémoire, RAM, SWAP ====== | ====== Mémoire, RAM, SWAP ====== | ||
- | FIXME : Je pose des commandes en vrac,je détaillerai plus tard | ||
+ | ===== Comportement de la swap ===== | ||
+ | |||
+ | La variable swappiness permet de faire varier l’utilisation de la mémoire vive par rapport à la swap. Par défaut, cette variable est fixée à 60 sur une échelle qui va de 0 à 100. | ||
+ | |||
+ | Plus cette valeur est élevée plus le système va avoir tendance à swapper au détriment de l’utilisation de la mémoire vive. | ||
+ | |||
+ | Réduire cette valeur peut améliorer considérablement les performances du système. | ||
+ | |||
+ | * vm.swappiness = 0 – Linux utilisera le HD en dernière limite pour éviter un manque de RAM. | ||
+ | * vm.swappiness = 60 – Valeur par défaut de Linux : à partir de 40% d’occupation de Ram, le noyau écrit sur le disque. | ||
+ | * vm.swappiness = 100 – tous les accès se font en écriture dans la SWAP. | ||
+ | |||
+ | Pour vérifier la valeur actuelle | ||
+ | cat / | ||
+ | |||
+ | Dans mon cas j'ai décidé de mettre swappiness à , la commande suivante applique cette valeur instantanément | ||
sysctl -w vm.swappiness=5 | sysctl -w vm.swappiness=5 | ||
+ | Pour quelle soit prise en compte lors du reboot de la machine, il faut rajouter la ligne suivante dans **/ | ||
+ | vm.swappiness=5 | ||
+ | Afin de décharger le contenu de la swap dans votre ram, il faut désactiver la swap puis la réactiver avec la commande suivante | ||
swapoff -av && swapon -av | swapoff -av && swapon -av | ||
+ | |||
+ | Vous pourrez suivre l' | ||
+ | watch free | ||
+ | Vous verrez se vider la swap et se remplir la ram jusqu' | ||
+ | |||
+ | ===== Gérer la swap ===== | ||
+ | |||
+ | Pour afficher la swap en cours | ||
+ | swapon -s | ||
+ | |||
+ | ==== Créer une swap dans un fichier ==== | ||
+ | |||
+ | Rajouter de la swap grâce à un fichier de swap. Nous allons créer un fichier de 2Go | ||
+ | dd if=/ | ||
+ | Nous formatons ce fichier avec le système swap | ||
+ | mkswap -c / | ||
+ | Il est nécessaire de mettre les droits adéquates | ||
+ | chmod -v 600 /file.swap | ||
+ | On ajoute ce fichier à la swap de façon instantanée | ||
+ | swapon /file.swap | ||
+ | |||
+ | Pour supprimer ce fichier de la swap | ||
+ | swapoff /file.swap | ||
+ | |||
+ | ==== Créer une swap en RAM ==== | ||
+ | Ca peut sembler bizarre mais on peut utiliser la RAM pour y stocker un fichier de swap. | ||
+ | |||
+ | Tout d' | ||
+ | #losetup -f | ||
+ | /dev/loop0 | ||
| | ||
+ | Créer un fichier dans la RAM | ||
+ | cd /dev/shm | ||
+ | dd if=/ | ||
+ | |||
+ | On associe le fichier au device loop | ||
+ | losetup /dev/loop0 / | ||
+ | |||
+ | On formate notre device | ||
+ | mkswap /dev/loop0 | ||
+ | |||
+ | On monte le device en swap | ||
+ | swapon /dev/loop0 | ||
+ | |||
+ | Pour vérifier | ||
+ | swapon -s | ||
+ | |||
+ | |||
+ | |||
+ | ===== Cache ===== | ||
+ | |||
+ | Commande pour vider le cache de la mémoire | ||
echo 3 > / | echo 3 > / |