KVM báo cáo các đỉnh sử dụng CPU lạ (đệ quy vô hạn bash)


7

Trên máy KVM chạy Fedora 20 tôi đã chạy ulimit -s unlimited(điều này loại bỏ giới hạn về kích thước ngăn xếp) và một kịch bản thử nghiệm tra tấn thử nghiệm. Tất cả các kịch bản này làm chỉ là đệ quy vô hạn:

#!/bin/bash

fn() {
    true
    fn
}

fn

Những gì tôi mong đợi là việc sử dụng CPU sẽ đạt 100% và sau khi cạn kiệt tài nguyên (có thể mất nhiều thời gian), bash cuối cùng sẽ bị hạt nhân bắn hạ.

Nhưng những gì thực sự xảy ra hơi lạ và tôi không có kiến ​​thức đúng để giải thích:

  • Bên trong VM, top báo cáo sử dụng CPU 100% theo kịch bản hài hước này. Điều đó có ý nghĩa.

  • Nhưng từ bên ngoài, virt-manager cho thấy 0% không sử dụng CPU, hy vọng sẽ đạt được các đỉnh 100% sắc nét. Và như thể điều đó không đủ lạ, độ trễ được quan sát giữa mỗi đỉnh liên tiếp đang tăng lên (cuối cùng độ trễ ngừng tăng và trở thành coinstant):

Đỉnh cao sử dụng CPU

Tại sao lại thế này? Điều gì đang thực sự xảy ra bên trong? Hoặc là việc sử dụng được báo cáo bởi virt-manager gây hiểu lầm? Sau đó, những gì tạo ra mô hình nhìn thấy giữa các đỉnh?

Câu trả lời:


1

Nếu bạn sử dụng hàng đầu bên trong máy ảo, bạn nhận thấy mức sử dụng cpu khoảng 100%, nhưng trong máy chủ vật lý của bạn, máy ảo không thể sử dụng tất cả thời gian cpu, điều này là do kvm vm là quá trình bình thường theo quan điểm hạt nhân , vì vậy bộ lập lịch xử lý kernel chia sẻ cpu với tiến trình khác

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.