Tại sao các đồng hồ đo tiến độ trên đỉnh màn hình htop
hiể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 htop
hiể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:
htop
khô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 vtop
khô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á top
nguồ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) }'
top
bá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ị htop
theo 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_threads
thành 0 in ~/.htoprc
.
Hãy thử khởi chạy htop
với sudo
. Bạn cần quyền truy cập root để xem các luồng hoạt động trong bảng.