Linux perf kasutamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Alustatud tühja leheküljega
 
Resümee puudub
1. rida: 1. rida:
===Sissejuhatus===


TODO
===Tööpõhimõte===
Linux perf lahendus koosneb
* tuuma perf tugi
* kasutaja perf utiliit
* abistavad skriptid perf utiliidi kasutamise lihtsustamiseks (nt execsnoop)
Kuna Ubuntu operatsioonisüsteemiga on võimalik kasutada erinevaid tuuma versioone ja perf lahenduse tuuma ja userspace osad on omavahel tihedalt seotud, siis jagatakse perf utiliiti nö per tuuma versioon sarnase versiooninumbri pakettidena, nt 2018 kevadel Ubuntu v. 16.04 jaoks
linux-tools-generic - v. 4.4.0
linux-tools-generic-hwe-16.0 - v. 4.13.0
linux-tools-generic-hwe-16.04-edge - v. 4.15.0
===Paigaldamine===
Linux perf nö üldosa paigaldamiseks sobib öelda
# apt-get install linux-tools-generic
mille tulemusena paigaldatakse mitmeid pakette ja tekitatakse failisüsteemi
* programm /usr/bin/perf mida käivitab kasutaja, mis on skript ja leiab nö õige binary faili (/usr/lib/linux-tools-4.15.0-20/perf) automaatselt üles
# dpkg -S /usr/bin/perf
linux-tools-common: /usr/bin/perf
* perf kasutamist lihtsustavad utiliidid (alternatiiv on kopeerida githubist)
# apt-get install perf-tools-unstable
mille tulemusena tekib failisüsteemi
* lingid ja nö pärid perf binary
<pre>
# dpkg -S /usr/lib/linux-tools-4.15.0-20/perf /usr/lib/linux-tools/4.15.0-20-generic/perf
linux-tools-4.15.0-20: /usr/lib/linux-tools-4.15.0-20/perf
linux-tools-4.15.0-20-generic: /usr/lib/linux-tools/4.15.0-20-generic/perf
# ls -ld /usr/lib/linux-tools-4.15.0-20/perf /usr/lib/linux-tools/4.15.0-20-generic/perf
lrwxrwxrwx 1 root root      32 apr  24 07:56 /usr/lib/linux-tools/4.15.0-20-generic/perf -> ../../linux-tools-4.15.0-20/perf
-rwxr-xr-x 1 root root 5549944 apr  24 07:56 /usr/lib/linux-tools-4.15.0-20/perf
</pre>
===Kasutamine - ehe perf===
====Misc====
# perf top -a
===Kasutamine - perf-tools-unstable utiliidid===
====execsnoop====
Execsnoop http://www.brendangregg.com/blog/2014-07-28/execsnoop-for-linux.html jälgib sellised fork'imisi mis jätkuvad exec'iga, nt käivitades nii
<pre>
# execsnoop-perf
Tracing exec()s. Ctrl-C to end.
Instrumenting sys_execve
  PID  PPID ARGS
28288  28284 gawk -v o=1 -v opt_name=0 -v name= -v opt_duration=0 [...]
28289  28287 cat -v trace_pipe
28294  28275 ping moraal.ee
...
</pre>
===Kasulikud lisamaterjalid===
* https://perf.wiki.kernel.org/index.php/Main_Page
* http://www.brendangregg.com/perf.html
* https://baptiste-wicht.com/posts/2011/07/profile-applications-linux-perf-tools.html

Redaktsioon: 11. oktoober 2025, kell 16:31

Sissejuhatus

TODO

Tööpõhimõte

Linux perf lahendus koosneb

  • tuuma perf tugi
  • kasutaja perf utiliit
  • abistavad skriptid perf utiliidi kasutamise lihtsustamiseks (nt execsnoop)

Kuna Ubuntu operatsioonisüsteemiga on võimalik kasutada erinevaid tuuma versioone ja perf lahenduse tuuma ja userspace osad on omavahel tihedalt seotud, siis jagatakse perf utiliiti nö per tuuma versioon sarnase versiooninumbri pakettidena, nt 2018 kevadel Ubuntu v. 16.04 jaoks

linux-tools-generic - v. 4.4.0
linux-tools-generic-hwe-16.0 - v. 4.13.0
linux-tools-generic-hwe-16.04-edge - v. 4.15.0

Paigaldamine

Linux perf nö üldosa paigaldamiseks sobib öelda

# apt-get install linux-tools-generic

mille tulemusena paigaldatakse mitmeid pakette ja tekitatakse failisüsteemi

  • programm /usr/bin/perf mida käivitab kasutaja, mis on skript ja leiab nö õige binary faili (/usr/lib/linux-tools-4.15.0-20/perf) automaatselt üles
# dpkg -S /usr/bin/perf 
linux-tools-common: /usr/bin/perf
  • perf kasutamist lihtsustavad utiliidid (alternatiiv on kopeerida githubist)
# apt-get install perf-tools-unstable

mille tulemusena tekib failisüsteemi

  • lingid ja nö pärid perf binary
# dpkg -S /usr/lib/linux-tools-4.15.0-20/perf /usr/lib/linux-tools/4.15.0-20-generic/perf
linux-tools-4.15.0-20: /usr/lib/linux-tools-4.15.0-20/perf
linux-tools-4.15.0-20-generic: /usr/lib/linux-tools/4.15.0-20-generic/perf

# ls -ld /usr/lib/linux-tools-4.15.0-20/perf /usr/lib/linux-tools/4.15.0-20-generic/perf
lrwxrwxrwx 1 root root      32 apr   24 07:56 /usr/lib/linux-tools/4.15.0-20-generic/perf -> ../../linux-tools-4.15.0-20/perf
-rwxr-xr-x 1 root root 5549944 apr   24 07:56 /usr/lib/linux-tools-4.15.0-20/perf

Kasutamine - ehe perf

Misc

# perf top -a

Kasutamine - perf-tools-unstable utiliidid

execsnoop

Execsnoop http://www.brendangregg.com/blog/2014-07-28/execsnoop-for-linux.html jälgib sellised fork'imisi mis jätkuvad exec'iga, nt käivitades nii

# execsnoop-perf 
Tracing exec()s. Ctrl-C to end.
Instrumenting sys_execve
   PID   PPID ARGS
 28288  28284 gawk -v o=1 -v opt_name=0 -v name= -v opt_duration=0 [...]
 28289  28287 cat -v trace_pipe
 28294  28275 ping moraal.ee
 ...

Kasulikud lisamaterjalid