How to plot performance data based on process ID?

2 次查看(过去 30 天)
I have the following performance data. Column 1 is time, Column 2 is the process ID and Column 3 is CPU usage. First, I want to plot by each process ID but I don't want to hard code the process ID because I like to run it over multiple machines. Second, I want to plot a total usage. That is, at each time, add all the CPU together across all process ID's. Thank you for the help.
1680569427 83321 73.3
1680569427 83325 0.0
1680569427 83326 0.0
1680569427 83327 0.0
1680569427 83328 0.0
1680569427 83329 0.0
1680569427 83331 0.0
1680569427 83332 0.0
1680569427 83333 0.0
1680569427 83334 0.0
1680569427 83335 0.0
1680569427 83336 0.0
1680569429 83321 40.0
1680569429 83325 0.0
1680569429 83326 0.0
1680569429 83327 0.0
1680569429 83328 0.0
1680569429 83329 0.0
1680569429 83331 0.0
1680569429 83332 0.0
1680569429 83333 0.0
1680569429 83334 0.0
1680569429 83335 0.0
1680569429 83336 0.0
1680569431 83321 86.7
1680569431 83326 6.7
1680569431 83327 6.7
1680569431 83325 0.0
1680569431 83328 0.0
1680569431 83329 0.0
1680569431 83331 0.0
1680569431 83332 0.0
1680569431 83333 0.0
1680569431 83334 0.0
1680569431 83335 0.0
1680569431 83336 0.0

采纳的回答

VBBV
VBBV 2023-4-4
编辑:VBBV 2023-4-4
Data = [1680569427 83321 73.3
1680569427 83325 0.0
1680569427 83326 0.0
1680569427 83327 0.0
1680569427 83328 0.0
1680569427 83329 0.0
1680569427 83331 0.0
1680569427 83332 0.0
1680569427 83333 0.0
1680569427 83334 0.0
1680569427 83335 0.0
1680569427 83336 0.0
1680569429 83321 40.0
1680569429 83325 0.0
1680569429 83326 0.0
1680569429 83327 0.0
1680569429 83328 0.0
1680569429 83329 0.0
1680569429 83331 0.0
1680569429 83332 0.0
1680569429 83333 0.0
1680569429 83334 0.0
1680569429 83335 0.0
1680569429 83336 0.0
1680569431 83321 86.7
1680569431 83326 6.7
1680569431 83327 6.7
1680569431 83325 0.0
1680569431 83328 0.0
1680569431 83329 0.0
1680569431 83331 0.0
1680569431 83332 0.0
1680569431 83333 0.0
1680569431 83334 0.0
1680569431 83335 0.0
1680569431 83336 0.0];
PID = Data(:,2);
Usage_CPU = Data(:,3);
Time = datetime(Data(:,1),'ConvertFrom','posix')
Time = 36×1 datetime array
04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31
subplot(211)
plot(Time, PID); title('Process ID')
subplot(212)
plot(Time, cumsum(Usage_CPU)); title('Total CPU usage')
  4 个评论
VBBV
VBBV 2023-4-4
编辑:VBBV 2023-4-4
Since there are only three process ID (PID) with finite CPU usage time in the given data, the % data appears highly skewed. PID 26 & 27 have same usage time hence, the lines overlap in the graph, while PID 21 is somewhat different. If all the PIDs have finite and different usage times, then it would produce graph similar to what you have shown.
Igenyar
Igenyar 2023-4-4
Exactly what I want, thank you so much for the help!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by