2010-10-05 25 views
1

J'utilise xen hypervisor. J'essaye d'obtenir le compte d'IO des machines virtuelles fonctionnant au-dessus de l'hyperviseur de xen. Est-ce que quelqu'un peut me suggérer un moyen ou un outil pour que l'IO compte? J'ai essayé d'utiliser xenmon et virt-top. Virt-top ne donne aucune valeur et xenmon affiche toujours 0. Toutes les suggestions pour obtenir le nombre d'appels en lecture ou en écriture effectués par une machine virtuelle ou la bande passante en lecture et en écriture (Block IO) d'une machine virtuelle particulière. Merci !Obtenir le nombre d'E/S

Cordialement, Sethu

+0

Peut-être que cela devrait être déplacé vers serverfault ou superutilisateur? –

+0

@TomMD - Non, je pense que c'est approprié pour ici. Il demande comment obtenir cette information par programme. –

Répondre

0

Vous pouvez lire ceci directement à partir de sysfs sur la plupart des systèmes. Vous voulez ouvrir le répertoire suivant:

/sys/devices/xen-backend 

Et chercher des répertoires commençant par vbd-

La nomenclature est:

vbd-{domain_id}-{vbd_id}/statistics 

A l'intérieur, vous trouverez ce dont vous avez besoin, ce qui est:

  • br_req - Nombre de demandes de lecture de bloc
  • oo_req - Nombre de « de » demandes (pas de place dans la liste pour desservir toute demande donnée)
  • rd_req - Nombre de demandes de lecture
  • rd_sect - Nombre de secteurs lire
  • wr_sect - Nombre de secteurs écrits

Le br_req sera un nombre total de choses comme les barrières d'écriture, avorte, etc.

note, pour que cela fonctionne, le noyau doit être dit d'exporter des attributs Xen via sysfs, mais la plupart Xen les paquets ont ceci activée. En outre, l'emplacement dans sysfs peut être différent avec les versions antérieures de Xen.

0

Avez-vous essayé xentop?
Il y a aussi bwm-ng (vérifiez votre distribution). Il montre l'utilisation des blocs par disque (réel/virtuel). Si vous connaissez le nom du disque virtuel associé à la machine virtuelle, vous pouvez utiliser bwm-ng pour obtenir ces statistiques.