[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Performance RAID instable



Le 27/09/2017 à 13:00, Seb a écrit :

Pour finir, je sais obtenir un retour a des performances normales en vidant le cache :
sync ; echo 2 > /proc/sys/vm/drop_caches
(...)
J'ai utilisé "/proc/sys/vm/drop_caches" comme mot-clef dans Google. La ligne de commande que tu indiques demande au noyau de libérer la RAM qu'il avait allouée pour mettre en cache les fichiers et répertoires qu'il a lus.

Plus exactement, la valeur 2 ne vide que les caches de "dentries" (directory entries) et d'inodes, c'est-à-dire les méta-données associées aux répertoires et fichiers, mais pas le cache du contenu des fichiers.

La valeur affichée dans la colonne "cache" par la commande free ne prend en compte que le cache du contenu des fichiers, le "pagecache" et pas les caches de dentries et d'inodes. Le pagecache est vidé par la valeur 1. La valeur 3 vide les deux.

C'est très bizarre que ceci influence la vitesse de nos tableaux RAID car cette portion de RAM est supposée être réutilisable dès qu'un besoin réel se présente.

Et surtout, ces structures de données sont liées aux systèmes de fichiers montés et non aux périphériques bloc tels que les disques ou ensembles RAID.

En outre, sur une machine qui est actuellement coincée à des débits de 1 Mo/s, j'ai:

~>free -m
              total        used        free      shared  buff/cache available
Mem:           7980         773        6125         172        1080   6278
Swap:          3813           0        3813

Sur 8 Go de RAM, plus de 6 Go sont disponibles. On ne peut pas qu'il y ait un manque.

Pour information, la mémoire occupée par les caches de dentries et d'inodes est comptée dans la colonne "used". Elle fait partie du "slab", dont on peut voir la taille dans /proc/meminfo et le détail dans /proc/slabinfo (chercher les colonnes contenant "inode" et "dentry").

L'information m'a peut-être échappée, mais je n'ai pas vu dans les messages si des tests de débit comparatifs pour déterminer l'étendue précise du problème avaient été faits :
- en lecture dans le système de fichiers
- en écriture dans le système de fichiers
- en lecture brute dans le périphérique bloc
- en écriture brute dans le périphérique bloc (attention : détruit le système de fichiers)
- même chose dans une partition classique non RAID
- même chose avec d'autres types de systèmes de fichiers


Reply to: