Comment mesurer le thrashing de disque sur Linux?

12

Comment observer et mesurer avec précision la quantité d'utilisation et d'activité de la mémoire virtuelle sous Linux? Je sais qu'il y a vmstat, mais comment interpréter les résultats? Ou quoi de mieux?

randomx
la source

Réponses:

12

"vmstat" vous dira ce que vous voulez savoir. Les colonnes "si" et "so" vous indiquent la quantité de mémoire permutée en entrée / sortie par intervalle. "Vmstat" et "free" peuvent vous montrer la répartition de l'utilisation de la mémoire. Plutôt que de copier et coller le texte, ma réponse ici vous donne un aperçu de ce que ces outils rapportent.

Evan Anderson
la source
parfait. J'aurais dû chercher vmstat. Merci!
randomx
6

Si la raclée est causée par un échange, cette ligne donne un bon nombre:

vmstat 10 2 | tail -n1 | awk  '{print $7*$8}'

Si l'ordinateur échange, cela peut être OK. Si l'ordinateur échange, cela peut aussi être OK. Mais si l'ordinateur est à la fois échangé et échangé, c'est mauvais.

Ole Tange
la source
3

Un autre outil utile est atop, qui donne des vues plus détaillées des E / S que l'ancien haut simple.

Brian C. Lane
la source
1

Avez-vous parcouru la page de manuel?

man vmstat

Si vous avez besoin d'informations historiques, j'utilise kSar . Il a la capacité supplémentaire utile de pouvoir être exécuté sur une machine distante et de collecter des informations directement via ssh.

Greeblesnort
la source
0

L'un des grands dilemmes Linux est de savoir quel outil utiliser. Je suppose que c'est l'une des raisons pour lesquelles j'ai écrit collectl il y a plus de 5 ans. Il combine le meilleur de la plupart des autres outils pour combiner à peu près tous les autres en un seul. En fait, il fournit des formats de sortie alternatifs, donc si vous aimez la sortie vmstat, vous exécutez simplement "collectl --vmstat". Alors pourquoi ne pas simplement lancer vmstat? C'est facile - collectl peut également enregistrer des données comme sar mais les lire pour ressembler à vmstat! Il le lira même dans un format que vous pouvez directement alimenter à gnuplot (voir collectl-utils) ou vous pouvez le charger dans exel ou même RRD si vous voulez suivre cette voie.

-marque


la source