What does scheduler/aux mean in msacc?
Fernando Benavides
elbrujohalcon@REDACTED
Fri Jul 3 16:14:01 CEST 2020
Hi Erlangers,
It's me again… still trying to understand why my system behaves worse in
OTP22 than OTP21.
The last thing I tried was running MicroStateAccounting
<http://erlang.org/doc/man/msacc.html> on it and the results showed
something *odd*…
These are two of my summaries for OTP21:
Stats per type:
Thread *aux* check_io *emulator* gc other port
sleep
async 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
aux 0.23% 0.06% 0.00% 0.00% 0.09% 0.00%
99.62%
dirty_cpu_sche 0.00% 0.00% 0.01% 0.20% 0.00% 0.00%
99.79%
dirty_io_sched 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
poll 0.00% 0.58% 0.00% 0.00% 0.00% 0.00%
99.42%
scheduler *2.05%* 0.56% *71.29%* 13.25% 3.00% 1.89%
7.96%
ok
Stats per type:
async 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
aux 0.23% 0.07% 0.00% 0.00% 0.08% 0.00%
99.62%
dirty_cpu_sche 0.00% 0.00% 0.01% 0.29% 0.00% 0.00%
99.70%
dirty_io_sched 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
poll 0.00% 0.61% 0.00% 0.00% 0.00% 0.00%
99.39%
*scheduler* *2.26%* 0.56% *68.70%* 12.69% 3.42% 1.89%
10.48%
ok
These are the corresponding two summaries for OTP22 (same period of time,
same code, running the same things):
Stats per type:
Thread *aux* check_io *emulator* gc other port
sleep
async 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
aux 0.49% 0.06% 0.00% 0.00% 0.28% 0.00%
99.16%
dirty_cpu_sche 0.00% 0.00% 0.00% 0.19% 0.00% 0.00%
99.80%
dirty_io_sched 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
99.99%
poll 0.00% 0.53% 0.00% 0.00% 0.00% 0.00%
99.47%
*scheduler* *6.26%* 0.52% *63.83%* 14.41% 3.05% 1.72%
10.20%
ok
Stats per type:
async 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
100.00%
aux 0.39% 0.07% 0.00% 0.00% 0.18% 0.00%
99.36%
dirty_cpu_sche 0.00% 0.00% 0.00% 0.22% 0.00% 0.00%
99.78%
dirty_io_sched 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
99.99%
poll 0.00% 0.51% 0.00% 0.00% 0.00% 0.00%
99.49%
*scheduler* *6.97%* 0.54% *63.88%* 13.73% 3.19% 1.74%
9.96%
ok
I highlighted the strange/different parts there, but in a nutshell:
The scheduler is spending more time *handling **auxiliary jobs *and less
time *executing Erlang processes *(for context
<http://erlang.org/doc/man/erlang.html#statistics_microstate_accounting>).
Can anybody give me a clue as to what to check next? How can I determine
what are those *auxiliary jobs* that the scheduler is working on now?
Thanks in advance :)
--
<https://about.me/elbrujohalcon?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=gmail_api&utm_content=thumb>
Brujo Benavides
about.me/elbrujohalcon
<https://about.me/elbrujohalcon?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=gmail_api&utm_content=thumb>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200703/57a9e02b/attachment.htm>
More information about the erlang-questions
mailing list