Есть ли способ получить совокупное время ЦП, использованное за некоторый интервал для всех процессов, включая процессы, которые больше не существуют в конце интервала.

top -S может сделать это, но это не дает вам понимания реальных процессов, которые использовали время. Например, первые несколько элементов top -S отсортированные по времени, выглядят так:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                 
 1630 beeonr    20   0   46472   4212   3076 S   0.0  0.0 624:16.94 upstart                                                                                                                                 
12394 beeonr    20   0   28264   9672   2164 S   0.0  0.1 340:06.54 bash                                                                                                                                    
 1317 root      20   0  715100  79976  65224 S   1.3  0.5 177:59.66 Xorg                                                                                                                                    
 3199 beeonr    20   0 1553868 306368  51220 S   0.3  1.9 130:03.08 compiz                                                                                                                                  
27026 beeonr    20   0 9915552 842076 169492 S   0.3  5.2  62:02.38 firefox                                                                                                                                 

Из этого списка firefox и, в некоторой степени, compiz - единственные два, где процессорное время действительно использовалось главным образом этим процессом. Такие вещи, как upstart и bash имеют огромные значения только потому, что многие тяжелые процессы, такие как задачи компиляции или различные демоны, запускались из командной строки или upstart, и когда эти процессы прекращались, их время ЦП было назначено их родителю (и т.д. Рекурсивно). Таким образом, сам bash , вероятно, использовал очень мало процессорного времени.

Мне бы хотелось получить представление о системе, которая фиксирует базовый процесс, который использует процессорное время, например, должна быть строка /usr/bin/gcc если я много компилировал за этот интервал.

0