मेरी नेटबुक में 2 GPU है। मुझे कैसे पता चलेगा कि मैं वास्तव में किसी भी समय किसका उपयोग कर रहा हूं?
मेरी नेटबुक में 2 GPU है। मुझे कैसे पता चलेगा कि मैं वास्तव में किसी भी समय किसका उपयोग कर रहा हूं?
जवाबों:
मैं सिर्फ उबंटू में काम करने के लिए अपने असतत ग्राफिक्स को प्राप्त करने की कोशिश कर रहा हूं और इस सवाल का जवाब देने की कोशिश कर रहा हूं कि यह एक चुनौती थी, क्योंकि यह पहले से ही कभी-कभी कहा जा सकता है कि दोनों हैं [VGA controller]
मुझे लगता है कि निम्नलिखित कमांड आपको अपनी सक्रिय चिप का संकेत देना चाहिए:
$ glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
मेरे लिए यह मुझे बता रहा है कि मेरे इंटेल ग्राफिक्स शो को चला रहे हैं। यदि आप एक एनवीडिया चिप का उपयोग कर रहे हैं, और आप bumblebee
पैकेज का उपयोग कर रहे हैं , तो आप optirun
उस लाइन के सामने रख सकते हैं और यह आपको बताना चाहिए कि आप एनवीडिया चिप चला रहे हैं (ऑप्टिरुन मूल रूप से असतत चिप का उपयोग करने के लिए कंप्यूटर से कह रहा है जो कुछ भी आदेश का पालन करने के लिए, लेकिन बाकी सब अभी भी एकीकृत चिप का उपयोग कर रहा है)
$ optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 555M/PCIe/SSE2
glxheads
आपको कुछ उपयोगी जानकारी के बारे में भी बताता है कि कौन सा ग्राफिक्स कार्ड उपयोग में है (अधिकतर अधिक कॉम्पैक्ट और आसानी से फ़ॉर्म थो को पढ़ने के लिए glxinfo दोहराता है), और यह आपको एक घूर्णन त्रिकोण का एक अच्छा प्रतिपादन देता है।
यह जाँचने के लिए कि कौन सा GPU वर्तमान में कमांड में है (इसका मतलब है कि एक सक्रिय VGA नियंत्रक है) प्रकार
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
[VGA controller]
अंत में कोई भी नियंत्रक आपके वर्तमान में सक्रिय GPU है। दूसरों को बंद कर दिया जाता है। निम्नलिखित उदाहरण में इंटेल कार्ड सक्रिय है जबकि एनवीडिया एक उपयोग में नहीं है:
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor
Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA
controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce
GT 540M] [10de:0df4] (rev ff) (prog-if ff)
nvidia-settings
जीयूआई
Ubuntu 15.10 पर, जब मैंने इंस्टॉल किया nvidia-352
और GPU काम करने लगा:
nvidia-settings
कुछ इस तरह दिखाता है:
ध्यान दें कि यह कैसे दिखाता है:
GPU 0 - (NVS 5400M)
NVS 5400M
मेरा GPU मॉडल कहां है
फिर अगर मैं फायर करता हूं glxgears
, तो जीपीयू का उपयोग> 90% हो जाता है।
इसलिए मुझे उम्मीद है कि यदि आपके पास कई GPU हैं, तो आप देख सकते हैं कि एक समय में प्रत्येक का कितना उपयोग किया जा रहा था।
nvidia-352
ड्राइवर / Ubuntu पैकेज n का संस्करण है, प्रत्येक संस्करण आधिकारिक वेबसाइट पर सूचीबद्ध के रूप में कई GPU का समर्थन करता है: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 54SM GPU मॉडल है: en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
nvidia-smi -L
इससे मुझे वह मिला जो मैं चाहता था। यह कमांड आपके मशीन पर मौजूद GPU की सूची दिखाता है। इससे आपको यह पता लगाने में मदद मिल सकती है कि कौन सक्रिय हैं।
यहाँ धागे से कमान मिली: कई NVIDIA GPU कार्ड के साथ Ubuntu बॉक्स | devtalk.nvidia.com
आप किस OS का उपयोग कर रहे हैं? यदि आप ज्यादातर linux मशीनों पर lspci का उपयोग करते हैं तो आपको अपने pci उपकरणों की एक सूची मिलती है, बस ग्राफिक्स उपकरणों के लिए grep और यह उन दोनों को पॉप अप करना चाहिए। उसके बाद बस उनमें से प्रत्येक पर कॉन्फ़िगरेशन की जांच करें, आपको उस प्रकृति के ऊपर / चालू / सक्रिय या कुछ का विवरण देखना चाहिए।
nvidia-smi
बहुत उपयोगी है, लेकिन कई बार मैंने पाया है कि इसमें हमेशा सब कुछ शामिल नहीं है। ऐसा लगता है कि जब प्रक्रियाएं दुर्घटनाग्रस्त हो जाती हैं तो वे हमेशा सूचीबद्ध नहीं होती हैं।
sudo lsof /dev/nvidia*
हमेशा मेरे लिए काम किया है। यह भी बिना काम करेगा sudo
, लेकिन केवल आपके द्वारा स्वामित्व वाली प्रक्रियाओं को दिखाएगा। यदि आप एक बहुउद्देश्यीय मशीन पर काम कर रहे हैं या docker का उपयोग कर रहे हैं, तो आपको संभवतः बेहतर परिणाम प्राप्त होंगे sudo
।
यदि आपको 2 आदेशों के बीच कोई विसंगति दिखाई देती है, तो आप इसके kill
साथ मिली अतिरिक्त प्रक्रियाओं पर विचार करना चाह सकते हैं lsof
।
VGA controller
अंत में हैं?