Câu hỏi cũ, gần đây bị trả lời, nhưng cảm thấy câu trả lời hiện tại là không đủ.
Định nghĩa và tính chất của IOWait
IOWait (thường được dán nhãn %wa
ở trên cùng) là một danh mục con của trạng thái nhàn rỗi ( %idle
thường được biểu thị là tất cả không hoạt động trừ các danh mục con được xác định), có nghĩa là CPU không làm gì cả. Do đó, miễn là có một quy trình khác mà CPU có thể xử lý, nó sẽ làm như vậy. Ngoài ra, nhàn rỗi, người dùng, hệ thống, iowait, vv là một phép đo đối với CPU. Nói cách khác, bạn có thể nghĩ về iowait là sự nhàn rỗi do chờ đợi io.
Chính xác, iowait là thời gian dành cho việc nhận và xử lý các ngắt phần cứng dưới dạng phần trăm của bộ xử lý. Các ngắt phần mềm thường được labled riêng như %si
.
Tầm quan trọng & quan niệm sai lầm tiềm năng
IOWait rất quan trọng vì nó thường là một số liệu chính để biết liệu bạn có bị tắc nghẽn trên IO hay không. Nhưng sự vắng mặt của iowait không có nghĩa là ứng dụng của bạn không bị tắc nghẽn trên IO. Hãy xem xét hai ứng dụng đang chạy trên một hệ thống. Nếu chương trình 1 bị tắc nghẽn nặng nề và chương trình 2 là người dùng CPU nặng, thì %user + %system
CPU vẫn có thể giống như ~ 100% và tương ứng, iowait sẽ hiển thị 0. Nhưng đó chỉ là vì chương trình 2 chuyên sâu và dường như không nói gì về chương trình 1 vì tất cả điều này là từ quan điểm của CPU.
Công cụ phát hiện IOWait
Xem bài viết của Dave Cheney và Xerxes
Nhưng cũng đơn giản top
sẽ hiển thị trong %wa
.
Giảm IOWait
Ngoài ra, như chúng ta hiện đang gần như bước vào năm 2013, ngoài những gì người khác nói, tùy chọn đơn giản là các thiết bị lưu trữ IO tuyệt vời có giá cả phải chăng, cụ thể là SSD. SSD thật tuyệt vời !!!