From: 张伟 <zha...@12...> - 2013-04-24 18:34:15
|
Hi,all I want to install oprofile on ubuntu 12.04. There are two physical servers. The fisrt server, processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz stepping : 7 microcode : 0x70b cpu MHz : 1900.034 cache size : 15360 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm bogomips : 3800.06 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: There are 12 cores. When I install oprofile on this machine, use opcontrol --list-events only prints Using timer interrupt. The second server, processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz stepping : 5 microcode : 0x4 cpu MHz : 2660.090 cache size : 8192 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm bogomips : 5320.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: There are 8 cpu cores. In this machine, there are many events we can used. CPU_CLK_UNHALTED: (counter: all)) Clock cycles when not halted (min count: 6000) UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) Unhalted reference cycles (min count: 6000) Unit masks (default 0x1) ---------- 0x01: No unit mask LLC_MISSES: (counter: all)) Last level cache demand requests from this core that missed the LLC (min count: 6000) Unit masks (default 0x41) ---------- 0x41: No unit mask LLC_REFS: (counter: all)) Last level cache demand requests from this core (min count: 6000) Unit masks (default 0x4f) ---------- 0x4f: No unit mask ..... However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should set ? Thank you in advance! I think the newer cpu should have the performance counters. |
From: Maynard J. <may...@us...> - 2013-04-25 19:51:34
|
On 04/24/2013 01:34 PM, 张伟 wrote: > Hi,all > > I want to install oprofile on ubuntu 12.04. > > There are two physical servers. > > The fisrt server, > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 45 > model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz I'm not the Intel expert on this list, but I'm pretty sure this is the "Sandy Bridge" processor. OProfile support for this processor was added in release 0.9.7. What oprofile release are you using? -Maynard > stepping : 7 > microcode : 0x70b > cpu MHz : 1900.034 > cache size : 15360 KB > physical id : 0 > siblings : 2 > core id : 0 > cpu cores : 1 > apicid! : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 13 > wp : yes > flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s > sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm > bogomips : 3800.06 > clflush size : 64 > cache_alignment : 64 > address sizes : 46 bits physical, 48 bits virtual > power management: > > There are 12 cores. > > When I install oprofile on this machine, use opcontrol --list-events > only p! rints > Using timer interrupt. > > The second server, > > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 30 > model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz > stepping : 5 > microcode : 0x4 > cpu MHz : 2660.090 > cache size : 8192 KB > physical id : 0 > siblings : 2 > core id : 0 > cpu cores : 1 > apicid : 0 > initial apicid : 0 > fpu ! : yes > fpu_exception : yes > cpuid level : 11 > wp : yes > flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm > bogomips : 5320.18 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > > There are 8 cpu cores. > In this machine, there are many events we can used. > CPU_CLK_UNHALTED: (counter: all)) > Clock cycles when not halted (min count: 6000) > UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) > Unhalted reference cycles (min count: 6000) > &nbs! p; Unit masks (default 0x1) > ---------- > 0x01: No unit mask > LLC_MISSES: (counter: all)) > Last level cache demand requests from this core that missed the LLC (min count: 6000) > Unit masks (default 0x41) > ---------- > 0x41: No unit mask > LLC_REFS: (counter: all)) > Last level cache demand requests from this core (min count: 6000) > Unit masks (default 0x4f) > ---------- > 0x4f: No unit mask > ..... > > However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should ! set ? Thank you in advance! > > I think the newer ! cpu should have the performance counters. > > > > > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > > > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > |
From: 张伟 <zha...@12...> - 2013-04-25 20:05:03
|
Thank you very much! Before I receive your email, I am writing email to you and want to consult some questions. From this morning email you reply somebody, you are very familiar oprofile and perf. Yesterday on the first server(nimbnode7) I described in the email, I reboot the server and run the regular linux(ubuntu 12.04, the default kernel:3.2.0-29-generic ). I reload the oprofile module, it can show multiple events. Before this server runs xen 4.1.2, linux kernel is also 3.2.0-29-generic. At that time, use opcontrol --list-events, only shows Using timer interrupt. However, in regular linux and xen platform, they use the same kernel version-3.2.0-29-generic. Now I use opcontrol --start, it shows opcontrol --start ATTENTION: Use of opcontrol is discouraged. Please see the man page for operf. Using default event: CPU_CLK_UNHALTED:100000:0:1:1 Error: counter 0 not available nmi_watchdog using this resource ? Try: opcontrol --deinit echo 0 > /proc/sys/kernel/nmi_watchdog Even though, I have set 0 to /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Reload oprofile, it still have the same error. I meet the same problem on the second server(xen 4.1.2+3.2.0-29-generic) in last email. I use oprofile 0.9.5+xenoprofile patch, oprofile 0.9.8 to try. All of them can not work. Can you give me some advice? This question has confused me a long time. I need to make it work and do some testing. The testing is very important to me. 在 2013-04-26 03:51:15,"Maynard Johnson" <may...@us...> 写道: >On 04/24/2013 01:34 PM, 张伟 wrote: >> Hi,all >> >> I want to install oprofile on ubuntu 12.04. >> >> There are two physical servers. >> >> The fisrt server, >> processor : 0 >> vendor_id : GenuineIntel >> cpu family : 6 >> model : 45 >> model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz > >I'm not the Intel expert on this list, but I'm pretty sure this is the "Sandy Bridge" processor. OProfile support for this processor was added in release 0.9.7. What oprofile release are you using? > >-Maynard > >> stepping : 7 >> microcode : 0x70b >> cpu MHz : 1900.034 >> cache size : 15360 KB >> physical id : 0 >> siblings : 2 >> core id : 0 >> cpu cores : 1 >> apicid! : 0 >> initial apicid : 0 >> fpu : yes >> fpu_exception : yes >> cpuid level : 13 >> wp : yes >> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s >> sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm >> bogomips : 3800.06 >> clflush size : 64 >> cache_alignment : 64 >> address sizes : 46 bits physical, 48 bits virtual >> power management: >> >> There are 12 cores. >> >> When I install oprofile on this machine, use opcontrol --list-events >> only p! rints >> Using timer interrupt. >> >> The second server, >> >> processor : 0 >> vendor_id : GenuineIntel >> cpu family : 6 >> model : 30 >> model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz >> stepping : 5 >> microcode : 0x4 >> cpu MHz : 2660.090 >> cache size : 8192 KB >> physical id : 0 >> siblings : 2 >> core id : 0 >> cpu cores : 1 >> apicid : 0 >> initial apicid : 0 >> fpu ! : yes >> fpu_exception : yes >> cpuid level : 11 >> wp : yes >> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm >> bogomips : 5320.18 >> clflush size : 64 >> cache_alignment : 64 >> address sizes : 36 bits physical, 48 bits virtual >> power management: >> >> There are 8 cpu cores. >> In this machine, there are many events we can used. >> CPU_CLK_UNHALTED: (counter: all)) >> Clock cycles when not halted (min count: 6000) >> UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) >> Unhalted reference cycles (min count: 6000) >> &nbs! p; Unit masks (default 0x1) >> ---------- >> 0x01: No unit mask >> LLC_MISSES: (counter: all)) >> Last level cache demand requests from this core that missed the LLC (min count: 6000) >> Unit masks (default 0x41) >> ---------- >> 0x41: No unit mask >> LLC_REFS: (counter: all)) >> Last level cache demand requests from this core (min count: 6000) >> Unit masks (default 0x4f) >> ---------- >> 0x4f: No unit mask >> ..... >> >> However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should ! set ? Thank you in advance! >> >> I think the newer ! cpu should have the performance counters. >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Try New Relic Now & We'll Send You this Cool Shirt >> New Relic is the only SaaS-based application performance monitoring service >> that delivers powerful full stack analytics. Optimize and monitor your >> browser, app, & servers with just a few lines of code. Try New Relic >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >> >> >> >> _______________________________________________ >> oprofile-list mailing list >> opr...@li... >> https://lists.sourceforge.net/lists/listinfo/oprofile-list >> > |
From: Maynard J. <may...@us...> - 2013-04-25 20:39:08
|
On 04/25/2013 03:04 PM, 张伟 wrote: > Thank you very much! Before I receive your email, I am writing email to you and want to consult some questions. From this morning email you reply somebody, you are very familiar oprofile and perf. > > Yesterday on the first server(nimbnode7) I described in the email, I reboot the server and run the regular linux(ubuntu 12.04, the default kernel:3.2.0-29-generic ). > I reload the oprofile module, it can show multiple events. > Before this server runs xen 4.1.2, linux kernel is also 3.2.0-29-generic. At that time, use opcontrol --list-events, only shows Using timer interrupt. I don't know anything about xen, except that oprofile event-based profiling does not work in that environment without out-of-line patches being applied. That is all I know on the topic. > However, in regular linux and xen platform, they use the same kernel version-3.2.0-29-generic. > > Now I use opcontrol --start, it shows > opcontrol --start > ATTENTION: Use of opcontrol is discouraged. Please see the man page for operf. > Using default event: CPU_CLK_UNHALTED:100000:0:1:1 > Error: counter 0 not available nmi_watchdog using this resource ? Try: > opcontrol --deinit > echo 0 > /proc/sys/kernel/nmi_watchdog > > Even though, I have set 0 to /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Reload oprofile, it still have the same error. I meet the same problem on the second server(xen 4.1.2+3.2.0-29-generic) in last email. What do you mean by "reload oprofile"? Did you run the 'opcontrol --deinit' as the error message indicates before trying 'opcontrol --start' again? -Maynard > > I use oprofile 0.9.5+xenoprofile patch, oprofile 0.9.8 to try. > > All of them can not work. > > Can you give me some advice? This question has confused me a long time. I need to make it work and do some testing. The testing is very important to me. > > > > > > > > > > > 在 2013-04-26 03:51:15,"Maynard Johnson" <may...@us...> 写道: >>On 04/24/2013 01:34 PM, 张伟 wrote: >>> Hi,all >>> >>> I want to install oprofile on ubuntu 12.04. >>> >>> There are two physical servers. >>> >>> The fisrt server, >>> processor : 0 >>> vendor_id : GenuineIntel >>> cpu family : 6 >>> model : 45 >>> model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz >> >>I'm not the Intel expert on this list, but I'm pretty sure this is the "Sandy Bridge" processor. OProfile support for this processor was added in release 0.9.7. What oprofile release are you using? >> >>-Maynard >> >>> stepping : 7 >>> microcode : 0x70b >>> cpu MHz : 1900.034 >>> cache size : 15360 KB >>> physical id : 0 >>> siblings : 2 >>> core id : 0 >>> cpu cores : 1 >>> apicid! : 0 >>> initial apicid : 0 >>> fpu : yes >>> fpu_exception : yes >>> cpuid level : 13 >>> wp : yes >>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s >>> sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm >>> bogomips : 3800.06 >>> clflush size : 64 >>> cache_alignment : 64 >>> address sizes : 46 bits physical, 48 bits virtual >>> power management: >>> >>> There are 12 cores. >>> >>> When I install oprofile on this machine, use opcontrol --list-events >>> only p! rints >>> Using timer interrupt. >>> >>> The second server, >>> >>> processor : 0 >>> vendor_id : GenuineIntel >>> cpu family : 6 >>> model : 30 >>> model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz >>> stepping : 5 >>> microcode : 0x4 >>> cpu MHz : 2660.090 >>> cache size : 8192 KB >>> physical id : 0 >>> siblings : 2 >>> core id : 0 >>> cpu cores : 1 >>> apicid : 0 >>> initial apicid : 0 >>> fpu ! : yes >>> fpu_exception : yes >>> cpuid level : 11 >>> wp : yes >>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm >>> bogomips : 5320.18 >>> clflush size : 64 >>> cache_alignment : 64 >>> address sizes : 36 bits physical, 48 bits virtual >>> power management: >>> >>> There are 8 cpu cores. >>> In this machine, there are many events we can used. >>> CPU_CLK_UNHALTED: (counter: all)) >>> Clock cycles when not halted (min count: 6000) >>> UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) >>> Unhalted reference cycles (min count: 6000) >>> &nbs! p; Unit masks (default 0x1) >>> ---------- >>> 0x01: No unit mask >>> LLC_MISSES: (counter: all)) >>> Last level cache demand requests from this core that missed the LLC (min count: 6000) >>> Unit masks (default 0x41) >>> ---------- >>> 0x41: No unit mask >>> LLC_REFS: (counter: all)) >>> Last level cache demand requests from this core (min count: 6000) >>> Unit masks (default 0x4f) >>> ---------- >>> 0x4f: No unit mask >>> ..... >>> >>> However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should ! set ? Thank you in advance! >>> >>> I think the newer ! cpu should have the performance counters. >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Try New Relic Now & We'll Send You this Cool Shirt >>> New Relic is the only SaaS-based application performance monitoring service >>> that delivers powerful full stack analytics. Optimize and monitor your >>> browser, app, & servers with just a few lines of code. Try New Relic >>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >>> >>> >>> >>> _______________________________________________ >>> oprofile-list mailing list >>> opr...@li... >>> https://lists.sourceforge.net/lists/listinfo/oprofile-list >>> >> > > > |
From: 张伟 <zha...@12...> - 2013-04-25 20:46:58
|
See below! 在 2013-04-26 04:38:44,"Maynard Johnson" <may...@us...> 写道: >On 04/25/2013 03:04 PM, 张伟 wrote: >> Thank you very much! Before I receive your email, I am writing email to you and want to consult some questions. From this morning email you reply somebody, you are very familiar oprofile and perf. >> >> Yesterday on the first server(nimbnode7) I described in the email, I reboot the server and run the regular linux(ubuntu 12.04, the default kernel:3.2.0-29-generic ). >> I reload the oprofile module, it can show multiple events. >> Before this server runs xen 4.1.2, linux kernel is also 3.2.0-29-generic. At that time, use opcontrol --list-events, only shows Using timer interrupt. >I don't know anything about xen, except that oprofile event-based profiling does not work in that environment without out-of-line patches being applied. That is all I know on the topic. >> However, in regular linux and xen platform, they use the same kernel version-3.2.0-29-generic. >> >> Now I use opcontrol --start, it shows >> opcontrol --start >> ATTENTION: Use of opcontrol is discouraged. Please see the man page for operf. >> Using default event: CPU_CLK_UNHALTED:100000:0:1:1 >> Error: counter 0 not available nmi_watchdog using this resource ? Try: >> opcontrol --deinit >> echo 0 > /proc/sys/kernel/nmi_watchdog >> >> Even though, I have set 0 to /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Reload oprofile, it still have the same error. I meet the same problem on the second server(xen 4.1.2+3.2.0-29-generic) in last email. >What do you mean by "reload oprofile"? Did you run the 'opcontrol --deinit' as the error message indicates before trying 'opcontrol --start' again? The warning message shows before echo 0 > /proc/sys/kernel/nmi_watchdog, firstly unload the profile. So firstly I use opcontrol --deinit to unload the oprofile module, then echo 0 > /proc/sys/kernel/nmi_watchdog. After that, use opcontrol --init to reload the module again. Try opcontrol --start, the same error. > >-Maynard >> >> I use oprofile 0.9.5+xenoprofile patch, oprofile 0.9.8 to try. >> >> All of them can not work. >> >> Can you give me some advice? This question has confused me a long time. I need to make it work and do some testing. The testing is very important to me. >> >> >> >> >> >> >> >> >> >> >> 在 2013-04-26 03:51:15,"Maynard Johnson" <may...@us...> 写道: >>>On 04/24/2013 01:34 PM, 张伟 wrote: >>>> Hi,all >>>> >>>> I want to install oprofile on ubuntu 12.04. >>>> >>>> There are two physical servers. >>>> >>>> The fisrt server, >>>> processor : 0 >>>> vendor_id : GenuineIntel >>>> cpu family : 6 >>>> model : 45 >>>> model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz >>> >>>I'm not the Intel expert on this list, but I'm pretty sure this is the "Sandy Bridge" processor. OProfile support for this processor was added in release 0.9.7. What oprofile release are you using? >>> >>>-Maynard >>> >>>> stepping : 7 >>>> microcode : 0x70b >>>> cpu MHz : 1900.034 >>>> cache size : 15360 KB >>>> physical id : 0 >>>> siblings : 2 >>>> core id : 0 >>>> cpu cores : 1 >>>> apicid! : 0 >>>> initial apicid : 0 >>>> fpu : yes >>>> fpu_exception : yes >>>> cpuid level : 13 >>>> wp : yes >>>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s >>>> sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm >>>> bogomips : 3800.06 >>>> clflush size : 64 >>>> cache_alignment : 64 >>>> address sizes : 46 bits physical, 48 bits virtual >>>> power management: >>>> >>>> There are 12 cores. >>>> >>>> When I install oprofile on this machine, use opcontrol --list-events >>>> only p! rints >>>> Using timer interrupt. >>>> >>>> The second server, >>>> >>>> processor : 0 >>>> vendor_id : GenuineIntel >>>> cpu family : 6 >>>> model : 30 >>>> model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz >>>> stepping : 5 >>>> microcode : 0x4 >>>> cpu MHz : 2660.090 >>>> cache size : 8192 KB >>>> physical id : 0 >>>> siblings : 2 >>>> core id : 0 >>>> cpu cores : 1 >>>> apicid : 0 >>>> initial apicid : 0 >>>> fpu ! : yes >>>> fpu_exception : yes >>>> cpuid level : 11 >>>> wp : yes >>>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm >>>> bogomips : 5320.18 >>>> clflush size : 64 >>>> cache_alignment : 64 >>>> address sizes : 36 bits physical, 48 bits virtual >>>> power management: >>>> >>>> There are 8 cpu cores. >>>> In this machine, there are many events we can used. >>>> CPU_CLK_UNHALTED: (counter: all)) >>>> Clock cycles when not halted (min count: 6000) >>>> UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) >>>> Unhalted reference cycles (min count: 6000) >>>> &nbs! p; Unit masks (default 0x1) >>>> ---------- >>>> 0x01: No unit mask >>>> LLC_MISSES: (counter: all)) >>>> Last level cache demand requests from this core that missed the LLC (min count: 6000) >>>> Unit masks (default 0x41) >>>> ---------- >>>> 0x41: No unit mask >>>> LLC_REFS: (counter: all)) >>>> Last level cache demand requests from this core (min count: 6000) >>>> Unit masks (default 0x4f) >>>> ---------- >>>> 0x4f: No unit mask >>>> ..... >>>> >>>> However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should ! set ? Thank you in advance! >>>> >>>> I think the newer ! cpu should have the performance counters. >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Try New Relic Now & We'll Send You this Cool Shirt >>>> New Relic is the only SaaS-based application performance monitoring service >>>> that delivers powerful full stack analytics. Optimize and monitor your >>>> browser, app, & servers with just a few lines of code. Try New Relic >>>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >>>> >>>> >>>> >>>> _______________________________________________ >>>> oprofile-list mailing list >>>> opr...@li... >>>> https://lists.sourceforge.net/lists/listinfo/oprofile-list >>>> >>> >> >> >> > |
From: 张伟 <zha...@12...> - 2013-05-02 15:25:36
|
在 2013-05-02 22:02:02,"Maynard Johnson" <may...@us...> 写道: >On 04/30/2013 09:03 AM, 张伟 wrote: >> >> >> >> 在 2013-04-30 17:22:24,"Robert Richter" <rr...@ke...> 写道: >>>On 30.04.13 10:10:07, 张伟 wrote: >>>> I want to use oprofile to get cache misses. However, I meet the problem in the >>>> email. >>>> >>>> On xen platform, only opcontrol --list-events only shows >>>> Using timer interrupt. >>> >> >>>Oprofile can not be used in a Xen guest, hw counters are not available >>>there. >>> >> >> However, I run the command opcontrol --list-events in domain0, not domainU. Why only Using timer interrupt in domain0. >> >> On another server, also run the xen 4.1.2 and ubuntu 12.04, the kernel is >> >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# uname -a >> Linux nimbnode2 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux >> >> I run the following command >> >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --version >> opcontrol: oprofile 0.9.5 compiled on Apr 22 2013 09:10:43 >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --init >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --no-vmlinux >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --start >> Error: counter 0 not available nmi_watchdog using this resource ? Try: >> opcontrol --deinit >> echo 0 > /proc/sys/kernel/nmi_watchdog >> root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# cat /proc/sys/kernel/nmi_watchdog >> 0 >Please run the commands Robert suggested: > # echo p > /proc/sysrq-trigger > # dmesg | tail -n 30 > run command echo p > /proc/sysrq-trigger dmesg | tail -n 30 Dmesg output: [631908.920219] eth0: port 2(vif80.0) entering forwarding state [631909.018036] xen-blkback:ring-ref 770, event-channel 10, protocol 1 (x86_64-abi) [631909.035112] xen-blkback:ring-ref 771, event-channel 11, protocol 1 (x86_64-abi) [631909.040103] xen-blkback:ring-ref 772, event-channel 12, protocol 1 (x86_64-abi) [631919.662076] vif80.0: no IPv6 routers present [633538.769488] eth0: port 2(vif80.0) entering forwarding state [633538.769737] device vif80.0 left promiscuous mode [633538.769741] eth0: port 2(vif80.0) entering disabled state [633546.548947] device vif81.0 entered promiscuous mode [633546.553252] ADDRCONF(NETDEV_UP): vif81.0: link is not ready [633550.709930] ADDRCONF(NETDEV_CHANGE): vif81.0: link becomes ready [633550.709974] eth0: port 2(vif81.0) entering forwarding state [633550.709978] eth0: port 2(vif81.0) entering forwarding state [633550.808305] xen-blkback:ring-ref 770, event-channel 10, protocol 1 (x86_64-abi) [633550.823109] xen-blkback:ring-ref 771, event-channel 11, protocol 1 (x86_64-abi) [633550.827594] xen-blkback:ring-ref 772, event-channel 12, protocol 1 (x86_64-abi) [633561.166099] vif81.0: no IPv6 routers present [635512.806164] eth0: port 2(vif81.0) entering forwarding state [635512.806639] device vif81.0 left promiscuous mode [635512.806643] eth0: port 2(vif81.0) entering disabled state [635524.347597] device vif82.0 entered promiscuous mode [635524.351987] ADDRCONF(NETDEV_UP): vif82.0: link is not ready [635529.545938] ADDRCONF(NETDEV_CHANGE): vif82.0: link becomes ready [635529.545984] eth0: port 2(vif82.0) entering forwarding state [635529.545988] eth0: port 2(vif82.0) entering forwarding state [635529.644323] xen-blkback:ring-ref 770, event-channel 10, protocol 1 (x86_64-abi) [635529.660338] xen-blkback:ring-ref 771, event-channel 11, protocol 1 (x86_64-abi) [635529.665278] xen-blkback:ring-ref 772, event-channel 12, protocol 1 (x86_64-abi) [635540.062092] vif82.0: no IPv6 routers present [842144.963362] SysRq : Show Regs >And then paste the dmesg output in your reply. > >-Maynard >> >> I have set 0 to the file /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Still the same problem. >> >[snip[ > |
From: Robert R. <rr...@ke...> - 2013-05-02 17:19:24
|
On 02.05.13 23:24:46, 张伟 wrote: > [842144.963362] SysRq : Show Regs Hmm, since this is empty, it seems your kernel has perf disabled for some reason. What shows: # dmesg | grep 'perf\|oprofile' # zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* And if possible, check if counters are running by reading /dev/cpu/0/msr: # ( perl -e 'sysseek(STDIN, 0xc1, 0)'; hexdump -n 128 -e '2/4 "%08x " "\n"' ) < /dev/cpu/0/msr -Robert |
From: Maynard J. <may...@us...> - 2013-04-26 12:15:48
|
Andi, Would you have any idea why this oprofile user cannot get around the error below ("Error: counter 0 not available nmi_watchdog using this resource ?")? Thanks. -Maynard On 04/25/2013 03:46 PM, 张伟 wrote: > See below! > > > 在 2013-04-26 04:38:44,"Maynard Johnson" <may...@us...> 写道: >>On 04/25/2013 03:04 PM, 张伟 wrote: >>> Thank you very much! Before I receive your email, I am writing email to you and want to consult some questions. From this morning email you reply somebody, you are very familiar oprofile and perf. >>> >>> Yesterday on the first server(nimbnode7) I described in the email, I reboot the server and run the regular linux(ubuntu 12.04, the default kernel:3.2.0-29-generic ). >>> I reload the oprofile module, it can show multiple events. >>> Before this server runs xen 4.1.2, linux kernel is also 3.2.0-29-generic. At that time, use opcontrol --list-events, only shows Using timer interrupt. >>I don't know anything about xen, except that oprofile event-based profiling does not work in that environment without out-of-line patches being applied. That is all I know on the topic. >>> However, in regular linux and xen platform, they use the same kernel version-3.2.0-29-generic. >>> >>> Now I use opcontrol --start, it shows >>> opcontrol --start >>> ATTENTION: Use of opcontrol is discouraged. Please see the man page for operf. >>> Using default event: CPU_CLK_UNHALTED:100000:0:1:1 >>> Error: counter 0 not available nmi_watchdog using this resource ? Try: >>> opcontrol --deinit >>> echo 0 > /proc/sys/kernel/nmi_watchdog >>> >>> Even though, I have set 0 to /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Reload oprofile, it still have the same error. I meet the same problem on the second server(xen 4.1.2+3.2.0-29-generic) in last email. >>What do you mean by "reload oprofile"? Did you run the 'opcontrol --deinit' as the error message indicates before trying 'opcontrol --start' again? > > The warning message shows before echo 0 > /proc/sys/kernel/nmi_watchdog, firstly unload the profile. So firstly I use opcontrol --deinit to unload the oprofile module, then echo 0 > /proc/sys/kernel/nmi_watchdog. After that, use opcontrol --init to reload the module again. Try opcontrol --start, the same error. > >> >>-Maynard >>> >>> I use oprofile 0.9.5+xenoprofile patch, oprofile 0.9.8 to try. >>> >>> All of them can not work. >>> >>> Can you give me some advice? This question has confused me a long time. I need to make it work and do some testing. The testing is very important to me. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> 在 2013-04-26 03:51:15,"Maynard Johnson" <may...@us...> 写道: >>>>On 04/24/2013 01:34 PM, 张伟 wrote: >>>>> Hi,all >>>>> >>>>> I want to install oprofile on ubuntu 12.04. >>>>> >>>>> There are two physical servers. >>>>> >>>>> The fisrt server, >>>>> processor : 0 >>>>> vendor_id : GenuineIntel >>>>> cpu family : 6 >>>>> model : 45 >>>>> model name : Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz >>>> >>>>I'm not the Intel expert on this list, but I'm pretty sure this is the "Sandy Bridge" processor. OProfile support for this processor was added in release 0.9.7. What oprofile release are you using? >>>> >>>>-Maynard >>>> >>>>> stepping : 7 >>>>> microcode : 0x70b >>>>> cpu MHz : 1900.034 >>>>> cache size : 15360 KB >>>>> physical id : 0 >>>>> siblings : 2 >>>>> core id : 0 >>>>> cpu cores : 1 >>>>> apicid! : 0 >>>>> initial apicid : 0 >>>>> fpu : yes >>>>> fpu_exception : yes >>>>> cpuid level : 13 >>>>> wp : yes >>>>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est s >>>>> sse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm >>>>> bogomips : 3800.06 >>>>> clflush size : 64 >>>>> cache_alignment : 64 >>>>> address sizes : 46 bits physical, 48 bits virtual >>>>> power management: >>>>> >>>>> There are 12 cores. >>>>> >>>>> When I install oprofile on this machine, use opcontrol --list-events >>>>> only p! rints >>>>> Using timer interrupt. >>>>> >>>>> The second server, >>>>> >>>>> processor : 0 >>>>> vendor_id : GenuineIntel >>>>> cpu family : 6 >>>>> model : 30 >>>>> model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz >>>>> stepping : 5 >>>>> microcode : 0x4 >>>>> cpu MHz : 2660.090 >>>>> cache size : 8192 KB >>>>> physical id : 0 >>>>> siblings : 2 >>>>> core id : 0 >>>>> cpu cores : 1 >>>>> apicid : 0 >>>>> initial apicid : 0 >>>>> fpu ! : yes >>>>> fpu_exception : yes >>>>> cpuid level : 11 >>>>> wp : yes >>>>> flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm >>>>> bogomips : 5320.18 >>>>> clflush size : 64 >>>>> cache_alignment : 64 >>>>> address sizes : 36 bits physical, 48 bits virtual >>>>> power management: >>>>> >>>>> There are 8 cpu cores. >>>>> In this machine, there are many events we can used. >>>>> CPU_CLK_UNHALTED: (counter: all)) >>>>> Clock cycles when not halted (min count: 6000) >>>>> UNHALTED_REFERENCE_CYCLES: (counter: 0, 1, 2)) >>>>> Unhalted reference cycles (min count: 6000) >>>>> &nbs! p; Unit masks (default 0x1) >>>>> ---------- >>>>> 0x01: No unit mask >>>>> LLC_MISSES: (counter: all)) >>>>> Last level cache demand requests from this core that missed the LLC (min count: 6000) >>>>> Unit masks (default 0x41) >>>>> ---------- >>>>> 0x41: No unit mask >>>>> LLC_REFS: (counter: all)) >>>>> Last level cache demand requests from this core (min count: 6000) >>>>> Unit masks (default 0x4f) >>>>> ---------- >>>>> 0x4f: No unit mask >>>>> ..... >>>>> >>>>> However, the first machine is newer than the second machine. Anybody can give me some advice how to enable multiple events. Which part I should ! set ? Thank you in advance! >>>>> >>>>> I think the newer ! cpu should have the performance counters. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Try New Relic Now & We'll Send You this Cool Shirt >>>>> New Relic is the only SaaS-based application performance monitoring service >>>>> that delivers powerful full stack analytics. Optimize and monitor your >>>>> browser, app, & servers with just a few lines of code. Try New Relic >>>>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> oprofile-list mailing list >>>>> opr...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/oprofile-list >>>>> >>>> >>> >>> >>> >> > > > |
From: Robert R. <rr...@ke...> - 2013-04-29 17:10:43
|
On 26.04.13 07:15:35, Maynard Johnson wrote: > Would you have any idea why this oprofile user cannot get around the > error below ("Error: counter 0 not available nmi_watchdog using this > resource ?")? This happens if perf is running. This either can be the perf watchdog (can be disabled with echo 0 > /proc/sys/kernel/nmi_watchdog) or another perf session (e.g. perf top etc.). If the watchdog is disabled but another perf session is running, the contents of the counter registers might give you a hint what is profiled: # taskset $CPU echo p > /proc/sysrq-trigger # dmesg | tail -n 30 ... The bit 0-7 of the PMC's ctrl register contains the event type to be counted. -Robert |
From: 张伟 <zha...@12...> - 2013-04-29 21:03:13
|
Thank you very much for your reply! See below! At 2013-04-30 01:10:31,"Robert Richter" <rr...@ke...> wrote: >On 26.04.13 07:15:35, Maynard Johnson wrote: >> Would you have any idea why this oprofile user cannot get around the >> error below ("Error: counter 0 not available nmi_watchdog using this >> resource ?")? > >This happens if perf is running. This either can be the perf watchdog >(can be disabled with echo 0 > /proc/sys/kernel/nmi_watchdog) or >another perf session (e.g. perf top etc.). > Before this server has not been installed perf. So I think perf is not running(command not found). Just now, I install it using apt-get. >If the watchdog is disabled but another perf session is running, the >contents of the counter registers might give you a hint what is >profiled: > > # taskset $CPU echo p > /proc/sysrq-trigger > # dmesg | tail -n 30 > ... > In my server, $CPU is NULL. How to set it? root@nimbnode7:~# taskset $CPU echo p > /proc/sysrq-trigger taskset: failed to parse CPU mask: echo root@nimbnode7:~# echo $CPU >The bit 0-7 of the PMC's ctrl register contains the event type to be >counted. > >-Robert |
From: 张伟 <zha...@12...> - 2013-05-02 19:30:45
|
Thank you very much for your reply! See below! 在 2013-05-03 01:19:12,"Robert Richter" <rr...@ke...> 写道: >On 02.05.13 23:24:46, 张伟 wrote: >> [842144.963362] SysRq : Show Regs > >Hmm, since this is empty, it seems your kernel has perf disabled for >some reason. What shows: > > # dmesg | grep 'perf\|oprofile' root@nimbnode6:~# dmesg | grep 'perf\|oprofile' [ 7.140181] Initializing cgroup subsys perf_event [161955.654083] oprofile: using NMI timer interrupt. > # zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* root@nimbnode6:~# dmesg | grep 'perf\|oprofile' [ 7.140181] Initializing cgroup subsys perf_event [161955.654083] oprofile: using NMI timer interrupt. root@nimbnode6:~# zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS=y /boot/config-3.2.0-29-generic:CONFIG_PERF_EVENTS=y /boot/config-3.2.0-29-generic:CONFIG_OPROFILE=m /boot/config-3.2.0-29-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set /boot/config-3.2.0-29-generic:CONFIG_HAVE_OPROFILE=y /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS=y /boot/config-3.2.0-40-generic:CONFIG_PERF_EVENTS=y /boot/config-3.2.0-40-generic:CONFIG_OPROFILE=m /boot/config-3.2.0-40-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set /boot/config-3.2.0-40-generic:CONFIG_HAVE_OPROFILE=y /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y root@nimbnode6:~# uname -a Linux nimbnode6 3.2.0-40-generic #64-Ubuntu SMP Mon Mar 25 21:22:10 UTC 201 _64 x86_64 x86_64 GNU/Linux > >And if possible, check if counters are running by reading >/dev/cpu/0/msr: > root@nimbnode6:~# cat /dev/cpu/0/msr cat: /dev/cpu/0/msr: No such file or directory > # ( perl -e 'sysseek(STDIN, 0xc1, 0)'; hexdump -n 128 -e '2/4 "%08x " "\n"' ) < /dev/cpu/0/msr Because no this file msr, I can not input anything to this file. root@nimbnode6:~# ( perl -e 'sysseek(STDIN, 0xc1, 0)'; hexdump -n 128 -e '2/4 "%08x " "\n"' ) < /dev/cpu/0/msr -bash: /dev/cpu/0/msr: No such file or directory root@nimbnode6:~# opcontrol --setup --event CPU_CLK_UNHALTED:6000:0:1:1 You cannot specify any performance counter events because OProfile is in timer mode. From google, timer is used as the processor type if the processor does not have supported performance monitoring hardware. If timer is used, events cannot be set for any processor because the hardware does not have support for hardware performance counters. Instead, the timer interrupt is used for profiling. If timer is not used as the processor type, the events monitored can be changed, and counter 0 for the processor is set to a time-based event by default. If more than one counter exists on the processor, the counters other than counter 0 are not set to an event by default. However, how to disable the timer? |
From: Robert R. <rr...@ke...> - 2013-05-03 10:41:26
|
On 03.05.13 03:29:58, 张伟 wrote: > root@nimbnode6:~# dmesg | grep 'perf\|oprofile' > [ 7.140181] Initializing cgroup subsys perf_event > [161955.654083] oprofile: using NMI timer interrupt. This means, oprofile didn't detect hardware counters. Oprofile uses in this case an in-kernel perf_event which fails since running as guest (see below). > root@nimbnode6:~# zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* > /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS=y > /boot/config-3.2.0-29-generic:CONFIG_PERF_EVENTS=y > /boot/config-3.2.0-29-generic:CONFIG_OPROFILE=m > /boot/config-3.2.0-29-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set > /boot/config-3.2.0-29-generic:CONFIG_HAVE_OPROFILE=y > /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y > /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS=y > /boot/config-3.2.0-40-generic:CONFIG_PERF_EVENTS=y > /boot/config-3.2.0-40-generic:CONFIG_OPROFILE=m > /boot/config-3.2.0-40-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set > /boot/config-3.2.0-40-generic:CONFIG_HAVE_OPROFILE=y > /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y >From the dmesg you sent a couple of mails ago it seems you are running Xen. Even Dom0 is technically a guest. So no support for hardware counters for this case (maybe newer xen implementations support hardware counter virtualization, don't know). So wrt perf you should find a message like this in your dmesg: Broken PMU hardware detected, using software events only. So, again, your setup does not support hardware counters. -Robert |
From: 张伟 <zha...@12...> - 2013-05-03 13:46:54
|
Thank you very much for your attention and reply! See below. 在 2013-05-03 18:41:14,"Robert Richter" <rr...@ke...> 写道: >On 03.05.13 03:29:58, 张伟 wrote: >> root@nimbnode6:~# dmesg | grep 'perf\|oprofile' >> [ 7.140181] Initializing cgroup subsys perf_event >> [161955.654083] oprofile: using NMI timer interrupt. > >This means, oprofile didn't detect hardware counters. Oprofile uses in >this case an in-kernel perf_event which fails since running as guest >(see below). > How to enable in-kernel perf_event success? >> root@nimbnode6:~# zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* >> /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS=y >> /boot/config-3.2.0-29-generic:CONFIG_PERF_EVENTS=y >> /boot/config-3.2.0-29-generic:CONFIG_OPROFILE=m >> /boot/config-3.2.0-29-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set >> /boot/config-3.2.0-29-generic:CONFIG_HAVE_OPROFILE=y >> /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y >> /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS=y >> /boot/config-3.2.0-40-generic:CONFIG_PERF_EVENTS=y >> /boot/config-3.2.0-40-generic:CONFIG_OPROFILE=m >> /boot/config-3.2.0-40-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set >> /boot/config-3.2.0-40-generic:CONFIG_HAVE_OPROFILE=y >> /boot/config-3.2.0-40-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y > >From the dmesg you sent a couple of mails ago it seems you are running >Xen. Even Dom0 is technically a guest. So no support for hardware >counters for this case (maybe newer xen implementations support >hardware counter virtualization, don't know). > Yes, I use xenoprofile on xen platform. I install xenoprofile in dom0. I use the newer xen version, 4.1.2. From other people's paper, they can use xenoprofle to get cache hit rate, even use the older xen. I try this operation on two servers. Also ubutun12.04, xen 4.1.2. They have different cpu type. For xen installation, nimbnode6 from xen source code(I show you the information and questions of this server), nimbnode2 from apt-get install. nimbnode2 can show multiple events, however, opcontrol can not start. They use the same xen version. The following is the information of nimbnode2. root@nimbnode2:~# rm -rf /var/lib/oprofile/ root@nimbnode2:~# rm -rf ~/.oprofile root@nimbnode2:~# opcontrol --setup --event=CPU_CLK_UNHALTED:10000:0:1:1 --separate=lib,kernel --no-vmlinux root@nimbnode2:~# opcontrol --start --image=all --verbose Parameters used: SESSION_DIR /var/lib/oprofile LOCK_FILE /var/lib/oprofile/lock SAMPLES_DIR /var/lib/oprofile/samples CURRENT_SAMPLES_DIR /var/lib/oprofile/samples/current CPUTYPE i386/core_i7 BUF_SIZE default value BUF_WATERSHED default value CPU_BUF_SIZE default value SEPARATE_LIB 1 SEPARATE_KERNEL 1 SEPARATE_THREAD 0 SEPARATE_CPU 0 CALLGRAPH 0 VMLINUX none KERNEL_RANGE XENIMAGE none XEN_RANGE Error: counter 0 not available nmi_watchdog using this resource ? Try: opcontrol --deinit echo 0 > /proc/sys/kernel/nmi_watchdog root@nimbnode2:~# cat /proc/sys/kernel/nmi_watchdog 0 root@nimbnode2:~# perf The program 'perf' can be found in the following packages: * linux-tools-common * linux-base In previous email, you mention that maybe perf occupy the performance counter, there is an conflict. However, I did not install perf on this server. I do not know why. root@nimbnode2:~# dmesg | grep 'perf\|oprofile' [ 4.859756] Initializing cgroup subsys perf_event [5085965.060248] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5086805.060248] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5086925.060244] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087045.060241] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087165.060248] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087285.060240] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087405.060285] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087525.060283] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087645.060292] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [5087765.060287] [<ffffffff811187aa>] generic_perform_write+0xca/0x210 [6597549.864064] oprofile: using NMI interrupt. [6649012.758607] oprofile: using NMI interrupt. [6649280.861401] oprofile: using NMI interrupt. [6649333.074229] oprofile: using NMI interrupt. [6649994.923927] oprofile: using NMI interrupt. [6650672.288479] oprofile: using NMI interrupt. [6687385.842358] oprofile: using NMI interrupt. [6724052.247300] oprofile: using NMI interrupt. [7418052.512002] oprofile: using NMI interrupt. [7612394.700827] oprofile: using NMI interrupt. [7676044.408130] oprofile: using NMI interrupt. root@nimbnode2:~# zgrep 'PERF_EVENTS\|OPROFILE' /boot/config* /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS=y /boot/config-3.2.0-29-generic:CONFIG_PERF_EVENTS=y /boot/config-3.2.0-29-generic:CONFIG_OPROFILE=m /boot/config-3.2.0-29-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set /boot/config-3.2.0-29-generic:CONFIG_HAVE_OPROFILE=y /boot/config-3.2.0-29-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y /boot/config-3.2.0-37-generic:CONFIG_HAVE_PERF_EVENTS=y /boot/config-3.2.0-37-generic:CONFIG_PERF_EVENTS=y /boot/config-3.2.0-37-generic:CONFIG_OPROFILE=m /boot/config-3.2.0-37-generic:# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set /boot/config-3.2.0-37-generic:CONFIG_HAVE_OPROFILE=y /boot/config-3.2.0-37-generic:CONFIG_HAVE_PERF_EVENTS_NMI=y >So wrt perf you should find a message like this in your dmesg: > > Broken PMU hardware detected, using software events only. > >So, again, your setup does not support hardware counters. I do not know how to support hardware counters. Which place has some problem for my setup to bring this question. Can you give me some guidance? > >-Robert |
From: 张伟 <zha...@12...> - 2013-04-29 21:37:32
|
When I install perf, use perf list, I can see the cache misses event hello.c #include<stdio.h> #include<unistd.h> int main(){ int i = 0; while (i < 20){ printf("Hello world!\n"); i++; sleep(1); } return 0; } When I want to run the command perf stat -e cache ./hello It shows that Performance counter stats for './hello': <not supported> cache-misses 20.003974905 seconds time elapsed Can you tell me why this happens? I want to use cache misses event to trace an application. At 2013-04-30 01:10:31,"Robert Richter" <rr...@ke...> wrote: >On 26.04.13 07:15:35, Maynard Johnson wrote: >> Would you have any idea why this oprofile user cannot get around the >> error below ("Error: counter 0 not available nmi_watchdog using this >> resource ?")? > >This happens if perf is running. This either can be the perf watchdog >(can be disabled with echo 0 > /proc/sys/kernel/nmi_watchdog) or >another perf session (e.g. perf top etc.). > >If the watchdog is disabled but another perf session is running, the >contents of the counter registers might give you a hint what is >profiled: > > # taskset $CPU echo p > /proc/sysrq-trigger > # dmesg | tail -n 30 > ... > >The bit 0-7 of the PMC's ctrl register contains the event type to be >counted. > >-Robert |
From: Maynard J. <may...@us...> - 2013-04-29 23:19:17
|
On 04/29/2013 04:36 PM, 张伟 wrote: > When I install perf, use perf list, I can see the cache misses event > > hello.c > #include<stdio.h> > #include<unistd.h> > int main(){ > int i = 0; > while (i < 20){ > printf("Hello world!\n"); > i++; > sleep(1); > } > return 0; > } > > > When I want to run the command perf stat -e cache ./hello > > It shows that > Performance counter stats for './hello': > > <not supported> cache-misses > > 20.003974905 seconds time elapsed > > Can you tell me why this happens? I want to use cache misses event to trace an application. The perf tool is not supported on the oprofile-list. It has its own mailing list (http://vger.kernel.org/vger-lists.html#linux-perf-users), so you could post your question there. But if you are in xen environment, I don't think perf will work without some special patches. A google search turned up this wiki page on the topic: http://wiki.xen.org/wiki/Xen_Profiling:_oprofile_and_perf. -Maynard > > > > > At 2013-04-30 01:10:31,"Robert Richter" <rr...@ke...> wrote: >>On 26.04.13 07:15:35, Maynard Johnson wrote: >>> Would you have any idea why this oprofile user cannot get around the >>> error below ("Error: counter 0 not available nmi_watchdog using this >>> resource ?")? >> >>This happens if perf is running. This either can be the perf watchdog >>(can be disabled with echo 0 > /proc/sys/kernel/nmi_watchdog) or >>another perf session (e.g. perf top etc.). >> >>If the watchdog is disabled but another perf session is running, the >>contents of the counter registers might give you a hint what is >>profiled: >> >> # taskset $CPU echo p > /proc/sysrq-trigger >> # dmesg | tail -n 30 >> ... >> >>The bit 0-7 of the PMC's ctrl register contains the event type to be >>counted. >> >>-Robert > > > |
From: 张伟 <zha...@12...> - 2013-04-30 02:10:50
|
I want to use oprofile to get cache misses. However, I meet the problem in the email. On xen platform, only opcontrol --list-events only shows Using timer interrupt. In the email, I was told to run the command like this: taskset $CPU echo p > /proc/sysrq-trigger In my server, $CPU is NULL. How to set it? root@nimbnode7:~# taskset $CPU echo p > /proc/sysrq-trigger taskset: failed to parse CPU mask: echo root@nimbnode7:~# echo $CPU 在 2013-04-30 07:19:02,"Maynard Johnson" <may...@us...> 写道: >On 04/29/2013 04:36 PM, 张伟 wrote: >> When I install perf, use perf list, I can see the cache misses event >> >> hello.c >> #include<stdio.h> >> #include<unistd.h> >> int main(){ >> int i = 0; >> while (i < 20){ >> printf("Hello world!\n"); >> i++; >> sleep(1); >> } >> return 0; >> } >> >> >> When I want to run the command perf stat -e cache ./hello >> >> It shows that >> Performance counter stats for './hello': >> >> <not supported> cache-misses >> >> 20.003974905 seconds time elapsed >> >> Can you tell me why this happens? I want to use cache misses event to trace an application. >The perf tool is not supported on the oprofile-list. It has its own mailing list (http://vger.kernel.org/vger-lists.html#linux-perf-users), so you could post your question there. But if you are in xen environment, I don't think perf will work without some special patches. A google search turned up this wiki page on the topic: http://wiki.xen.org/wiki/Xen_Profiling:_oprofile_and_perf. > >-Maynard >> >> >> >> >> At 2013-04-30 01:10:31,"Robert Richter" <rr...@ke...> wrote: >>>On 26.04.13 07:15:35, Maynard Johnson wrote: >>>> Would you have any idea why this oprofile user cannot get around the >>>> error below ("Error: counter 0 not available nmi_watchdog using this >>>> resource ?")? >>> >>>This happens if perf is running. This either can be the perf watchdog >>>(can be disabled with echo 0 > /proc/sys/kernel/nmi_watchdog) or >>>another perf session (e.g. perf top etc.). >>> >>>If the watchdog is disabled but another perf session is running, the >>>contents of the counter registers might give you a hint what is >>>profiled: >>> >>> # taskset $CPU echo p > /proc/sysrq-trigger >>> # dmesg | tail -n 30 >>> ... >>> >>>The bit 0-7 of the PMC's ctrl register contains the event type to be >>>counted. >>> >>>-Robert >> >> >> > |
From: Robert R. <rr...@ke...> - 2013-04-30 09:22:35
|
On 30.04.13 10:10:07, 张伟 wrote: > I want to use oprofile to get cache misses. However, I meet the problem in the > email. > > On xen platform, only opcontrol --list-events only shows > Using timer interrupt. Oprofile can not be used in a Xen guest, hw counters are not available there. > taskset $CPU echo p > /proc/sysrq-trigger This is to read the counters on cpu 0: taskset 0x01 echo p > /proc/sysrq-trigger If you don't care about the cpu, this should be enough: echo p > /proc/sysrq-trigger -Robert |
From: 张伟 <zha...@12...> - 2013-04-30 14:04:05
|
在 2013-04-30 17:22:24,"Robert Richter" <rr...@ke...> 写道: >On 30.04.13 10:10:07, 张伟 wrote: >> I want to use oprofile to get cache misses. However, I meet the problem in the >> email. >> >> On xen platform, only opcontrol --list-events only shows >> Using timer interrupt. > >Oprofile can not be used in a Xen guest, hw counters are not available >there. > However, I run the command opcontrol --list-events in domain0, not domainU. Why only Using timer interrupt in domain0. Onanother server, also run the xen 4.1.2 and ubuntu 12.04, the kernel is root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# uname -a Linux nimbnode2 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux I run the following command root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --version opcontrol: oprofile 0.9.5 compiled on Apr 22 2013 09:10:43 root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --init root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --no-vmlinux root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --start Error: counter 0 not available nmi_watchdog using this resource ? Try: opcontrol --deinit echo 0 > /proc/sys/kernel/nmi_watchdog root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# cat /proc/sys/kernel/nmi_watchdog 0 I have set 0 to the file /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Still the same problem. The cpuinfo on nimbnode2 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz stepping : 5 microcode : 0x4 cpu MHz : 2660.090 cache size : 8192 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm bogomips : 5320.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz stepping : 5 microcode : 0x4 cpu MHz : 2660.090 cache size : 8192 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm bogomips : 5320.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: ..... processor : 7 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Xeon(R) CPU X3450 @ 2.67GHz stepping : 5 microcode : 0x4 cpu MHz : 2660.090 cache size : 8192 KB physical id : 0 siblings : 2 core id : 3 cpu cores : 1 apicid : 7 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm bogomips : 5320.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: On this server, >> taskset $CPU echo p > /proc/sysrq-trigger > >This is to read the counters on cpu 0: > > taskset 0x01 echo p > /proc/sysrq-trigger > >If you don't care about the cpu, this should be enough: > > echo p > /proc/sysrq-trigger > >-Robert |
From: Maynard J. <may...@us...> - 2013-05-02 14:02:27
|
On 04/30/2013 09:03 AM, 张伟 wrote: > > > > 在 2013-04-30 17:22:24,"Robert Richter" <rr...@ke...> 写道: >>On 30.04.13 10:10:07, 张伟 wrote: >>> I want to use oprofile to get cache misses. However, I meet the problem in the >>> email. >>> >>> On xen platform, only opcontrol --list-events only shows >>> Using timer interrupt. >> > >>Oprofile can not be used in a Xen guest, hw counters are not available >>there. >> > > However, I run the command opcontrol --list-events in domain0, not domainU. Why only Using timer interrupt in domain0. > > On another server, also run the xen 4.1.2 and ubuntu 12.04, the kernel is > > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# uname -a > Linux nimbnode2 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux > > I run the following command > > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --version > opcontrol: oprofile 0.9.5 compiled on Apr 22 2013 09:10:43 > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --init > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --no-vmlinux > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --start > Error: counter 0 not available nmi_watchdog using this resource ? Try: > opcontrol --deinit > echo 0 > /proc/sys/kernel/nmi_watchdog > root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# cat /proc/sys/kernel/nmi_watchdog > 0 Please run the commands Robert suggested: # echo p > /proc/sysrq-trigger # dmesg | tail -n 30 And then paste the dmesg output in your reply. -Maynard > > I have set 0 to the file /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Still the same problem. > [snip[ |