Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Erlang VM: scheduler runtime information

I was searching for a way to retrieve information about how the scheduling is done during a program's execution: which processes are in which scheduler, if they change, what process is active at each scheduler, if each scheduler runs in one core etc...

Any ideas or related documentation/articles/anything?

like image 402
raymond Avatar asked Nov 25 '11 17:11

raymond


1 Answers

I would suggest you take a look on the following tracing/profiling options:

erlang:system_profile/2

It has options for monitoring scheduler and run queue (runnable_procs) activity. The scheduler option will report

{profile, scheduler, Id, State, NoScheds, Ts}

where State will tell you if it is active or not. NoScheds reports the number of currently active schedulers (if I remember correctly).

The runnable_procs option will let you know if a process is put into or removed from a run queue of a particular scheduler.

like image 73
psyeugenic Avatar answered Oct 13 '22 22:10

psyeugenic