2012-11-11 36 views
5

Tôi đang chạy thử nghiệm trên một nút có 2 x Quadon Core Xeon E5520 2,2GHz, RAM 24,0 GB và Erlang R15B02 (bật SMP). Tôi tự hỏi nếu tôi có thể giới hạn số lượng lõi được sử dụng bởi máy ảo Erlang để tôi có thể tạm thời vô hiệu hóa một số lõi và tăng số bước theo từng bước để kiểm tra khả năng mở rộng.giới hạn số lượng lõi được sử dụng bởi erlang

Tôi không có quyền truy cập root trên nút này. Vì vậy, tôi mong đợi một số phương pháp hoặc là bằng cách xác định các tham số để erl hoặc bằng mã Erlang.

Trả lời

13

Bạn có thể giới hạn số lượng lõi Erlang sử dụng thông qua tùy chọn +S tới erl, cho phép bạn đặt số lượng chuỗi lịch trình hạt nhân Erlang tạo. Xem erl man page để biết thêm chi tiết.

Lưu ý rằng Erlang linked-in port driversnative implemented functions (NIFs) có thể vừa tạo chủ đề riêng của họ và do đó ảnh hưởng đến bao nhiêu lõi một quá trình Erlang sẽ sử dụng độc lập với chủ đề xác định bằng tùy chọn +S, mặc dù không ai trong số các trình điều khiển tiêu chuẩn hoặc NIFs làm điều này . Ngoài ra, tùy chọn +A để erl tạo một nhóm các chủ đề không đồng bộ để sử dụng bởi trình điều khiển cũng có thể ảnh hưởng đến số lõi được sử dụng và theo mặc định, nhóm chủ đề không đồng bộ có 10 luồng (mặc định là rỗng trước phiên bản Erlang/OTP R16B) .

+0

Cảm ơn! Bạn có thể giải thích sự khác biệt giữa '+ S 4: 2' và' + S 2: 2' (tức là 'Trình lập lịch' lớn hơn 'SchedulerOnline') không? –

+1

'+ S 2: 2' có nghĩa là bạn muốn có hai trình lên lịch và bạn muốn cả hai người lên mạng. '+ S 4: 2' có nghĩa là bạn muốn có bốn trình lên lịch nhưng bạn chỉ muốn hai trong số chúng trực tuyến. Cũng lưu ý rằng khi chạy ứng dụng của bạn có thể kiểm tra và thay đổi số lượng các trình lập lịch biểu và lịch trình trực tuyến thông qua các hàm 'erlang: system_info/1' và' erlang: system_flag/2'; xem tài liệu cho [system_info/1] (http://www.erlang.org/doc/man/erlang.html#system_info-1) và [system_flag/2] (http://www.erlang.org/doc /man/erlang.html#system_flag-2) để biết thêm chi tiết. –

+0

Nhưng vì số lượng các bộ lập lịch trực tuyến giống nhau, hiệu ứng của các giá trị 'Schedulers' khác nhau là gì? –

Các vấn đề liên quan