IONICE(1) أوامر المستخدم IONICE(1)

الاسم

ionice - اضبط أو اجلب فئة وأولوية جدولة الإدخال/الإخراج للعملية

موجز

ionice [-c فئة] [-n مستوى] [-t] -p معرّف-العملية

ionice [-c فئة] [-n مستوى] [-t] -P PGID

ionice [-c فئة] [-n مستوى] [-t] -u UID

ionice [-c فئة] [-n مستوى] [-t] أمر [argument] ...

الوصف

يضبط هذا البرنامج أو يجلب فئة جدولة الإدخال/الإخراج والأولوية لبرنامج ما. إذا لم تُعطَ أي معطيات أو أُعطي -p فقط، فسيستعلم ionice عن فئة جدولة الإدخال/الإخراج الحالية والأولوية لتلك العملية.

عند إعطاء أمر، سيشغل ionice هذا الأمر مع المعطيات المعطاة. إذا لم تُحدد فئة، فسيُنفذ أمر مع فئة جدولة "best-effort". مستوى الأولوية المبدئي هو 4.

حتى وقت كتابة هذا، يمكن أن تكون العملية في واحدة من ثلاث فئات جدولة:

Idle

البرنامج الذي يعمل بأولوية إدخال/إخراج خاملة (idle) لن يحصل على وقت القرص إلا عندما لا يطلب أي برنامج آخر إدخالاً/إخراجاً للقرص لفترة سماح محددة. تأثير عملية الإدخال/الإخراج الخاملة على نشاط النظام العادي يجب أن يكون صفراً. فئة الجدولة هذه لا تأخذ معطى أولوية. حالياً، هذه الفئة مسموح بها للمستخدم العادي (منذ إصدار النواة 2.6.25).

Best-effort

هذه هي فئة الجدولة الفعلية لأي عملية لم تطلب أولوية إدخال/إخراج محددة. تقبل هذه الفئة معامل أولوية من 0-7، حيث يمثل الرقم الأقل أولوية أعلى. تُخدم البرامج التي تعمل بنفس أولوية "أفضل مجهود" (best-effort) بأسلوب الاستدارة (round-robin).

لاحظ أنه قبل النواة (kernel) الإصدار 2.6.26، كانت العملية التي لا تطلب أولوية إدخال/إخراج تستخدم رسميًا "none" كفئة جدولة، ولكن مجدول الإدخال/الإخراج يعامل هذه العمليات كما لو كانت في فئة "أفضل مجهود". تُشتق الأولوية ضمن فئة "أفضل مجهود" حركيًا من مستوى nice الخاص بمعالج الحاسوب للعملية: io_priority = (cpu_nice + 20) / 5.

بالنسبة للنوى الأحدث من 2.6.26 مع مجدول CFQ للإدخال/الإخراج، فإن العملية التي لم تطلب أولوية إدخال/إخراج ترث فئة جدولة وحدة المعالجة المركزية الخاصة بها. تُشتق أولوية الإدخال/الإخراج من مستوى لطافة وحدة المعالجة المركزية للعملية (كما كان الحال قبل إصدار النواة 2.6.26).

Realtime

تُمنح فئة جدولة الوقت الحقيقي (RT) حق الوصول الأول للقرص، بغض النظر عما يحدث في النظام. لذا يجب استخدام فئة الوقت الحقيقي بحذر، حيث يمكن أن تؤدي إلى تجويع العمليات الأخرى. وكما هو الحال في فئة "أفضل مجهود"، حُددت 8 مستويات أولوية تشير إلى حجم الشريحة الزمنية التي ستتلقاها عملية معينة في كل نافذة جدولة. لا يُسمح بفئة الجدولة هذه للمستخدم العادي (أي غير الجذر root).

الخيارات

-c، --class فئة

حدد اسم أو رقم فئة الجدولة المراد استخدامها؛ 0 لـ none، و 1 لـ realtime، و 2 لـ best-effort، و 3 لـ idle.

-n، --classdata مستوى

حدد بيانات فئة الجدولة. لا يكون لهذا تأثير إلا إذا كانت الفئة تقبل معاملًا. بالنسبة لفئتي الوقت الحقيقي و"أفضل مجهود"، تعد القيم 0-7 بيانات صالحة (مستويات الأولوية)، ويمثل الرقم 0 أعلى مستوى أولوية.

-p، --pid معرّف-العملية...

حدد معرفات العمليات للعمليات الجارية التي تود جلب أو ضبط معاملات الجدولة لها.

-P، --pgid PGID...

حدد معرفات مجموعات العمليات (PGIDs) للعمليات الجارية التي يراد جلب أو ضبط معاملات الجدولة الخاصة بها.

-t، --ignore

تجاهل الفشل في ضبط الأولوية المطلوبة. إذا حُدد أمر، فنفّذه حتى في حال تعذر ضبط أولوية الجدولة المطلوبة، وهو ما قد يحدث بسبب عدم كفاية الامتيازات أو وجود إصدار قديم للنواة.

-u، --uid UID...

حدد معرفات المستخدمين للعمليات الجارية التي تود جلب أو ضبط معاملات الجدولة لها.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

ملاحظات

يدعم لينكس أولويات وفئات جدولة الإدخال/الإخراج منذ الإصدار 2.6.13 مع مجدول الإدخال/الإخراج CFQ.

أمثلة

•# ionice -c 3 -p 89

يضبط العملية ذات المعرف 89 لتكون عملية إدخال/إخراج خاملة.

•# ionice -c 2 -n 0 bash

يشغل 'bash' بوصفه برنامج "أفضل جهد" بأعلى أولوية.

•# ionice -p 89 91

يُطبع الصنف والأولوية للعمليات ذات معرفات العمليات (PID) 89 و91.

المؤلفين

Jens Axboe <jens@axboe.dk>, Karel Zak <kzak@redhat.com>

انظر أيضاً

ioprio_set(2)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

التوفر

الأمر ionice جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1