Re: no operf after installation
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 02/11/2015 12:17 PM, Lentes, Bernd wrote: > Hi, > > i'm new to operf. I have a virtual system (SLES 10 SP4, kernel 2.6.16.60-0.103.1-smp, 64bit) running on a SLES 11 SP3 host using kvm. > The virtual system always has some percent in top for the softirqs. (5% - 15%) and I don't know why. I hoped operf might help me by finding the reason for it. I downloaded version 1.0.0 from the sourceforge server, did "./configure; make; make install", everything went fine, but I have no operf on the virtual box. I searched the whole disk. Also I'm missing the man pages. > Maybe the version is too recent for my system ? > > Thankful for any help. > > > Bernd Hi Bernd, A 2.6.16 kernel is too old to provide the perf infrastructure required by operf unless it has been patched. It might be possible to run opcontrol on the guest. I know this can work with RHEL7 as a host and making the guest vm identify cpu as the same as the host sees, but I don't know if this work on SLES. You might be able to have a systemtap script (https://sourceware.org/systemtap/) provide some information what is going on there. There are probably prebuild versions of systemtap available for SLES11 and people have built systemtap on OpenSUSE11 (https://sourceware.org/systemtap/wiki/SystemTapOnopenSUSE11). Something like the attached systemtap script might help. Below is an example run on a x86_64 RHEL5 system: [wcohen@localhost ~]$ stap --all-modules softirq.stp action:net_tx_action min:0us avg:1us max:12us count:579 action:run_timer_softirq min:0us avg:4us max:136us count:20056 action:net_rx_action min:0us avg:120us max:7557us count:708 action:tasklet_action min:0us avg:1us max:17us count:921 -Will ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ oprofile-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oprofile-list
softirq.stp
(text/plain, 462 B)
#!/bin/env stap
global start, intervals
probe softirq.entry { start[tid()] = gettimeofday_us() }
probe softirq.exit
{
t = gettimeofday_us()
old_t = start[tid()]
if (old_t) intervals[action] <<< t - old_t
delete start[tid()]
}
probe end
{
foreach (i in intervals) {
printf("action:%s min:%dus avg:%dus max:%dus count:%d\n",
symname(i),
@min(intervals[i]), @avg(intervals[i]), @max(intervals[i]),
@count(intervals[i]))
}
}