mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-10 07:39:25 -04:00
108 lines
5.4 KiB
Plaintext
108 lines
5.4 KiB
Plaintext
The following are demonstrations of the hotuser DTrace program.
|
|
|
|
|
|
Here, hotuser is run on a test program called "dofuncs", which is hard coded
|
|
to spend half its time in delta(), a third in beta() and a sixth in alpha().
|
|
|
|
# ./hotuser -c ./dofuncs
|
|
Sampling... Hit Ctrl-C to end.
|
|
^C
|
|
FUNCTION COUNT PCNT
|
|
dofuncs`alpha 511 16.5%
|
|
dofuncs`beta 1029 33.3%
|
|
dofuncs`delta 1552 50.2%
|
|
|
|
hotuser has accurately sampled which user-level functions are on the CPU,
|
|
producing a report of the expected breakdown. The hottest user-level function
|
|
is delta(), which was sampled 1552 times - 50.2% of the total samples.
|
|
|
|
|
|
|
|
Now hotuser is run on gunzip, to find which functions are most often
|
|
on the CPU,
|
|
|
|
# ./hotuser -c 'gunzip contents.gz'
|
|
Sampling... Hit Ctrl-C to end.
|
|
|
|
FUNCTION COUNT PCNT
|
|
libc.so.1`_free_unlocked 1 0.1%
|
|
gunzip`unzip 1 0.1%
|
|
ld.so.1`strcmp 1 0.1%
|
|
gunzip`inflate_dynamic 1 0.1%
|
|
libc.so.1`_write 1 0.1%
|
|
gunzip`write_buf 1 0.1%
|
|
gunzip`0x2d990 2 0.3%
|
|
libc.so.1`write 2 0.3%
|
|
gunzip`0x2d994 2 0.3%
|
|
ld.so.1`rtld_db_preinit 3 0.4%
|
|
gunzip`0x2d98c 7 0.9%
|
|
gunzip`huft_build 9 1.2%
|
|
libc_psr.so.1`memcpy 138 18.5%
|
|
gunzip`inflate_codes 233 31.2%
|
|
gunzip`updcrc 344 46.1%
|
|
|
|
This shows that updcrc() was sampled 344 times, and 46.1% of the total
|
|
samples.
|
|
|
|
|
|
|
|
A -l option will provide a breakdown on libraries only. hotuser
|
|
is run on gzip to show library usage only,
|
|
|
|
# ./hotuser -lc 'gzip contents'
|
|
Sampling... Hit Ctrl-C to end.
|
|
|
|
LIBRARY COUNT PCNT
|
|
libc.so.1 2 0.0%
|
|
libc_psr.so.1 37 0.9%
|
|
gzip 4113 99.1%
|
|
|
|
This shows that code in the gzip binary itself was on the CPU 99.1% of
|
|
the sample times, with libc_psr.so.1 code on the CPU 0.9% of the time.
|
|
|
|
|
|
|
|
The following shows library usage of mozilla. The pgrep command is used to
|
|
match the most recent PID of mozilla-bin.
|
|
|
|
# ./hotuser -lp `pgrep -n mozilla-bin`
|
|
Sampling... Hit Ctrl-C to end.
|
|
^C
|
|
LIBRARY COUNT PCNT
|
|
libplds4.so 1 0.1%
|
|
libappcomps.so 1 0.1%
|
|
libi18n.so 1 0.1%
|
|
libuconv.so 1 0.1%
|
|
libpref.so 1 0.1%
|
|
libblueprint.so 1 0.1%
|
|
libz.so.1 2 0.2%
|
|
libcaps.so 2 0.2%
|
|
libXrender.so.1 2 0.2%
|
|
libimglib2.so 2 0.2%
|
|
libXft.so.2 3 0.3%
|
|
libCrun.so.1 3 0.3%
|
|
libdocshell.so 3 0.3%
|
|
libplc4.so 4 0.4%
|
|
libgtk-x11-2.0.so.0.400.9 5 0.5%
|
|
libjsd.so 5 0.5%
|
|
libX11.so.4 5 0.5%
|
|
libnecko.so 8 0.9%
|
|
libwidget_gtk2.so 9 1.0%
|
|
libgkgfx.so 13 1.4%
|
|
libglib-2.0.so.0.400.1 14 1.5%
|
|
libgfx_gtk.so 18 2.0%
|
|
libnspr4.so 20 2.2%
|
|
libxpconnect.so 22 2.4%
|
|
libgdk-x11-2.0.so.0.400.9 23 2.5%
|
|
libgobject-2.0.so.0.400.1 25 2.7%
|
|
libhtmlpars.so 27 3.0%
|
|
libfontconfig.so.1 41 4.5%
|
|
libxpcom.so 49 5.4%
|
|
mozilla-bin 55 6.0%
|
|
libmozjs.so 80 8.8%
|
|
libc.so.1 115 12.6%
|
|
libgklayout.so 352 38.6%
|
|
|
|
This shows that 352 samples found code from libgklayout.so running, which
|
|
was 38.6% of the samples.
|