Lệnh iostat trong linux là công cụ mạnh mẽ giúp bạn theo dõi hiệu suất ổ đĩa và CPU một cách chi tiết. Nó cung cấp thông tin về tốc độ đọc/ghi, thời gian chờ I/O, và mức độ sử dụng CPU, giúp bạn dễ dàng phát hiện các vấn đề về hiệu năng. Sử dụng iostat thường xuyên sẽ giúp bạn tối ưu hóa hệ thống và đảm bảo ứng dụng chạy mượt mà hơn.
Lệnh iostat trong linux là gì?
Lệnh iostat trong Linux là một công cụ mạnh mẽ giúp bạn theo dõi hiệu suất của hệ thống lưu trữ, cung cấp thông tin chi tiết về hoạt động đọc/ghi trên các ổ đĩa. Command iostat in linux cho phép bạn quan sát tốc độ truyền dữ liệu, thời gian phản hồi và mức độ sử dụng của các thiết bị lưu trữ. Nó rất hữu ích để xác định các nút thắt cổ chai trong hệ thống, giúp bạn tối ưu hóa hiệu suất và đảm bảo hệ thống hoạt động trơn tru. Với iostat, bạn có thể dễ dàng phát hiện các vấn đề liên quan đến I/O và đưa ra các biện pháp khắc phục kịp thời. Công cụ này là một phần không thể thiếu trong bộ công cụ quản trị hệ thống Linux.
Tìm hiểu Mục đích và Cách sử dụng Lệnh iostat
Trong bước này, chúng ta sẽ tìm hiểu về mục đích và cách dùng lệnh iostat trên Linux.
Lệnh iostat là một công cụ mạnh mẽ để theo dõi hiệu suất I/O của hệ thống (input/output).
Công cụ này bao gồm cả việc sử dụng CPU và thống kê I/O của ổ đĩa.
Đầu tiên, hãy cài đặt gói sysstat, gói này bao gồm cả lệnh iostat:
sudo apt-get update
sudo apt-get install -y sysstat
Bây giờ, hãy chạy lệnh iostat để xem các thống kê cơ bản về CPU và I/O:
iostat
Ví dụ về kết quả:
Linux 5.15.0-52-generic (labex-ubuntu) 07/11/2023 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 1.67 1.67 1024 1024
Kết quả hiển thị mức sử dụng CPU trung bình và các số liệu I/O của ổ đĩa khác nhau.
Các số liệu này bao gồm số giao dịch mỗi giây (tps), thông lượng đọc và ghi (kB_read/s và kB_wrtn/s).
Ngoài ra còn có tổng dữ liệu đọc và ghi (kB_read và kB_wrtn).
Bạn cũng có thể dùng lệnh iostat để theo dõi các thiết bị cụ thể hoặc hiển thị thống kê chi tiết hơn.
Ví dụ, để theo dõi thiết bị sda cứ sau 2 giây, lặp lại 10 lần:
iostat -d sda 2 10
Lệnh này sẽ cung cấp cái nhìn chi tiết hơn về hiệu suất I/O của thiết bị sda theo thời gian.
Phân tích thống kê CPU và I/O với iostat
Trong bước này, chúng ta sẽ tìm hiểu cách phân tích các thống kê CPU và I/O từ lệnh iostat.
Đầu tiên, hãy chạy lệnh iostat để xem thống kê tổng quan của hệ thống nhé.
iostat
Ví dụ về kết quả:
Linux 5.15.0-52-generic (labex-ubuntu) 07/11/2023 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 1.67 1.67 1024 1024
Kết quả hiển thị mức sử dụng CPU trung bình và các metrics I/O của đĩa khác nhau.
Hãy cùng phân tích thông tin này một cách chi tiết hơn để hiểu rõ hơn nhé.
avg-cpu: Phần này hiển thị mức sử dụng CPU trung bình, bao gồm phần trăm thời gian sử dụng ở user mode (%user), nice mode (%nice), system mode (%system), I/O wait (%iowait) và thời gian rảnh (%idle).Device: Phần này hiển thị thống kê I/O cho mỗi block device, ví dụ như số giao dịch mỗi giây (tps), throughput đọc và ghi (kB_read/svàkB_wrtn/s), và tổng dữ liệu đọc và ghi (kB_readvàkB_wrtn).
Bây giờ, hãy xem xét kỹ hơn về mức sử dụng CPU để hiểu rõ hơn về hiệu năng.
Để xem thống kê CPU cho từng CPU riêng lẻ, chúng ta có thể sử dụng tùy chọn -c.
iostat -c
Ví dụ về kết quả:
Linux 5.15.0-52-generic (labex-ubuntu) 07/11/2023 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25
0.50 0.00 0.25 0.00 0.00 99.25
Điều này cho thấy mức sử dụng CPU cho từng core CPU riêng lẻ trong hệ thống.
Để theo dõi thống kê I/O cho một device cụ thể, ta dùng tùy chọn -d kèm tên device.
iostat -d sda
Ví dụ về kết quả:
Linux 5.15.0-52-generic (labex-ubuntu) 07/11/2023 _x86_64_ (2 CPU)
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 1.67 1.67 1024 1024
Lệnh này cung cấp thống kê I/O chi tiết hơn cho device sda.
Theo dõi hiệu năng Disk I/O bằng iostat
Trong bước này, chúng ta sẽ tìm hiểu cách sử dụng lệnh iostat để theo dõi hiệu năng Disk I/O của hệ thống.
Đầu tiên, hãy chạy lệnh iostat với tùy chọn -x để có được thống kê Disk I/O chi tiết hơn.
iostat -x
Ví dụ về đầu ra:
Linux 5.15.0-52-generic (labex-ubuntu) 07/11/2023 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25
Device r/s w/s rkB/s wkB/s await r_await w_await svctm %util
sda 0.17 0.17 1.67 1.67 5.00 5.00 5.00 2.00 0.03
Các số liệu bổ sung được cung cấp bởi tùy chọn -x bao gồm:
r/s: Số lượng đọc mỗi giây (Reads per second).w/s: Số lượng ghi mỗi giây (Writes per second).rkB/s: Thông lượng đọc tính bằng kB/s (Read throughput in kB/s).wkB/s: Thông lượng ghi tính bằng kB/s (Write throughput in kB/s).await: Thời gian trung bình cho các yêu cầu I/O (tính bằng mili giây).r_await: Thời gian trung bình cho các yêu cầu đọc (tính bằng mili giây).w_await: Thời gian trung bình cho các yêu cầu ghi (tính bằng mili giây).svctm: Thời gian phục vụ trung bình (tính bằng mili giây).%util: Phần trăm thời gian CPU mà các yêu cầu I/O được phát hành.
Những số liệu này có thể giúp bạn xác định các nút thắt cổ chai hiệu năng hoặc sự cố với Disk I/O.
Để theo dõi hiệu năng Disk I/O theo thời gian, bạn có thể sử dụng lệnh iostat với tùy chọn -x và chỉ định độ trễ và số lần lặp.
iostat -x 2 5
Lệnh này sẽ hiển thị thống kê Disk I/O sau mỗi 2 giây trong 5 lần lặp, cho phép bạn quan sát các thay đổi về hiệu năng theo thời gian.
Kết luận cho linux iostat command
Tóm lại, linux iostat command là một công cụ vô cùng hữu ích để theo dõi hiệu suất ổ cứng trên hệ thống Linux của bạn. Nó giúp bạn nhanh chóng xác định được những vấn đề liên quan đến I/O, từ đó có những biện pháp khắc phục kịp thời. Việc nắm vững cách sử dụng iostat sẽ giúp bạn tối ưu hóa hiệu suất hệ thống, đảm bảo các ứng dụng chạy mượt mà. Hãy thử nghiệm với các tùy chọn khác nhau của iostat để hiểu rõ hơn về cách nó hoạt động. Đừng ngần ngại tìm hiểu thêm các tài liệu tham khảo để khai thác tối đa sức mạnh của công cụ này. Chúc bạn thành công trong việc quản lý và tối ưu hóa hệ thống Linux của mình! Hy vọng bài viết này đã cung cấp cho bạn những kiến thức cơ bản và hữu ích về iostat.