تخطَّ إلى المحتوى

iostat - إحصائيات وحدة المعالجة المركزية وقرص الإدخال/الإخراج

iostat - إحصائيات وحدة المعالجة المركزية وقرص الإدخال/الإخراج

iostat تقرر استخدام وحدة المعالجة المركزية وإحصائيات الإدخال/الإخراج للقرص حسب الجهاز — الإنتاجية و IOPS وكمون الطلب وعمق الطابور. إنها محطة التوقف الأولى القياسية لتشخيص اختناقات التخزين على Linux: هل القرص مشبع، هل تتراكم الطلبات، هل الكمون يرتفع؟ تأتي كجزء من حزمة sysstat جنبًا إلى جنب مع mpstat و pidstat و sar.

التثبيت

المنصةالأمر
Debian/Ubuntusudo apt install sysstat
Fedora/RHELsudo dnf install sysstat
Arch Linuxsudo pacman -S sysstat
macOSiostat مدمج (إخراج مختلف)
التحققiostat -V

الاستخدام الأساسي

الأمرالوصف
iostatتقرير واحد منذ الإقلاع (وحدة المعالجة المركزية + الأجهزة)
iostat 2تحديث كل ثانيتين
iostat 2 55 تقارير على فترات ثانيتين
iostat -xالإحصائيات الممتدة (المفيدة حقًا)
iostat -dإحصائيات الجهاز فقط (بلا وحدة المعالجة المركزية)
iostat -cإحصائيات وحدة المعالجة المركزية فقط

الأمر الذي تريده فعلاً

# ممتد وسهل القراءة وحسب الجهاز ويحدّث كل ثانيتين
iostat -xmt 2
الرايةالتأثير
-xالإحصائيات الممتدة (util%، await، aqu-sz وما إلى ذلك)
-mتقرير بـ MB/s (استخدم -k لـ KB/s)
-tطباعة طابع زمني مع كل تقرير
-p DEVعرض أقسام جهاز (مثل -p sda)
-d 2تقرير الجهاز كل ثانيتين
-hصيغة سهلة القراءة وودية لـ NVMe

قراءة الإخراج الممتد (-x)

العمودالمعنى
r/s, w/sطلبات قراءة/كتابة في الثانية (IOPS)
rMB/s, wMB/sإنتاجية القراءة/الكتابة
rareq-sz / wareq-szمتوسط حجم الطلب
r_await, w_awaitكمون القراءة/الكتابة المتوسط (ms) — مقياس أساسي
aqu-szمتوسط عمق الطابور (الطلبات قيد التنفيذ)
%utilجزء من الوقت كان الجهاز مشغولاً

تفسير الإشارات

الملاحظةالتفسير
%util بالقرب من 100%الجهاز مشبع (احذر على SSD/NVMe — يمكن أن يعمل بالتوازي)
await عالي (عشرات ms +)الطلبات بطيئة — اختناق الكمون
aqu-sz عاليالطلبات تتراكم أسرع من فرغ القرص
IOPS عالي وإنتاجية منخفضةالإدخال/الإخراج العشوائي الصغير (عبء عمل قاعدة البيانات/البيانات الوصفية)
IOPS منخفض وإنتاجية عاليةالإدخال/الإخراج المتسلسل الكبير (النسخ الاحتياطية والبث)

على SSD/NVMe الحديث، يمكن أن تقرأ %util 100% بينما يحتوي الجهاز على مساحة (يخدم الطلبات بالتوازي). ثق في await و aqu-sz أكثر من %util هناك.

قسم وحدة المعالجة المركزية

الحقلالمعنى
%user / %niceالوقت في مساحة المستخدم
%systemالوقت في النواة
%iowaitوحدة المعالجة المركزية خاملة في انتظار الإدخال/الإخراج (تلميح ضغط التخزين)
%stealالوقت المسروق من قبل المراقب الافتراضي (الجيران الصاخبون)
%idleوقت الخمول

%iowait عالية جنبًا إلى جنب مع await القرص العالي تشير مباشرة إلى التخزين كاختناق.

سير العمل الشائع

# راقب اختناق قرص مريب حيًا
iostat -xmt 2

# التركيز على جهاز واحد وأقسامه
iostat -xmt -p nvme0n1 2

# ربط انتظار وحدة المعالجة المركزية مع كمون الجهاز أثناء اختبار الحمل
iostat -xmt 1 60 > iostat.log

iostat مقابل الأدوات ذات الصلة

الأداةالتركيز
iostatإحصائيات الإدخال/الإخراج والمعالج حسب الجهاز
iotopالعملية التي تقوم بالإدخال/الإخراج
dstat/doolعرض مدمج للمعالج/القرص/الشبكة
sarنشاط النظام التاريخي/المسجل

استخدم iostat لرؤية الجهاز بطيء ثم iotop لمعرفة أي عملية مسؤولة.

الموارد