Đây là lệnh hwloc-bind có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
hwloc-bind - Khởi chạy một lệnh được liên kết với các bộ xử lý và / hoặc bộ nhớ cụ thể, hoặc
tham khảo sự ràng buộc của một chương trình hiện có
SYNOPSIS
liên kết hwloc [lựa chọn] [ [...] ] [-] ...
Lưu ý rằng thân tàu(7) cung cấp giải thích chi tiết về hệ thống hwloc và có giá trị
các định dạng; nó nên được đọc trước khi đọc trang người đàn ông này.
LỰA CHỌN
--cpubind Sử dụng các đối số sau để ràng buộc CPU (mặc định).
--membind Sử dụng các đối số sau để liên kết bộ nhớ. Nếu như --chính sách ghi nhớ cũng không được đưa ra,
chính sách mặc định là ràng buộc.
--chính sách ghi nhớ
Thay đổi chính sách liên kết bộ nhớ. Các chính sách có sẵn là mặc định,
lần chạm đầu tiên, liên kết, xen kẽ bản sao và lần chạm tiếp theo. Tùy chọn này chỉ là
có ý nghĩa khi một ràng buộc thực tế cũng được đưa ra với --membind. Nếu --membind is
cho mà không --chính sách ghi nhớ, chính sách mặc định là ràng buộc.
--được Báo cáo các ràng buộc hiện tại.
Khi một lệnh được đưa ra, ràng buộc sẽ được hiển thị trước khi thực hiện lệnh.
Khi không có lệnh nào được đưa ra, chương trình sẽ thoát sau khi hiển thị
sự ràng buộc.
Khi kết hợp với --membind, báo cáo ràng buộc bộ nhớ thay vì ràng buộc CPU.
Không có vị trí nào có thể được đưa ra vì không có ràng buộc nào được thực hiện.
-e --get-cuối-cpu-location
Báo cáo bộ xử lý cuối cùng nơi quá trình chạy. Lưu ý rằng kết quả có thể
đã lỗi thời khi được báo cáo vì hệ điều hành có thể di chuyển
xử lý cho các bộ xử lý khác bất kỳ lúc nào theo ràng buộc.
Khi một lệnh được đưa ra, bộ xử lý cuối cùng sẽ được hiển thị trước khi thực hiện
chỉ huy. Khi không có lệnh nào được đưa ra, chương trình sẽ thoát sau khi hiển thị
bộ vi xử lý.
Tùy chọn này không thể được kết hợp với --membind.
Không có vị trí nào có thể được đưa ra vì không có ràng buộc nào được thực hiện.
--Độc thân Liên kết trên một CPU để ngăn di chuyển.
--khắt khe Yêu cầu ràng buộc chặt chẽ.
- lipid
Hoạt động trên pid
-p --vật lý
lấy chỉ mục hệ điều hành / vật lý thay vì chỉ mục logic
-l --hợp lý
lấy chỉ mục logic thay vì chỉ mục vật lý / hệ điều hành (mặc định)
--tác vụ Hiển thị chuỗi bộ CPU ở định dạng được dòng lệnh bộ tác vụ công nhận
chương trình thay vì định dạng chuỗi bộ CPU dành riêng cho hwloc. Tùy chọn này không có
tác động đến định dạng của chuỗi bộ CPU đầu vào, cả hai định dạng luôn được chấp nhận.
--hạn chế
Giới hạn cấu trúc liên kết đối với cpuset đã cho.
--Toàn bộ hệ thống
Không xem xét các giới hạn quản lý.
-f --lực lượng
Khởi chạy tệp thực thi ngay cả khi liên kết không thành công.
-q --Yên lặng
Ẩn thông báo lỗi không nghiêm trọng. Nó bao gồm các vị trí trỏ đến không tồn tại
các đối tượng, cũng như không thể ràng buộc. Điều này thường hữu ích ngoài việc
--lực lượng.
-v --dài dòng
Báo cáo dài dòng.
--phiên bản Báo cáo phiên bản và thoát.
MÔ TẢ
hwloc-bind thực thi một tệp thực thi (với các đối số dòng lệnh tùy chọn) được liên kết với
vị trí được chỉ định (hoặc danh sách các vị trí). Sau khi thực thi thành công, hwloc-bind chỉ cần
thiết lập các ràng buộc và sau đó thực thi tệp thực thi trên chính nó.
Nếu liên kết không thành công hoặc nếu tập hợp liên kết trống, và --lực lượng không được đưa ra, hwloc-bind
trả về với một lỗi thay vì khởi chạy tệp thực thi.
LƯU Ý: Chúng tôi rất khuyến khích bạn đọc thân tàu(7) trang tổng quan trước khi đọc
trang người đàn ông này. Hầu hết các khái niệm được mô tả trong thân tàu(7) trực tiếp áp dụng cho hwloc-
ràng buộc tiện ích.
VÍ DỤ
Hoạt động của hwloc-bind được mô tả tốt nhất qua một số ví dụ. Thêm chi tiết về cách
các vị trí được chỉ định trên dòng lệnh hwloc-bind được mô tả trong thân tàu(7).
Để chạy lệnh echo trên bộ xử lý logic đầu tiên của gói thứ hai:
gói hwloc-bind: 1.pu: 0 - echo xin chào
chính xác tương đương với
gói hwloc-bind: 1.pu: 0 echo xin chào
Để liên kết lệnh "echo" với lõi đầu tiên của gói thứ hai và lõi thứ hai của
gói đầu tiên:
gói hwloc-bind: 1.core: 0 package: 0.core: 1 echo xin chào
Lưu ý rằng liên kết lệnh "echo" với nhiều bộ xử lý có thể là vô nghĩa
(bởi vì "echo" có thể được triển khai như một ứng dụng đơn luồng); những ví dụ này
chỉ phục vụ để hiển thị những gì hwloc-bind có thể làm.
Để chạy trên ba gói đầu tiên trên các nút thứ hai và thứ ba:
nút hwloc-bind: 1-2. gói: 0: 3 echo xin chào
cũng tương đương với:
nút hwloc-bind: 1-2. gói: 0-2 echo xin chào
Lưu ý rằng nếu bạn cố gắng liên kết với các đối tượng không tồn tại, hwloc-bind sẽ không cảnh báo
trừ khi -v đã được chỉ định.
Để chạy trên bộ xử lý có chỉ số vật lý 2 trong gói có chỉ số vật lý 1:
hwloc-bind - gói vật lý: 1.core: 2 echo xin chào
Để chạy trên các lõi lẻ trong các gói chẵn:
gói hwloc-bind: chẵn.core: tiếng vọng lẻ xin chào
Để chạy trên gói đầu tiên, ngoại trừ trên lõi thứ hai và thứ năm của nó:
gói hwloc-bind: 0 ~ gói: 0.core: 1 ~ gói: 0.core: 4 echo xin chào
Để chạy ở bất kỳ đâu ngoại trừ gói đầu tiên:
hwloc-bind all ~ package: 0 echo xin chào
Để chạy trên lõi gần giao diện mạng có tên eth0:
hwloc-bind os = eth0 echo xin chào
Để chạy trên lõi gần thiết bị PCI có ID bus là 0000: 01: 02.0:
hwloc-bind pci = 0000: 01: 02.0 echo xin chào
Để liên kết bộ nhớ trên nút bộ nhớ thứ hai và chạy trên nút đầu tiên (khi được HĐH hỗ trợ):
hwloc-bind --cpubind node: 1 --membind node: 0 echo hello
Tùy chọn --get có thể báo cáo các ràng buộc hiện tại. Ví dụ này cho thấy hwloc-bind lồng nhau
lời gọi để đặt một ràng buộc và sau đó báo cáo nó:
nút hwloc-bind: 1.package: 2 hwloc-bind --get
Trên một trong các máy của nhà phát triển hwloc, ví dụ này báo cáo "0x00004444,0x44000000".
Mặt nạ được báo cáo trên máy của bạn có thể khác.
Vị trí cũng có thể được chỉ định dưới dạng mặt nạ bit hex (thường được tạo bởi hwloc-calc).
Ví dụ:
hwloc-bind 0x00004444,0x44000000 echo xin chào
hwloc-bind `hwloc-calc node: 1.package: 2` echo hello
Liên kết bộ nhớ cũng có thể được báo cáo:
hwloc-bind --membind node: 1 --mempolicy interleave - hwloc-bind --get --membind
Điều này trả về một chuỗi mô tả ràng buộc bộ nhớ, chẳng hạn như "0x000000f0 (xen kẽ)".
Lưu ý rằng nếu hệ thống không chứa bất kỳ nút NUMA nào, chuỗi được báo cáo sẽ cho biết
rằng quá trình được liên kết với toàn bộ bộ nhớ hệ thống (ví dụ: "0xf ... f").
GỢI Ý
Nếu có sẵn lstopo hỗ trợ đồ họa, hãy sử dụng
lõi hwloc-bind: 2 - lstopo --pid 0
để kiểm tra kết quả của lệnh ràng buộc của bạn thực sự là gì. lstopo sẽ đồ họa
hiển thị nơi nó được liên kết bởi hwloc-bind.
TRỞ VỀ VALUE
Sau khi thực thi thành công, hwloc-bind thực thi lệnh trên chính nó. Giá trị trả về là
do đó bất kể giá trị trả về của lệnh là gì.
hwloc-bind sẽ trả về nonzero nếu xảy ra bất kỳ loại lỗi nào, chẳng hạn như (nhưng không giới hạn ở):
không thể phân tích cú pháp dòng lệnh, không truy xuất các liên kết quy trình hoặc thiếu một
lệnh để thực hiện.
Sử dụng hwloc-bind trực tuyến bằng các dịch vụ onworks.net