Q:

Linux perf tools - How to simultaniously profiling multiple processes? How to extract Percentage of CPU cycles?

I am trying to profile a set of processes on my CPU. In order to be very precise I want to use the perf stat command to see how many CPU cycles my processes used.
This is different from top, where I only see the percentage of the CPU used in a snapshot. 
Unfortunately I didn't find a way to profile multiple processes at the same time. Is this possible?
And as a second question: Is it possible to not only see the CPU cycles used, but also the total amount of CPU cycles (or the percentage) used in the same time interval?

A:

You can try running perf stat -p PID1,PID2,PID3 for every pid you want (get them with pidof, pgrep, etc...) http://man7.org/linux/man-pages/man1/perf-stat.1.html 
 -p, --pid=<pid>
    stat events on existing process id (comma separated list)

There is also useful -I msecs option to enable periodic printing and --per-thread to separate threads. 
Also try system-wide perf stat -a with -A or some --per-* options: http://man7.org/linux/man-pages/man1/perf-stat.1.html
   -a, --all-cpus
       system-wide collection from all CPUs (default if no target is
       specified)
   -A, --no-aggr
       Do not aggregate counts across all monitored CPUs.

   --per-socket
       Aggregate counts per processor socket for system-wide mode
       measurements. This is a useful mode to detect imbalance between
       sockets. To enable this mode, use --per-socket in addition to -a.
       (system-wide). The output includes the socket number and the
       number of online processors on that socket. This is useful to
       gauge the amount of aggregation.

   --per-core
       Aggregate counts per physical processor for system-wide mode
       measurements. This is a useful mode to detect imbalance between
       physical cores. To enable this mode, use --per-core in addition
       to -a. (system-wide). The output includes the core number and the
       number of online logical processors on that physical processor.

   --per-thread
       Aggregate counts per monitored threads, when monitoring threads
       (-t option) or processes (-p option).

