amazon-ec2profilingvirtual-machinexenoprofile

How can I get OProfile / Xenoprof to use event counters when running on EC2?


I'm writing a cluster-wide profiling tool for EC2 that is designed to collect data by running OProfile on each instance. I'd eventually like to aggregate the XML output generated by opreport, and analyze it later.

Right now, I'm stuck on getting OProfile to see hardware events -- all I can do is build profiles in Timer Interrupt mode. I have a feeling this is due to the fact that EC2 instances run in a virtualized environment, where OProfile cannot see hardware events.

I looked into this hunch a bit, and came up with Xenoprof as a possible solution, but there's very limited documentation on how to get it up and running with EC2.

If anyone's had any success running Xenoprof on EC2 (and I know there must be some successes, because there are several papers about it), could you clue me in as to what's going wrong?

When I run yum install oprofile

and then man opcontrol

on the instance, I see the options for xen are there, which I think means that Xenoprof must be installed. I just don't know what to do to get the hardware events as my samples.

Any advice would be much appreciated! Thanks.


Solution

  • Following https://bugzilla.redhat.com/show_bug.cgi?id=582570 I was able to get oprofile to run on EC2:

    opcontrol --deinit 
    modprobe oprofile timer=1
    opcontrol --reset
    opcontrol --no-vmlinux
    opcontrol --start