वर्चुअल मशीन (VM) को Azure में माइग्रेट करते समय, कुछ उपयोगकर्ताओं ने रिपोर्ट किया है कि उन्हें अपेक्षित vCPU का केवल आधा ही कार्य प्रबंधक में दिखाई देता है, जबकि हार्डवेयर और डिवाइस प्रबंधक CPU की सही संख्या दिखाते हैं। यह लेख समस्या के मूल कारण को समझाता है और चरण-दर-चरण समाधान प्रदान करता है जिसे सफलतापूर्वक लागू किया गया है।
समस्या का अवलोकन
VM को D4s v4 आकार के साथ माइग्रेट करने के बाद, जिसमें 4 vCPU होने चाहिए, उपयोगकर्ताओं ने निम्नलिखित देखा:
- डिवाइस प्रबंधक सही ढंग से 4 CPU दिखाता है।

- कार्य प्रबंधक केवल 2 वर्चुअल प्रोसेसर दिखाता है।

- PowerShell (
Get-ComputerInfo) केवल 2 CPU की रिपोर्ट करता है।

यह विसंगति प्रदर्शन संबंधी चिंताएँ पैदा कर सकती है, क्योंकि VM अपने आवंटित संसाधनों का कम उपयोग कर रहा प्रतीत होता है।
मूल कारण
यह समस्या आमतौर पर Hyperthreading अक्षम होने के कारण होती है। जब Hyperthreading बंद होता है, तो VM वर्चुअल कोर के बजाय भौतिक कोर का उपयोग करता है, जिसके परिणामस्वरूप कार्य प्रबंधक में अपेक्षित vCPU का केवल आधा ही प्रदर्शित होता है।
समाधान
समस्या को हल करने के लिए, Windows रजिस्ट्री में संशोधन आवश्यक हैं, जिसके बाद VM को Azure पोर्टल से या कमांड लाइन के माध्यम से रीबूट करना होगा।नोट: गेस्ट OS के भीतर से रीबूट करना परिवर्तनों को प्रभावी करने के लिए पर्याप्त नहीं है।
समस्या को ठीक करने के चरण
- रजिस्ट्री कुंजियाँ संशोधित करें
एलिवेटेड कमांड प्रॉम्प्ट या PowerShell सत्र में निम्नलिखित कमांड चलाएँ:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
- VM को रीबूट करें
रीबूट Azure पोर्टल से या Azure CLI का उपयोग करके करें। उदाहरण के लिए:
az vm restart --name <VM_NAME> --resource-group <RESOURCE_GROUP>
- महत्वपूर्ण: गेस्ट OS के भीतर से VM को रीबूट करने (जैसे, प्रारंभ मेनू के माध्यम से) से परिवर्तन लागू नहीं होंगे।
सत्यापन
उपरोक्त चरणों को पूरा करने के बाद:
- जाँचें: कार्य प्रबंधक खोलें और सत्यापित करें कि vCPU की सही संख्या प्रदर्शित हो रही है।
- CPU संख्या की पुष्टि करने के लिए PowerShell का उपयोग करें:
(Get-ComputerInfo).CsProcessors
समस्या अब हल हो जानी चाहिए, और VM अपने सभी आवंटित संसाधनों का उपयोग करेगा।
अतिरिक्त नोट्स
- इस समाधान का Azure सहायता टीम द्वारा सफलतापूर्वक परीक्षण और कार्यान्वयन किया गया था।
- यदि Hyperthreading को विशिष्ट वर्कलोड के लिए जानबूझकर अक्षम किया गया था, तो इस समाधान को लागू करने से पहले अपनी टीम से परामर्श करें।
निष्कर्ष
यह रजिस्ट्री संशोधन उस समस्या को हल करता है जिसमें Azure VM के कार्य प्रबंधक में केवल आधे vCPU प्रदर्शित होते हैं। सही कॉन्फ़िगरेशन सुनिश्चित करना और Azure पोर्टल से VM को रीबूट करना सुधार को प्रभावी करने के लिए महत्वपूर्ण है। इन चरणों का पालन करके, उपयोगकर्ता अपने आवंटित VM संसाधनों का पूरी तरह से उपयोग कर सकते हैं और प्रदर्शन संबंधी बाधाओं से बच सकते हैं।