Ubuntu deallocvt गाइड: अप्रयुक्त वर्चुअल कंसोल हटाएं

परिचय एवं पृष्ठभूमि

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

कर्नल कंसोल टूल्स की उपलब्धता जांचना और वर्तमान सक्रिय टर्मिनल देखना

वर्चुअल कंसोल से जुड़े तमाम मैनेजमेंट टूल्स kbd पैकेज का हिस्सा होते हैं। यदि आपके सर्वर पर यह टूलसेट उपलब्ध न हो, तो रिपॉजिटरी अपडेट करके इसे निम्नलिखित कमांड से इंस्टॉल किया जा सकता है:

kbd पैकेज इंस्टॉल करना

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

fgconsole से चालू कंसोल की जांच

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

who कमांड द्वारा यूज़र सेशन की पुष्टि

परीक्षण हेतु नया वर्चुअल कंसोल शुरू करना और डिवाइस नोड का विश्लेषण

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

openvt द्वारा 8वें कंसोल पर कमांड चलाना

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

tty8 डिवाइस नोड का विवरण

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

vt8.log फाइल का आउटपुट

deallocvt की मदद से विशिष्ट अथवा समस्त निष्क्रिय टर्मिनल्स को डी-एलोकेट करना

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

8वें वर्चुअल टर्मिनल को मुक्त करना

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

समस्त निष्क्रिय वर्चुअल कंसोल्स की सफाई

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

डी-एलोकेशन सफलता की जांच

अंतिम सत्यापन: सक्रिय टर्मिनल की स्थिति और सिस्टम मेमोरी का जायजा

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

sysfs द्वारा सक्रिय कंसोल की जांच

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

free -m द्वारा मेमोरी स्थिति की जांच

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