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

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

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

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

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

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

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

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

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

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

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

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