[erlang-questions] msacc and dirty scheduler
Alexander Petrovsky
askjuise@REDACTED
Wed Nov 14 16:17:39 CET 2018
> Also, there are bugs in the microstate accounting fixed in OTP-21 that I
think still exists in pre OTP-20 versions that caused dirty schedulers to
report incorrect statistics. The printout looks very similar to a bug where
sleep was accredited to the emulator state.
Thanks, Lukas, got it.
ср, 14 нояб. 2018 г. в 17:38, Danil Zagoskin <z@REDACTED>:
> Hi!
>
> Probably it is disk or network I/O.
>
> You may use iostat to see if your disk utilization is OK.
> You may use lcnt to see if there are any locks on some port.
> You may use a simple tool I wrote for cases when something is very slow
> and you don't know what exactly it is:
> https://gist.github.com/stolen/9a28ed9403c724541b0ee5fcd822613e
>
Oh, interesting. Will try to use your tool. Thanks
>
>
> On Wed, Nov 14, 2018 at 5:18 PM Alexander Petrovsky <askjuise@REDACTED>
> wrote:
>
>> Hello!
>>
>> I see the follow debug info, and I would to know, which process and which
>> code utilize only one dirty scheduler? How I can find out it?
>>
>> > msacc:start(1000), msacc:print(), msacc:stop().
>>> Average thread real-time : 1000886 us
>>> Accumulated system run-time : 3440871 us
>>> Average scheduler run-time : 615277 us
>>> Thread aux check_io emulator gc other port
>>> sleep
>>> Stats per thread:
>>> async( 0) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 1) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 2) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 3) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 4) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 5) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 6) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 7) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 8) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async( 9) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(10) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(11) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(12) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(13) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(14) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(15) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(16) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(17) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(18) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(19) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(20) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(21) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(22) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(23) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(24) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(25) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(26) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(27) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(28) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> async(29) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> aux( 1) 0.13% 0.00% 0.00% 0.00% 8.69% 0.00%
>>> 91.18%
>>> dirty_cpu_( 1) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_cpu_( 2) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_cpu_( 3) 0.00% 0.00% 89.04% 0.02% 0.00% 0.00%
>>> 10.94%
>>> dirty_cpu_( 4) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 1) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 2) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 3) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 4) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 5) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 6) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 7) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 8) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s( 9) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> dirty_io_s(10) 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> scheduler( 1) 1.45% 1.61% 37.45% 6.11% 15.31% 1.35%
>>> 36.72%
>>> scheduler( 2) 1.33% 1.24% 35.30% 6.39% 16.21% 1.33%
>>> 38.19%
>>> scheduler( 3) 1.35% 1.50% 33.85% 5.50% 18.19% 1.48%
>>> 38.13%
>>> scheduler( 4) 1.59% 1.35% 31.49% 5.14% 18.29% 1.18%
>>> 40.95%
>>> Stats per type:
>>> async 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> aux 0.13% 0.00% 0.00% 0.00% 8.69% 0.00%
>>> 91.18%
>>> dirty_cpu_sche 0.00% 0.00% 22.26% 0.01% 0.00% 0.00%
>>> 77.73%
>>> dirty_io_sched 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
>>> 100.00%
>>> scheduler 1.43% 1.42% 34.53% 5.79% 17.00% 1.34%
>>> 38.49%
>>
>>
>>
>> --
>> Петровский Александр / Alexander Petrovsky,
>>
>> Skype: askjuise
>> Phone: +7 931 9877991
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>
> --
> Danil Zagoskin | z@REDACTED
>
--
Петровский Александр / Alexander Petrovsky,
Skype: askjuise
Phone: +7 931 9877991
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20181114/0896bf58/attachment.htm>
More information about the erlang-questions
mailing list