2016-06-17 23 views
27

Cho phép nói rằng tôi đang chạy một dịch vụ multiprocessing bên trong một vùng chứa docker sinh ra nhiều quy trình, trình docker có sử dụng tất cả/nhiều lõi/CPU của máy chủ lưu trữ hay chỉ một?Bao nhiêu bộ nạp docker sử dụng?

+8

Vì có nhiều CPU như nhóm mà nó được phép sử dụng. Mà theo mặc định, không giới hạn. Xem '--cpuset-cpus' nếu bạn muốn thay đổi điều đó. –

+2

(Một docker container chỉ là một bó của không gian tên riêng - vì nó không phải là thi đua CPU, nó sẽ cần phải đi ra khỏi con đường của mình để áp đặt bất kỳ hạn chế về họ, hạt nhân Linux cung cấp các cơ sở để * cho phép * như vậy đi ra ngoài - một chiều, nhưng đó vẫn là thứ cần được thực hiện một cách rõ ràng). –

+1

Đó là câu hỏi hợp lệ, tại sao downvote? – kev

Trả lời

27

Như Charles đề cập, theo mặc định, tất cả có thể được sử dụng hoặc bạn có thể giới hạn nó cho mỗi vùng chứa bằng thông số --cpuset-cpus.

docker run --cpuset-cpus="0-2" myapp:latest 

Điều đó sẽ hạn chế vùng chứa đến 3 CPU (0, 1 và 2). Xem docker run docs để biết thêm chi tiết.

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