Tôi hiện đang làm việc trên một ứng dụng thử nghiệm trong nhà để tạo nhiều loại tải trên máy tính để chúng tôi có thể xem phần mềm hoạt động như thế nào dưới tải. Tôi đang treo lên trên một yêu cầu, trong đó tôi làm cho một số loại cách để xác định một phần trăm sử dụng CPU (nói, 40%) trước khi người dùng chạy chương trình, và hy vọng sẽ giữ cho CPU trong một phạm vi + - 10% của những gì họ đưa vào. Tôi đã nói rằng họ đã thấy các chương trình làm điều đó trước đây, nhưng mỗi một mà tôi đã thấy rằng tuyên bố làm như vậy đã không làm việc. Tôi đang cố gắng để đọc một mức sử dụng trung bình và ngủ thread chạy để sử dụng CPU làm giảm, nhưng tôi đã tìm thấy đó là không chính xác. Nó cũng sẽ được sử dụng trên nhiều máy chủ, mỗi máy chủ với các CPU khác nhau, vì vậy tôi không thể làm rất nhiều mã hóa cứng vì nó sẽ cần phải làm việc trên mỗi máy chủ. Cá nhân tôi không nghĩ rằng nó có thể làm chính xác, nhưng tôi yêu cầu ở đây như một nỗ lực mương cuối cùng để xem nếu có ai khác đã đi qua phần mềm tương tự như thế này, và biết làm thế nào nó sẽ được viết.C# Giữ CPU ở/gần mức sử dụng phần trăm được chỉ định cho mục đích thử nghiệm
Chỉnh sửa: Tôi đã cố gắng sử dụng chuỗi có mức độ ưu tiên thấp hơn và cũng được thông báo rằng sẽ không hữu ích cho họ (mặc dù tôi đã tạo tùy chọn chỉ nhằm mục đích thử nghiệm trước khi yêu cầu này).
Tôi không biết bất kỳ cách nào để giới hạn lượng CPU bạn có thể tiêu thụ, đó là nhiệm vụ của HĐH, xác định lịch biểu; ngoài việc giới hạn số lõi mà nó có thể sử dụng. Những gì bạn có thể làm là thay đổi ưu tiên của quy trình, tôi cũng sẽ đề cập đến việc ngủ nó, nhưng bạn đã lưu ý rằng đó là một giải pháp không hoàn hảo. –