What does scheduler/aux mean in msacc?
Lukas Larsson
lukas@REDACTED
Fri Jul 3 16:21:48 CEST 2020
Hello,
On Fri, Jul 3, 2020 at 4:14 PM Fernando Benavides <elbrujohalcon@REDACTED>
wrote:
> 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?
>
>
You can enable more msacc stats by turning on extra states. This is a
compile-time flag that you pass to configure: ./configure
--with-microstate-accounting=extra
My guess would be that the extra time ends up in the alloc state, which
means that it for some reason extra memory allocation is happening which is
slowing down the system.
Lukas
> 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/babddcd8/attachment.htm>
More information about the erlang-questions
mailing list