परिचय एवं पृष्ठभूमि
लिनक्स आधारित Ubuntu सिस्टम पर काम करते समय बैकग्राउंड में कई वर्चुअल टर्मिनल्स (VT) मेमोरी घेर कर निष्क्रिय पड़े रह सकते हैं। इस ट्यूटोरियल में हम deallocvt यूटिलिटी की कार्यप्रणाली को विस्तार से समझेंगे, ताकि अनुपयोगी वर्चुअल कंसोल को बंद करके कर्नेल रिसोर्स को मुक्त कराया जा सके। कंसोल जांचने, नया VT असाइन करने से लेकर उसे सुरक्षित डी-एलोकेट करने और सिस्टम स्थिति की पुष्टि करने की पूरी प्रक्रिया हम चरणबद्ध तरीके से देखेंगे।
कर्नल कंसोल टूल्स की उपलब्धता जांचना और वर्तमान सक्रिय टर्मिनल देखना
वर्चुअल कंसोल से जुड़े तमाम मैनेजमेंट टूल्स kbd पैकेज का हिस्सा होते हैं। यदि आपके सर्वर पर यह टूलसेट उपलब्ध न हो, तो रिपॉजिटरी अपडेट करके इसे निम्नलिखित कमांड से इंस्टॉल किया जा सकता है:

स्क्रीन पर वर्तमान में कौन सा वर्चुअल टर्मिनल फोरग्राउंड में चालू है, यह जानने के लिए fgconsole टूल का सहारा लिया जाता है। आउटपुट में आया 1 यह पुख्ता करता है कि इस समय सिस्टम का पहला वर्चुअल कंसोल (tty1) अग्रभूमि में सक्रिय भूमिका निभा रहा है।

इसके उपरांत सिस्टम पर लॉगिन किए हुए सक्रिय यूज़र सेशंस का मुआयना करने के लिए who निष्पादित किया जाता है। यदि परिणाम पूरी तरह रिक्त प्राप्त होता है, तो इसका साफ अर्थ है कि किसी भी वर्चुअल टर्मिनल पर कोई सक्रिय उपयोगकर्ता सत्र वर्तमान में खुला नहीं है।

परीक्षण हेतु नया वर्चुअल कंसोल शुरू करना और डिवाइस नोड का विश्लेषण
डी-एलोकेशन की प्रक्रिया को प्रायोगिक रूप से समझने के लिए हमें एक नया कंसोल आवंटित करना होगा। इसके लिए openvt यूटिलिटी के साथ -c 8 पैरामीटर लगाकर कंसोल संख्या 8 को बैकग्राउंड में एक साधारण लॉग फाइल तैयार करने का निर्देश दिया जाता है:

कंसोल आवंटन के बाद कर्नेल ने संबंधित डिवाइस नोड तैयार किया है या नहीं, यह परखने के लिए /dev/tty8 की फाइल डिटेल्स जांची जाती हैं। नीचे दिए गए परिणाम से स्पष्ट होता है कि नया वर्चुअल टर्मिनल सफलतापूर्वक रजिस्टर हो चुका है:

आठवें कंसोल में बैकग्राउंड शेल ने अपना काम पूरा किया या नहीं, इसका प्रमाण /tmp/vt8.log को पढ़कर मिल जाता है। फाइल के भीतर Console 8 test स्ट्रिंग की मौजूदगी पुष्टि करती है कि असाइन किए गए VT पर टास्क सही ढंग से संपन्न हुआ:

deallocvt की मदद से विशिष्ट अथवा समस्त निष्क्रिय टर्मिनल्स को डी-एलोकेट करना
कार्य पूर्ण हो जाने के बाद निष्क्रिय पड़े 8वें कंसोल की कर्नेल मेमोरी खाली करने के लिए sudo deallocvt 8 का प्रयोग किया जाता है। चूंकि इस टर्मिनल से कोई रनिंग प्रोसेस या यूजर जुड़ा नहीं है, कर्नेल तुरंत इसके आवंटित रिसोर्स को सिस्टम में वापस सौंप देता है:

यदि आप एक-एक करके नंबर देने के बजाय पूरे ऑपरेटिंग सिस्टम में फैले सभी बेकार पड़े अनयूज्ड वर्चुअल कंसोल्स को एक झटके में साफ करना चाहते हैं, तो बिना किसी आर्ग्युमेंट के केवल sudo deallocvt चलाएं। यह सुरक्षित रूप से केवल उन्हीं कंसोल्स को डी-एलोकेट करता है जो पूरी तरह आइडल हैं:

कंसोल वास्तव में रिलीज हुआ या नहीं, यह सुनिश्चित करने के लिए डिवाइस फाइल की जांच और फॉलबैक इको मैसेज का संयोजन आजमाया जा सकता है। स्क्रीन पर आया tty8 successfully deallocated संदेश यह साबित करता है कि संबंधित डिवाइस नोड मेमोरी से पूरी तरह विदा हो चुका है:

अंतिम सत्यापन: सक्रिय टर्मिनल की स्थिति और सिस्टम मेमोरी का जायजा
sysfs वर्चुअल फाइलसिस्टम इंटरफेस के जरिए कर्नेल लेवल पर वर्तमान में एक्टिव डिस्प्ले कंसोल का नाम जानने के लिए /sys/class/tty/tty0/active फाइल को पढ़ा जाता है। आउटपुट में tty7 दिखाई देना दर्शाता है कि निष्क्रिय टर्मिनल्स को हटाने के बावजूद मुख्य उपयोगी कंसोल बिना किसी व्यवधान के सुरक्षित चल रहा है:

सफाई अभियान के उपरांत सिस्टम रैम और स्वैप स्पेस के समग्र स्वास्थ्य की जांच free -m द्वारा की जाती है। इससे यह तसल्ली हो जाती है कि अनचाहे कंसोल्स के हटने के बाद सिस्टम रिसोर्स संतुलित और अनुकूलित अवस्था में बरकरार हैं:

इस प्रकार Ubuntu में deallocvt कमांड का विवेकपूर्ण उपयोग करके आप सिस्टम में बेवजह अटके वर्चुअल कंसोल रिसोर्सेज को सुचारू रूप से खाली कर सकते हैं। सर्वर प्रबंधन और कर्नेल ट्यूनिंग के दौरान इस छोटी मगर उपयोगी तकनीक को अपनाकर लिनक्स एनवायरनमेंट को हल्का, सुव्यवस्थित और अधिक कुशल बनाए रखें।