[erlang-questions] start_timer and timer fired lag
Jesper Louis Andersen
Mon Mar 26 17:35:47 CEST 2018
Pure guess: You are being CPU throttled in order to save power, or the
virtual machine is throttling you.
Enable the erlang system monitor and start looking for long schedules.
These are usually an indication that you are being throttled by something.
Either a bad NIF which isn't dirty-scheduling the right way, or by the
underlying system stalling you. Perhaps because your timer is on a separate
core and async-fires to another core. In general, timers can be stalled by
the system, so you have no guarantee that they will fire close after their
trigger point. But if you have timers which are periodically behind
schedule, I'd look into the virtual setup.
One simple test is to run outside virtualization to make sure it isn't
causing the problems. But I'd enable the system monitor anyway since it is
a good way to detect unruly underlying hardware/virtualization layers.
On Mon, Mar 26, 2018 at 4:19 PM Alexander Petrovsky <askjuise@REDACTED>
> I'm usgin nksip library for working with sip protocol and in my virtual
> machine (windows -> virtualbox -> ubuntu) I'm observer very strange
> behaviour with erlang:start_timer . Some time in common test, the timer
> fires with lacency with hundred milliseconds.
> I've check, there is no messages in queue, msacc says there is no problem
> with schedulers and whole system is idle, erlang:monitor(time_offset,
> clock_service) show that time in virtual machine flows monotonically.
> I wonder, how can I find out why erlang behaves strange sometimes?
> Erlang version is:
> $ erl
>> Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10]
>> [async-threads:10] [kernel-poll:false]
>> Eshell V9.2 (abort with ^G)
> Петровский Александр / Alexander Petrovsky,
> Skype: askjuise
> Phone: +7 931 9877991 <+7%20931%20987-79-91>
> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions