0Pricing
Linux Command Line Mastery · บทเรียน

การตรวจสอบดิสก์ I/O: `iostat`, `iotop`

ตรวจสอบและวิเคราะห์ประสิทธิภาพอินพุต/เอาต์พุตของดิสก์เพื่อระบุคอขวด

การตรวจสอบดิสก์ I/O: `iostat`, `iotop` เป็นบทเรียน Linux Command Line Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Command Line Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Command Line Mastery มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Why Monitor Disk I/O?

Disk Input/Output (I/O) refers to the data moving between your computer's CPU and its storage devices (like hard drives or SSDs).

Monitoring disk I/O is crucial for understanding system performance. Slow disk I/O can be a major bottleneck, making your applications and overall system feel sluggish, even if your CPU and memory are underutilized.

Introducing `iostat`

The iostat command is part of the sysstat package and is used to report CPU statistics and device I/O statistics.

It provides a system-wide view of disk activity, helping you identify if your storage devices are struggling to keep up with demand.

Running iostat without any options gives you a snapshot of current I/O performance.

iostat

Decoding Basic `iostat` Output

A typical iostat output shows several key metrics:

  • Device: The name of the storage device (e.g., sda, nvme0n1).
  • tps: Transfers per second (read + write).
  • kB_read/s: Kilobytes read from the device per second.
  • kB_wrtn/s: Kilobytes written to the device per second.
  • kB_read: Total kilobytes read since boot.
  • kB_wrtn: Total kilobytes written since boot.

These give you a quick overview of the overall data flow.

Advanced `iostat` Metrics

For deeper insights, use iostat -x to see extended statistics. Pay attention to:

  • r/s, w/s: Reads/writes per second (similar to tps, but separated).
  • rkB/s, wkB/s: Read/write kilobytes per second.
  • %util: Percentage of time the device was busy. High %util (near 100%) indicates a potential bottleneck.
  • await: The average time (in milliseconds) for I/O requests issued to the device to be served. This includes time spent in queue and service time.

High await values suggest I/O requests are waiting too long.

iostat -x

Real-time Monitoring with `iostat`

To observe I/O activity over time, you can specify an interval in seconds. This allows you to see how stats change during different workloads.

For example, iostat -d 2 3 will display disk statistics every 2 seconds, for a total of 3 reports. The -d flag limits the output to only disk statistics.

iostat -d 2 3

Focusing on Specific Disks

If you have multiple storage devices, you might want to monitor a specific one. You can append the device name to the iostat command.

For instance, to monitor the sda device with extended statistics every 5 seconds, you would use iostat -x 5 sda.

This helps pinpoint issues on individual drives.

iostat -x 5 sda

Introducing `iotop`

While iostat provides system-wide disk I/O statistics, iotop gives you a more granular, process-level view.

iotop shows which processes are actively performing disk I/O, similar to how top shows CPU usage per process. This is invaluable for identifying specific applications or services hogging disk resources.

iotop

Understanding `iotop` Output

When you run iotop, you'll see a real-time list of processes and their I/O activity. Key columns include:

  • TID/PID: Thread or Process ID.
  • USER: The user owning the process.
  • DISK READ: Current disk read rate of the process.
  • DISK WRITE: Current disk write rate of the process.
  • SWAPIN: Percentage of time spent swapping.
  • IO%: Total I/O percentage for the process.

By default, it sorts by IO%, making it easy to spot I/O-intensive tasks.

Identifying I/O Hogs with `iotop`

iotop is interactive by default, but you can use flags for specific views. For example, iotop -oPa shows only processes with active I/O, aggregated for each process, and non-interactive.

This helps quickly identify which processes are causing high disk activity and potentially impacting overall system performance.

iotop -oPa

Check Your I/O Knowledge

Which iostat metric directly indicates the percentage of time a storage device is busy processing requests?

I/O Monitoring Recap

In this lesson, you've learned how to use two powerful Linux commands for disk I/O monitoring:

  • iostat: Provides system-wide disk I/O statistics, including transfers per second, read/write rates, and crucial metrics like %util (device utilization) and await (request latency). It's great for identifying overall disk bottlenecks.
  • iotop: Offers a real-time, process-level view of disk I/O, helping you pinpoint specific applications or services that are consuming significant disk resources.

Mastering these tools is essential for diagnosing and resolving performance issues related to storage.

คำถามที่พบบ่อย

บทเรียน “การตรวจสอบดิสก์ I/O: `iostat`, `iotop`” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบดิสก์ I/O: `iostat`, `iotop`” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Command Line Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Command Line Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบดิสก์ I/O: `iostat`, `iotop`”

ตรวจสอบและวิเคราะห์ประสิทธิภาพอินพุต/เอาต์พุตของดิสก์เพื่อระบุคอขวด คุณปฏิบัติ Linux Command Line Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Command Line Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Command Line Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การตรวจสอบดิสก์ I/O: `iostat`, `iotop`” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Command Line Mastery นี้ได้ไหม

ได้ บทเรียน Linux Command Line Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตรวจสอบดิสก์ I/O: `iostat`, `iotop`
  2. เครื่องมือประสิทธิภาพหน่วยความจำและ CPU
  3. เทคนิคการบันทึกเหตุการณ์และแก้ไขปัญหาขั้นสูง
  4. การติดตามการเรียกระบบด้วย strace และ ltrace
← กลับไปที่ Linux Command Line Mastery