Tại sao các đồng hồ đo tiến độ trên đỉnh màn hình htophiển thị mức sử dụng CPU luôn ở mức trên> 90% trong khi các số trong bảng bên dưới hiển thị một hệ thống gần như không sử dụng với mức sử dụng CPU và tải trung bình ở mức 0,0%?

Tại sao các đồng hồ đo tiến độ trên đỉnh màn hình htophiển thị mức sử dụng CPU luôn ở mức trên> 90% trong khi các số trong bảng bên dưới hiển thị một hệ thống gần như không sử dụng với mức sử dụng CPU và tải trung bình ở mức 0,0%?

Câu trả lời:
htopkhông biết nó đang chạy trên môi trường ảo hóa cấp kernel ( VPS Dreamhost đang sử dụng công nghệ VServer ). Sau đó, nó sẽ hiển thị việc sử dụng CPU cho tất cả các phiên bản HĐH chia sẻ cùng một kernel, không chỉ cho riêng bạn.
Hãy xem vtopđầu ra mà tất cả các quá trình chia sẻ CPU, không chỉ các quá trình trong thùng chứa của bạn.
Nếu vtopkhông được cài đặt và điều này có thể được mong đợi cho một giải pháp thương mại vì khách hàng sẽ không muốn xem các quy trình nào đang chạy các khách hàng khác, không có cách nào để khắc phục sự cố từ bên trong container của bạn, trừ khi vá topnguồn để tính toán Sử dụng CPU thay vì lấy nó từ số liệu thống kê kernel.
Nó có thể làm điều đó bằng cách tóm tắt việc sử dụng CPU của tất cả các quy trình đang chạy trong VServer của bạn, ví dụ:
ps aux | awk '
{cpu+=$3; ram+=$6}
END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'
topbáo cáo tương tự như htop trên máy này. Vtop không được kiểm tra là không cài đặt. Đánh dấu điều này là được chấp nhận vì nó trả lời "tại sao?", Mặc dù nó không giải quyết được ẩn ý "và những gì có thể được thực hiện về nó?", Vì điều đó không được nói ra
Kiểu không nhất quán này thường là biểu hiện của việc sử dụng bộ xử lý cao bởi các luồng nhân, không được hiển thị htoptheo mặc định. Để hiển thị chúng, htopđi đến Setup, sau đó Display options, và bỏ chọn Hide kernel threads. Điều này sẽ cho phép bạn xem (các) chủ đề chịu trách nhiệm.
Bạn cũng có thể vô hiệu hóa hành vi này bằng cách đặt hide_kernel_threadsthành 0 in ~/.htoprc.
Hãy thử khởi chạy htopvới sudo. Bạn cần quyền truy cập root để xem các luồng hoạt động trong bảng.