Dimanche 7 novembre 2010 7 07 /11 /Nov /2010 17:46

 

Comment faire avec Dtrace pour calculer le nombre de processus initié par un démon sur une période donnée ? Deux providers répondent à cette problématique : le provider profile et le provider tick. La différence entre ces deux providers est la suivante : profile se déclenche à chaque intervalle défini sur chaque CPU alors que le provider tick se déclenche que sur une seule CPU à chaque intervalle (La CPU concernée peut changer).

 

1er exemple avec le provider tick. J'utilise le démon sshd (son pid correspond à 449).

# cat timer-tick.d
#!/usr/sbin/dtrace -qs

proc:::create
/ pid == 449 /
{
        @counts["sshd fork"] = count();
}

tick-1m
{
        exit(0);
}

 

On vérifie le résultat

# ptime ./timer-tick.d
sshd fork  3

real     1:00.473
user        0.205
sys         0.277

 

2ème exemple avec le provider profile. J'utilise toujours le démon sshd (toujours le même pid).

# cat timer-tick.d
#!/usr/sbin/dtrace -qs

 

proc:::create
/ pid == 449 /
{
        @counts["sshd fork"] = count();
}

profile-1m

{
        exit(0);
}

 

On vérifie de nouveau le résultat

# ptime ./timer-profile.d
sshd fork  5

real     1:00.477
user        0.206
sys         0.261

 

Cet article est un petit clin d'oeil à une question posée par un collègue. 

Par gloumps - Publié dans : dtrace
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Présentation

Informations personnelles

  • Passionné d'informatique, je travaille actuellement comme expert système Solaris. Vous trouverez plus de renseignements à mon sujet sur mon profil Linkedin.

Flux RSS

  • Flux RSS des articles

Recherche

Calendrier

Juin 2012
L M M J V S D
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
<< < > >>
Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Signaler un abus - Articles les plus commentés