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):
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?