2012-11-11 12 views
5

Przeprowadzam eksperymenty na węźle z 2 x czterordzeniowym procesorem Xeon E5520 2,2 GHz, 24.0 GB pamięci RAM i Erlang R15B02 (z obsługą SMP). Zastanawiam się, czy mogę ograniczyć liczbę rdzeni używanych przez maszynę Erlang VM, aby tymczasowo wyłączyć niektóre rdzenie i zwiększyć liczbę krok po kroku, aby przetestować skalowalność.Ograniczenie liczby rdzeni używanych przez erlang

Nie mam uprawnień administratora w tym węźle. Spodziewam się więc metody polegającej na podaniu parametrów do erl lub kodu Erlang.

Odpowiedz

13

Możesz ograniczyć liczbę rdzeni używanych przez Erlanga poprzez opcję +S do erl, która pozwala ustawić liczbę wątków jądra programu planującego, które tworzy Erlang. Więcej szczegółów znajduje się w erl man page.

Zauważ, że Erlang linked-in port drivers i native implemented functions (NIF) może zarówno tworzyć własne wątki, a tym samym wpływać na wiele rdzeni proces Erlang użyje niezależnie od wątków określonych poprzez opcję +S, choć żaden ze standardowych sterowników lub NFI to zrobić . Również opcja +A do erl tworzy pulę asynchronicznych wątków używanych przez sterowniki, które mogą również wpływać na liczbę używanych rdzeni, a domyślnie pula wątków asynchronicznych ma 10 wątków (domyślnie była pusta przed wersją Erlang/OTP R16B) .

+0

Dzięki! Czy mógłbyś wyjaśnić różnicę między '+ S 4: 2' i' + S 2: 2' (np. 'Schedulers' jest większy niż' SchedulerOnline')? –

+1

'+ S 2: 2' oznacza, że ​​chcesz mieć dwa programy planujące i chcesz, aby oba były online. '+ S 4: 2' oznacza, że ​​chcesz mieć cztery harmonogramy, ale chcesz, aby tylko dwa z nich były dostępne online. Zauważ też, że w czasie wykonywania aplikacja może sprawdzać i zmieniać liczbę programów planujących i planerów online za pomocą funkcji 'erlang: system_info/1' i' erlang: system_flag/2'; zobacz dokumentację dla [system_info/1] (http://www.erlang.org/doc/man/erlang.html#system_info-1) i [system_flag/2] (http://www.erlang.org/doc /man/erlang.html#system_flag-2) po więcej szczegółów. –

+0

Ale skoro liczba planistów online jest taka sama, jaki jest efekt różnych wartości 'Schedulers'? –

Powiązane problemy