Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
différence entre vmstat et /sys/block/sda/stat
Envoyé par: oudoubah

J'ai un petit problème d'interprétation entre ce que me dit vmstat et cat /sys/block/sda/stat, concernant les entrées/sorties :

Par exemple :
Citation
vmstat
bi=0
bo=2

Les 4 premiers champs de /sys/block/sda/stat quant à eux ne bougent pas, et ce depuis un bon moment (cela fait plus de 30min que mon serveur travaille, et il n'y aurait pas de lectures selon /sys/block/sda/stat. Je sais par ailleurs que ce serveur répond actuellement à des requêtes http)
Par contre, les 4 champs suivants, eux augmentent (mais le bi de vmstat reste désespéremment à 0)
Le serveur sur lequel je fais ces test ne fait que serveur web.

Qu'il n'y ait que des écritures et pas de lecture, cela semble cohérent.

Mais pourquoi ce bougre de vmstat me dit qu'il y a des écritures? (ou plutôt, qu'est-ce que j'ai mal interprété?)


Pour info :
La documentation officielle du noyau dit ceci :
Field  1 -- # of reads issued
    This is the total number of reads completed successfully.
Field  2 -- # of reads merged, field 6 -- # of writes merged
    Reads and writes which are adjacent to each other may be merged for
    efficiency.  Thus two 4K reads may become one 8K read before it is
    ultimately handed to the disk, and so it will be counted (and queued)
    as only one I/O.  This field lets you know how often this was done.
Field  3 -- # of sectors read
    This is the total number of sectors read successfully.
Field  4 -- # of milliseconds spent reading
    This is the total number of milliseconds spent by all reads (as
    measured from __make_request() to end_that_request_last()).
Field  5 -- # of writes completed
    This is the total number of writes completed successfully.
Field  7 -- # of sectors written
    This is the total number of sectors written successfully.
Field  8 -- # of milliseconds spent writing
    This is the total number of milliseconds spent by all writes (as
    measured from __make_request() to end_that_request_last()).
Field  9 -- # of I/Os currently in progress
    The only field that should go to zero. Incremented as requests are
    given to appropriate request_queue_t and decremented as they finish.
Field 10 -- # of milliseconds spent doing I/Os
    This field is increases so long as field 9 is nonzero.
Field 11 -- weighted # of milliseconds spent doing I/Os
    This field is incremented at each I/O start, I/O completion, I/O
    merge, or read of these stats by the number of I/Os in progress
    (field 9) times the number of milliseconds spent doing I/O since the
    last update of this field.  This can provide an easy measure of both
    I/O completion time and the backlog that may be accumulating.

Quelqu'un pourrait m'aider à comprendre la différence d'informations entre vmstat et le fichier sda/stat?



Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Wednesday 27 February 2008 17:03:10
Répondre     Citer    
Re: différence entre vmstat et /sys/block/sda/stat

{quote=oudoubah]Qu'il n'y ait que des écritures et pas de lecture, cela semble cohérent.[/quote]

Pas forcément pour un serveur Web. Bien sûr, il y a l'écriture des fichiers de log, mais le service des pages statiques (image & javascript par exemple) devrait entraîner de temps à autre des lectures du disque (quand le bout de fichier demandé par un appel système comme read n'est pas dans le cache). En outre, si c'est un serveur Web avec plein de PHP que tu ne connais pas, certains de ces PHP pourraient aussi lire et écrire sur le disque (j'imagine par exemple du PHP utilisant un fichier indexé GDBM au lieu d'une base MySQL pour des raisons de performance ou de commodité).

Pour le reste de la question, je ne sais pas vraiment répondre. Si tu veux freiner les ardeurs d'entrée/sortie de certains processus, ionice peut être utile.


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 28 February 2008 07:17:46
Répondre     Citer    
Re: différence entre vmstat et /sys/block/sda/stat
Envoyé par: oudoubah

Le serveur web ne délivre que des pages statiques, et la majorité de la ram utilisée l'est en tant que cache. C'est pour ça que le fait qu'il n'y ait presque pas d'écriture sur le disque n'est, dans mon cas précis, pas perturbant. (Mais tu ne peux pas non plus connaitre mon archi ;-) )

Merci pour ionice, je ne le connaissais pas. Encore un outil qui peut s'avérer très utile, mais nécessaire que dans de rares occasions.


Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Thursday 28 February 2008 17:23:29
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
différence entre vmstat et /sys/block/sda/stat
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons