تحرير الطرفيات الافتراضية غير المستخدمة بأمر deallocvt

نظرة عامة

تستهلك الطرفيات الافتراضية (Virtual Terminals - VT) المتروكة دون استخدام جزءاً من ذاكرة النواة وموارد النظام في بيئات Ubuntu. يوفر نظام لينكس أداة deallocvt كحل جذري لتحرير هذه الموارد غير المستغلة وإلغاء تخصيصها بأمان. يستعرض هذا الدليل خطوات عملية شاملة، تبدأ من فحص الجلسات والكونسول النشط، مروراً بإنشاء جلسة اختبار وفحص عقد الجهاز المقابلة لها، وصولاً إلى إفراغ الذاكرة والتحقق من استقرار النظام.

فحص أدوات إدارة الطرفيات واستعراض الكونسول النشط

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

تحديث المستودعات وتثبيت حزمة kbd

لمعرفة الطرفية الافتراضية المعروضة على الشاشة الرئيسية حالياً، نستعين بأمر fgconsole. يُظهر الناتج الرقم 1، مما يؤكد أن شاشة العرض الأمامية مرتبطة حالياً بالطرفية الأولى (tty1).

التحقق من رقم الطرفية الافتراضية النشطة عبر fgconsole

يوفر أمر who سجلاً بجلسات المستخدمين المسجلين دخولهم إلى النظام في اللحظة الراهنة. عدم ظهور أي مدخلات في المخرجات يعني غياب الجلسات التفاعلية المفتوحة على الطرفيات الافتراضية، مما يتيح التعامل معها بحرية ودون التأثير على مهام المستخدمين.

استعراض جلسات تسجيل الدخول النشطة بواسطة who

حجز طرفية افتراضية للاختبار والتحقق من حالة العقدة

لتطبيق عملية تحرير الذاكرة عملياً، نحتاج أولاً إلى حجز طرفية جديدة وتوجيه مهمة بسيطة إليها. يقوم الأمر sudo openvt -c 8 -- sh -c 'echo "Console 8 test" > /tmp/vt8.log' بتفعيل الطرفية رقم 8 عبر المعامل -c 8، حيث يقوم بتشغيل أمر يكتب رسالة اختبار داخل ملف السجل في المسار المؤقت.

إنشاء وتشغيل مهمة على الطرفية رقم 8 عبر openvt

بمجرد حجز الطرفية، ينشئ النظام عقدة الجهاز الخاصة بها في مسار الأجهزة التابع للينكس. للتحقق من وجود العقدة وأذوناتها وصلاحيات تشغيلها، نتحقق من الملف /dev/tty8 عبر الأمر ls -l:

فحص أذونات ومعلومات عقدة الجهاز tty8

للتأكد من نجاح تنفيذ المهمة المسندة إلى الطرفية الثامنة، نستعرض محتوى الملف الناتج عبر أمر cat /tmp/vt8.log. ظهور العبارة Console 8 test يثبت أن بيئة tty8 باشرت العملية وأتمت إخراج البيانات كما ينبغي.

قراءة محتويات ملف السجل للتحقق من تنفيذ الأمر

تحرير الطرفيات غير المستغلة فردياً وجماعياً عبر deallocvt

بعد انتهاء الغرض من الطرفية التجريبية وخلوها من العمليات النشطة، نسترجع مواردها باستخدام الأمر sudo deallocvt 8. يؤدي هذا الإجراء إلى إخطار نواة لينكس بإلغاء تخصيص الذاكرة المرتبطة بـ tty8 فوراً.

إلغاء حجز الطرفية الثامنة باستخدام sudo deallocvt 8

إذا أردت تنظيف النظام بالكامل من كافة الطرفيات الخاملة بضربة واحدة، يكفي تنفيذ sudo deallocvt دون تمرير أي رقم طرفية. يقوم هذا الأمر بمسح شامل لكافة الشاشات الافتراضية غير المرتبطة بجلسات تسجيل دخول نشطة أو برامج قيد التشغيل، مسترجعاً بذلك مساحات الذاكرة المحجوزة لدى النواة.

إلغاء تخصيص كافة الطرفيات الافتراضية الخاملة دفعة واحدة

للتيقن من نجاح عملية التحرير، ننفذ أمراً مركباً يفحص مسار /dev/tty8 مع توجيه أخطاء عدم العثور على الملف لطباعة رسالة نجاح مخصصة: ls -l /dev/tty8 2>/dev/null || echo "tty8 successfully deallocated". تشير الرسالة الناتجة بوضوح إلى زوال تخصيص الطرفية بنجاح من النظام.

التحقق من إتمام إلغاء تخصيص tty8 بنجاح

المراجعة النهائية لحالة الطرفيات واستقرار الذاكرة

يتيح نظام الملفات الافتراضي sysfs نافذة مباشرة للاطلاع على المؤشرات الداخلية للنواة. بقراءة الملف cat /sys/class/tty/tty0/active، يتبين أن واجهة المستخدم الرسومية أو الطرفية النشطة الحالية تعمل على tty7. يبرهن ذلك على أن عمليات التحرير استهدفت الطرفيات الخاملة فقط دون المساس بالواجهة العاملة.

التحقق من الطرفية النشطة في النواة عبر sysfs

يُختتم الفحص بتشغيل أمر free -m، والذي يعرض تقريراً بميجابايت حول استخدام الذاكرة العشوائية (RAM) ومساحة التبديل (Swap). يساعد هذا الاستعلام في التحقق من عودة بيئة التشغيل إلى وضع مستقر وخلوها من أي حجز غير مبرر للذاكرة.

فحص توزيع الذاكرة العشوائية ومساحة التبديل بأمر free -m

تعرفنا في هذا الدليل على كيفية الاستفادة من أمر deallocvt كأداة فعالة لإدارة موارد نظام أوبونتو وتطهير الكونسولات الافتراضية غير المستغلة. يمنحك الاعتماد على هذه الممارسات تحكماً أدق في استهلاك الذاكرة، مما يساهم في بناء بيئة خوادم ومحطات عمل لينكس تتسم بالخفة والكفاءة العالية.