Hi,dear.


I have been using lttng to monitor my server these days,but I found something interesting.

The cpu usage of lttng varies with the number of cpu cores of the server.


On the server, I create a tracing session in live mode, using "lttng create my-session --live". 

Then,I Start the babeltrace2 and configure it to connect to the relay daemon,using "--input-format=lttng-live" mode.

I used 5 cloud servers,1core4G 2core8G 4core16G 8core16G 8core16G.

And,the same test script was executed above to provide the same workload.


As we all know,lttng has 5 processes,

1.lttng-runas    --daemonize

2.lttng-runas      -k --consumerd-cmd-sock /var/run/lttng/kconsumerd/command --consumerd-err-sock /var/run/lttng/kconsumerd/error --group tracing

3.lttng-sessiond --daemonize

4.lttng-relayd -L tcp://localhost:5344

5.lttng-consumerd  -k --consumerd-cmd-sock /var/run/lttng/kconsumerd/command --consumerd-err-sock /var/run/lttng/kconsumerd/error --group tracing


The CPU usage of the first four processes is below 2% on the 5 servers,but the lttng-consumerd process is different.

On 1-core、2-core、4-core servers,the CPU usage of the lttng-consumerd process is below 2%.

But on two 8-core machines, the cpu usage of the lttng-consumerd process reached 10% or more.


And,the cpu usage of the babeltrace process is not much different,just the cpu usage of the lttng-consumerd process varies with the number of cpu cores of the server.


Why it is like this?How should this phenomenon be analyzed?


Looking forward to your reply.


thanks,
yuhua