oprofile in whezzy gesucht

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

oprofile in whezzy gesucht

Beitrag von alexander_ro » 14.12.2012 11:45:27

Hi Mädels ... Jungs :)

Ich benutze bei der suche nach sinnlos verbrauchter Rechenzeit gerne den oprofiler. In Squeeze gibts den auch als gleich namiges Paket. In Wheezy habe ich den leider nicht mehr gefunden.

Gibts den nicht mehr oder wurde das Paket umbenannt?

Grüße
Alexander

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: oprofile in whezzy gesucht

Beitrag von Saxman » 14.12.2012 11:55:35

"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Re: oprofile in whezzy gesucht

Beitrag von alexander_ro » 14.12.2012 12:36:54

Schade drum sehr praktisch das Teil. :(

Kennt jemand was vergleichbares?

[Edit]
Das habe ich noch gefunden:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653168

Da ist die rede von "perf" ich kenne es nicht aber vielleicht taugt s ja als Ersatz.
[/Edit]

[Edit nochmal :idea:]
perf ist bestandteil des Pakets: linux-base
Was ich nicht verstehe ist der benötigt linux-tools-3.2 das aber kein abhängiges Paket ist. :?:
[/Edit]

alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Re: oprofile in whezzy gesucht

Beitrag von alexander_ro » 15.12.2012 14:29:06

Keine Ahnung wie die darauf kommen das "perf" ein Ersatz für den "oprofile" sein könnte. Der oprofile liefert eine Statistik über die Laufzeit der Programme bis auf Statement Ebene. Was sehr praktisch ist wenn man die Performance verschiedener Implementierungen vergleichen will. Ich konnte bei dem "perf" nichts finden das annähernd vergleichbar ist. So wie es für mich aussieht ist das ein Tool um die Performance des Kernels zu messen aber nicht wirklich für normale Anwendungen. Es ist aber halt leider auch wenig an Doku zu dem Teil zu finden kann also gut sein das ich irgendwas übersehen habe.

Ich werde mir mal den Sourcecode von "oprofile" besorgen und den selber bauen.

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: oprofile in whezzy gesucht

Beitrag von nudgegoonies » 31.05.2013 13:30:38

Man kann die Version 0.9.8 aus dem Ubuntu PPA compilieren. Dann hat man OProfile richtig paketiert. Ich brauche es wegen der Java Unterstützung. Ansonsten habe ich mit Perf schon intensiv gearbeitet und da ging es um systemweites Profiling (von nicht Java Programmen). Es gibt auch auch einen Modus für einzelne Anwendungen wenn ich mich richtig erinnere. Bei OProfile und Perf tut sich allerdings sehr viel. OProfile unterstützt mittlerweile auch die perf-event Schnittstelle des Kernels wie ich lesen konnte. Perf ist das Standardtool was zum Kernel gehört, welches auf diese Schnittstelle aufbaut. Es gab allerdings sehr wenig Analysetools welche die Daten aufbereiten konnten. Da musste ich diverse kleine Scripte und Tools selber schreiben. Für OProfile gibt es dagegen jede Menge.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Re: oprofile in whezzy gesucht

Beitrag von alexander_ro » 31.05.2013 13:59:57

Danke für die Info. Das mit dem Paket von Ubuntu probier ich aus. Zuletzt habe ich mir den Source-Code von der Projektseite geholt.

Ich brauche die Messungen für C/C++ Programme. Mit perf hatte ich das Problem das er nur für Assembler Befehle Werte anzeigt. Man kann zwar den C++ Sourcecode einblenden lassen. Wenn man aber wissen will wie lange eine Schleife oder anderes C++ Statment läuft muss man selber die Werte der zugehörigen Assembler Befehle selber zusammen rechnen. Bei oprofile bekommt man die schon fertig zusammen gerechnet für die einzelnen C++ Zeilen.

Für die Auswertung selber Scripte schreiben habe ich nicht ausprobiert bisher. Hättest Du da vielleicht ein kleines Beispiel wie sowas geht. Das klingt interessant ... :)

Gerne auch einen Tipp mit welchen Parametern Du die Tools aufgerufen hast.

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: oprofile in whezzy gesucht

Beitrag von nudgegoonies » 31.05.2013 14:52:17

Jetzt verstehe ich was Du genau benötigst. Bei den annotations werden Dir meine Scripte leider nicht hilfreich sein, da ich nur nach Methoden aufschlüsseln musste. Meine Scripte können halt die Daten nach den größten Eventfressern (mir ging es nicht um Cycles sondern um Cache und TLB) sortieren, zwei Durchläufe vergleichen und generieren mit B.I.R.T Balkendiagramme. Du bräuchtest ein Programm, dass Dir die ganzen Annotations für frei wählbare Bereiche oder Codeblöcke im Quellcode auswertet.

P.S.
Die Parameter kann ich am Wochenende mal raussuchen.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: oprofile in whezzy gesucht

Beitrag von Cae » 31.05.2013 20:04:14

Vielleicht kann Debianvalgrinds callgrid in Kombination mit Debiankcachegrind eine vergleichbare Loesung sein:

Code: Alles auswählen

$ valgrind --tool=callgrind ./foo
...
$ kcachegrind callgrind*
-- letzteres ist 'ne GUI, die u.A. auch die Laufzeit von Code-Passagen anzeigt. Ich hab' da vorhin mal rumprobiert und es sieht ganz nett und funktionell aus.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Re: oprofile in whezzy gesucht

Beitrag von alexander_ro » 31.05.2013 21:54:54

@nudgegoonies Ja die Summe der Events die halt zu einem bestimmten Statement von C oder C++ gehört. Dann bekommt man eigentlich alles was man braucht. Weil dann beim Call einer Funktion die Summe der in der Funktion angefallenen Events zu lesen sind. So findet man sehr schnell lang Läufer und hat aber auch Detail Infos wenn man in die Funktion schaut. Da ich ja auf ebene der Hochsprache optimiere sind die einzelnen Assembler Befehle nur ganz selten wirklich interessant. Irgendwie bekomme ich perf aber nicht dazu solche Summen für die Hochsprachen Statements zu berechnen.

Schon mal danke für die Suche nach den Parametern. :)

@Cae Den valgrind und kcachegrind kenne ich auch. Der Nachteil ist das der den Programm lauf auf einer virtuellen CPU macht. Dadurch wird das Programm sehr langsam. Bei komplexen Programmen kann das dann schon mal länger Dauern als man freiwillig Warten will ...

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: oprofile in whezzy gesucht

Beitrag von Cae » 31.05.2013 21:57:16

alexander_ro hat geschrieben:Der Nachteil ist das der den Programm lauf auf einer virtuellen CPU macht. Dadurch wird das Programm sehr langsam.
Aha! Aufgefallen ist mir das irgendwo schon, aber ich hatte das mehr auf den Unterschied zwischen gcc -g und -O2 zurueck gefuehrt.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: oprofile in whezzy gesucht

Beitrag von nudgegoonies » 23.06.2013 11:05:50

Sorry, zu viel zu tun für die Thesis:

Code: Alles auswählen

perf record -a -e EVENT,EVENT,EVENT,EVENT -o DATEN.DAT ./ANWENDUNG
perf report -i DATEN.DAT -n --stdio > REPORT.TXT
Wie gesagt, ich brauche es systemweit.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

Antworten