(→Explain statistics: change we will commit soon) |
|||
Line 18: | Line 18: | ||
<!-- | |||
=== Use scomes.py wrapper === | === Use scomes.py wrapper === | ||
Line 45: | Line 46: | ||
scomes.stp: ----------------------------------- | scomes.stp: ----------------------------------- | ||
</pre> | </pre> | ||
</del> | |||
--> | |||
=== Run scomes.stp manually === | === Run scomes.stp manually === |
Revision as of 15:01, 23 June 2009
To be done. Please see Features/PowerManagement for now.
scomes
Goal: Measure amount of system resources consumed by the program.
Download: http://fedorapeople.org/~plautrba/scomes
Usage
Prepare your system:
# yum install systemtap # debuginfo-install kernel
Run scomes.stp manually
Binary you want to measure must be named uniquely (or ensure there are no other binaries with same name running on the system).
Now run the scomes with the command-line option being name of the binary and then run the binary:
# scomes.stp my_binary_3d4f8 # wait untill it starts # ./my_binary_3d4f8
scomes will start to output statistics each 5 seconds and once binary ends, it will output final statistic like this:
Monitored execname: my_binary_3d4f8 Number of syscalls: 0 Kernel/Userspace ticks: 0/0 Read/Written bytes: 0 Transmitted/Recived bytes: 0 Pooling syscalls: 0 SCORE: 0 ----------------------------------- Monitored execname: my_binary_3d4f8 Number of syscalls: 3716 Kernel/Userspace ticks: 34/339 Read/Written bytes: 446282 Transmitted/Recived bytes: 16235 Pooling syscalls: 2 SCORE: 4479767 ----------------------------------- LAST RESULTS: ----------------------------------- Monitored execname: my_binary_3d4f8 Number of syscalls: 4529 Kernel/Userspace ticks: 44/446 Read/Written bytes: 454352 Transmitted/Recived bytes: 22003 Pooling syscalls: 3 SCORE: 4566459 ----------------------------------- QUITTING -----------------------------------
Note: on F11 please call scomes with stap --skip-badvars scomes.stp
.
Explain statistics
- Monitored execname
- name of the binary (passed as a command-line argument)
- Number of syscalls
- number of all syscalls performed by the binary
- Kernel/Userspace ticks
- count of the processor ticks binary uses in the kernel or in userspace respectively (
kticks
anduticks
variables) - Read/Written bytes
- sum of the read and written bytes from the file binary does (
reads, writes
variables) - Transmitted/Recived bytes
- sum of the read and written bytes from the network binary does (
ifxmit
andifrecv
variables) - Pooling syscalls
- "bad" pooling syscals binary does (poll, select, epoll, itimer, futex, nanosleep, signal)
- SCORE
- TODO - but for now:
SCORE = kticks + 2*uticks + 10*(reads+writes) + ifxmit + ifrecv
First examples
http://fedoraproject.org/wiki/Features/PowerManagement/scomes/examples
command sleep 10
normal:
Monitored execname: sleep Number of syscalls: 33 Kernel/Userspace ticks: 2/0 Read/Written bytes: 736 Transmitted/Recived bytes: 0 Pooling syscalls: 1 SCORE: 7362
busybox - statically linked:
Monitored execname: busybox Number of syscalls: 7 Kernel/Userspace ticks: 1/0 Read/Written bytes: 0 Transmitted/Recived bytes: 0 Pooling syscalls: 1 SCORE: 1
busybox.anaconda - dynamically linked:
Monitored execname: sleep Number of syscalls: 39 Kernel/Userspace ticks: 0/2 Read/Written bytes: 1248 Transmitted/Recived bytes: 0 Pooling syscalls: 0 SCORE: 12484