2010-07-04 12 views
1

J'essaie de profiler mon logiciel (sous Linux) avec oprofile. Mon logiciel comprend à la fois l'espace utilisateur et le module noyau. D'abord mon doute est ce que fait l'option --separate = kernel? Quelle sera la différence en cours d'exécution sans cette option? J'ai essayé de le voir mais je n'ai pas trouvé de différence. Pourriez-vous s'il vous plaît poster un exemple?Douteux de base dans Oprofile

Impossible de profiler un module noyau sans l'option --seperate = kernel?

Merci, Bala

Répondre

2

En oprofile lorsqu'il est utilisé avec option --seperate = noyau, il sépare le noyau et les modules noyau par application. --seperate = 'library' sépare les exemples de l'objet lié dynamiquement par application. Le noyau, objet lié dynamiquement, n'est pas spécifique à l'application que nous voulons profiler seul.

Mais en même temps, notre application passe beaucoup de temps en eux. Ainsi, --seperate permet d'obtenir les échantillons du point de vue de l'application que nous sommes intéressés par le profilage. Il peut également donner des échantillons basés sur des threads individuels aussi.

Le noyau peut être profilé en fournissant l'option --vmlinux à opcontrol.
Ex: - opcontrol --vmlinux =/boot/vmlinux-2.6.27.23-0.1-preempt
--seperate est une option supplémentaire qui nous permet de voir les échantillons à différentes résolutions.