iostat nécessite beaucoup de temps pour revenir

J'ai un serveur Solaris 10 avec beaucoup de disques SAN (près 1000 Pour toutes les manières).

iostat -En

retourner va bien 5 minutes. Y a-t-il un moyen de trouver la cause du retard? La ferme n'a pas beaucoup aidé.
Invité:

Catherine

Confirmation de:

dtrace Certainement, l'outil que vous recherchez. Vous pouvez utiliser un script relativement simple pour savoir quel appel système prend le plus.

Quelque chose comme ca:

#!/usr/sbin/dtrace -s

syscall:::entry
/execname == "iostat"/
{
self->ts = vtimestamp;
}

syscall:::return
/self->ts/
{
@[probefunc] = sum(vtimestamp - self->ts);
@["- all syscalls -"] = sum(vtimestamp - self->ts);
self->ts = 0;
}

profile:::tick-1sec
/i++ >= 59/
{
exit(0);
}

De plus, vous pouvez utiliser
http://www.brendangregg.com/dtracetoolkit.html
, Peut-être que vous trouverez quelque chose de prêt et plus approprié là-bas.

Une fois que vous définissez le défi du système bloqué, vous pouvez effectuer des recherches supplémentaires autour de lui.

Pour répondre aux questions, connectez-vous ou registre