Mọi quy trình được thực thi trên hệ thống máy tính đều yêu cầu CPU thực hiện những gì nó được mong đợi. Có thể có những lúc CPU của hệ thống bị quá tải (do số lượng hoặc loại quy trình đang chạy trên hệ thống) và vì lý do nào đó, bạn muốn biết số lượng đơn vị xử lý khả dụng cho các quy trình mới. Vâng, có một công cụ có tên là nproc mà bạn có thể sử dụng để xác nhận thông tin này.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của nproc bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện điều đó, cần đề cập rằng tất cả các ví dụ có trong bài viết này đều đã được thử nghiệm trên Ubuntu 16.04 LTS.
Và đây là cách trang hướng dẫn của tiện ích định nghĩa lệnh này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh nproc hoạt động.
Trên hệ thống của tôi, công cụ tạo ra kết quả đầu ra sau:
Vì vậy, kết quả đầu ra là '4'.
Cần đề cập rằng con số này không biểu thị số lượng CPU vật lý. Đầu ra của nproc tương ứng với trường CPU trong đầu ra của lệnh lscpu.
Và bản thân CPU không gì khác ngoài:
Số luồng trên mỗi lõi X số lõi trên mỗi socket X số socket
Vì vậy, trong trường hợp của chúng ta, kết quả sẽ là 2x2x1, bằng 4.
Ví dụ, đây là tùy chọn đang hoạt động:
Vì vậy, trên hệ thống của tôi, tổng số đơn vị xử lý đã cài đặt là 4.
Ví dụ:
PS: Trong trường hợp bạn muốn biết thêm về lệnh nproc, bạn có thể sử dụng tùy chọn --help và --version.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của nproc bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện điều đó, cần đề cập rằng tất cả các ví dụ có trong bài viết này đều đã được thử nghiệm trên Ubuntu 16.04 LTS.
Lệnh nproc của Linux
Lệnh nproc về cơ bản sẽ hiển thị số lượng đơn vị xử lý khả dụng ở đầu ra. Sau đây là cú pháp của công cụ:
Mã:
nproc [OPTION]...
Mã:
In số lượng đơn vị xử lý khả dụng cho quy trình hiện tại, có thể ít hơn
số lượng bộ xử lý trực tuyến
Câu hỏi 1. Sử dụng nproc như thế nào?
Điều này rất dễ - tất cả những gì bạn phải làm là chạy lệnh 'nproc'.
Mã:
nproc
Vì vậy, kết quả đầu ra là '4'.
Cần đề cập rằng con số này không biểu thị số lượng CPU vật lý. Đầu ra của nproc tương ứng với trường CPU trong đầu ra của lệnh lscpu.
Và bản thân CPU không gì khác ngoài:
Số luồng trên mỗi lõi X số lõi trên mỗi socket X số socket
Vì vậy, trong trường hợp của chúng ta, kết quả sẽ là 2x2x1, bằng 4.
Q2. Làm thế nào để nproc in tổng số đơn vị xử lý đã cài đặt?
Thay vì số lượng đơn vị xử lý khả dụng, nếu bạn muốn nproc hiển thị tổng số đơn vị xử lý đã cài đặt, bạn có thể sử dụng tùy chọn --all.
Mã:
nproc --all
Vì vậy, trên hệ thống của tôi, tổng số đơn vị xử lý đã cài đặt là 4.
Câu hỏi 3. Làm thế nào để nproc loại trừ một số đơn vị xử lý?
Có một tùy chọn dòng lệnh --ignore mà bạn có thể sử dụng để cho nproc biết rằng nếu có thể, hãy loại trừ một số lượng đơn vị xử lý nhất định.Ví dụ:
Mã:
nproc --ignore=2