Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
linux:memory [17-09-2014 15:46] edmc73 [Comportement de la swap] |
linux:memory [19-08-2020 14:54] (Version actuelle) edmc73 [Quels fichiers en RAM Cache] |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
Réduire cette valeur peut améliorer considérablement les performances du système. | 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 | 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 | + | Pour quelle soit prise en compte lors du reboot de la machine, il faut créer un fichier |
+ | vi / | ||
+ | et mettez dans ce fichier | ||
vm.swappiness=5 | vm.swappiness=5 | ||
Ligne 26: | Ligne 35: | ||
Pour afficher la swap en cours | Pour afficher la swap en cours | ||
swapon -s | 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 | Rajouter de la swap grâce à un fichier de swap. Nous allons créer un fichier de 2Go | ||
Ligne 38: | Ligne 49: | ||
Pour supprimer ce fichier de la swap | Pour supprimer ce fichier de la swap | ||
swapoff /file.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 | ||
Ligne 45: | Ligne 79: | ||
Commande pour vider le cache de la mémoire | Commande pour vider le cache de la mémoire | ||
echo 3 > / | echo 3 > / | ||
+ | |||
+ | ===== Qui utilise le swap ===== | ||
+ | |||
+ | Ligne de commande à adapter si besoin | ||
+ | for file in / | ||
+ | Avec des tabulations comme séparateur | ||
+ | for file in / | ||
+ | |||
+ | Une variante qui permet de récupérer l'Uid et de le résoudre pour avoir le nom de l' | ||
+ | for file in / | ||
+ | |||
+ | ===== Quels fichiers en RAM Cache ===== | ||
+ | |||
+ | Utilisez ce script => https:// | ||
+ | |||
+ | **vmtouch** permet d' | ||
+ | |||
+ | |||
+ | Exemple, ici on voit que le fichier n'est pas en cache | ||
+ | |||
+ | < | ||
+ | [root@xt ~]# vmtouch -v / | ||
+ | / | ||
+ | [ ] 0/5 | ||
+ | |||
+ | | ||
+ | | ||
+ | Resident Pages: 0/5 0/20K 0% | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Maintenant, on peut le forcer à se mettre en cache | ||
+ | < | ||
+ | [root@xt ~]# vmtouch -vt / | ||
+ | / | ||
+ | [OOOOO] 5/5 | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | On vérifie | ||
+ | < | ||
+ | [root@xt ~]# vmtouch -v / | ||
+ | / | ||
+ | [OOOOO] 5/5 | ||
+ | |||
+ | | ||
+ | | ||
+ | Resident Pages: 5/5 20K/ | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Commande pour afficher la liste des fichiers d'un répertoire qui sont en RAM | ||
+ | vmtouch -v * | grep -B 1 " | ||
+ | Ou au contraire qui ne sont pas en RAM | ||
+ | vmtouch -v * | grep -B 1 " | ||
+ | |||
+ | |||
+ |