উত্তর:
আমি gpustat খুব দরকারী। ইন ইনস্টল করা যেতে পারে pip install gpustat
এবং প্রক্রিয়া বা ব্যবহারকারীদের দ্বারা ব্যবহারের ব্রেকডাউন প্রিন্ট করে।
watch gpustat -cp
পরিসংখ্যানগুলি একটানা দেখতে পাচ্ছেন তবে রঙগুলি গেছে। আপনি কিভাবে এটি ঠিক করবেন? @ অ্যালিও
watch -c
। @ রোমান ওরাক, আপনাকে ধন্যবাদ, রেডহাট ৮-এ এটি আমার জন্য কাজ করেছিল যখন পাইথনে _ ক্রস আমদানির কারণে আমি কিছুটা ত্রুটি পেয়েছিলাম।
watch -c gpustat -cp --color
watch -n 0.5 -c gpustat -cp --color
--watch
বিকল্প রয়েছে:gpustat -cp --watch
nvidia-smi -l 1
এটি লুপ হবে এবং প্রতি সেকেন্ডে ভিউ কল করবে।
আপনি যদি কনসোলের ইতিহাসে লুপযুক্ত কলটির অতীতের চিহ্নগুলি না রাখতে চান তবে আপনি এটি করতেও পারেন:
watch -n0.1 nvidia-smi
যেখানে 0.1 সময় অন্তর, সেকেন্ডে হয়।
আমি এই তথ্যের সাথে সম্মিলিত যে কোনও বিষয় সম্পর্কে অবগত নই, তবে আপনি nvidia-smi
কাঁচা ডেটা পেতে সরঞ্জামটি ব্যবহার করতে পারেন , যেমন (অন-টিপকে @ জেএমসু ধন্যবাদ):
$ nvidia-smi -q -g 0 -d UTILIZATION -l
==============NVSMI LOG==============
Timestamp : Tue Nov 22 11:50:05 2011
Driver Version : 275.19
Attached GPUs : 2
GPU 0:1:0
Utilization
Gpu : 0 %
Memory : 0 %
watch -n 0.5 nvidia-smi
, যা আউটপুট দিয়ে আপনার টার্মিনালটি পূরণ করা এড়াতে পারে
এখান থেকে সর্বশেষ স্থিতিশীল চুদা ড্রাইভার (4.2) ডাউনলোড এবং ইনস্টল করুন । লিনাক্সে, এনভিডিয়া-স্মি 295.41 আপনাকে যা চান তা আপনাকে দেয়। ব্যবহার nvidia-smi
:
[root@localhost release]# nvidia-smi
Wed Sep 26 23:16:16 2012
+------------------------------------------------------+
| NVIDIA-SMI 3.295.41 Driver Version: 295.41 |
|-------------------------------+----------------------+----------------------+
| Nb. Name | Bus Id Disp. | Volatile ECC SB / DB |
| Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. |
|===============================+======================+======================|
| 0. Tesla C2050 | 0000:05:00.0 On | 0 0 |
| 30% 62 C P0 N/A / N/A | 3% 70MB / 2687MB | 44% Default |
|-------------------------------+----------------------+----------------------|
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0. 7336 ./align 61MB |
+-----------------------------------------------------------------------------+
সম্পাদনা: সর্বশেষে এনভিআইডিআইএ ড্রাইভারদের মধ্যে, এই সমর্থনটি টেসলা কার্ডের মধ্যে সীমাবদ্ধ।
আর একটি দরকারী নিরীক্ষণ পদ্ধতির ps
আপনার জিপিইউগুলি গ্রাসকারী প্রক্রিয়াগুলিতে ফিল্টার ব্যবহার করা tered আমি এটিকে অনেক ব্যবহার করি:
ps f -o user,pgrp,pid,pcpu,pmem,start,time,command -p `lsof -n -w -t /dev/nvidia*`
এটি সমস্ত এনভিডিয়া জিপিইউ-ব্যবহারের প্রক্রিয়া এবং তাদের সম্পর্কে কিছু পরিসংখ্যান প্রদর্শন করবে। lsof ...
বর্তমান ব্যবহারকারীর মালিকানাধীন এনভিডিয়া জিপিইউ ব্যবহার করে সমস্ত প্রক্রিয়াগুলির একটি তালিকা পুনরুদ্ধার করে এবং সেই প্রক্রিয়াগুলির ফলাফল ps -p ...
দেখায় ps
। ps f
শিশু / পিতামাতার প্রক্রিয়া সম্পর্ক / স্তরক্রমের জন্য দুর্দান্ত ফর্ম্যাটিং দেখায় এবং -o
একটি কাস্টম বিন্যাস নির্দিষ্ট করে। এটি কেবলমাত্র করার মতোই ps u
তবে প্রক্রিয়া গ্রুপের আইডি যুক্ত করে এবং কিছু অন্যান্য ক্ষেত্র সরিয়ে দেয়।
এই ওভারের একটি সুবিধা nvidia-smi
হ'ল এটি জিপিইউ ব্যবহার করে এমন প্রক্রিয়াগুলির পাশাপাশি প্রধান প্রক্রিয়াগুলি প্রদর্শন করবে।
যদিও একটি অসুবিধা হ'ল এটি হ'ল কমান্ডটি কার্যকর করে এমন ব্যবহারকারীর মালিকানাধীন প্রক্রিয়াগুলির মধ্যে সীমাবদ্ধ। এটি কোনও ব্যবহারকারীর মালিকানাধীন সমস্ত প্রক্রিয়াতে খুলতে, আমি এর sudo
আগে একটি যুক্ত করব lsof
।
শেষ watch
অবধি , আমি এটির সাথে একটানা আপডেট পেতে একত্রিত করি । সুতরাং, শেষ পর্যন্ত, দেখে মনে হচ্ছে:
watch -n 0.1 'ps f -o user,pgrp,pid,pcpu,pmem,start,time,command -p `sudo lsof -n -w -t /dev/nvidia*`'
যার আউটপুট যেমন:
Every 0.1s: ps f -o user,pgrp,pid,pcpu,pmem,start,time,command -p `sudo lsof -n -w -t /dev/nvi... Mon Jun 6 14:03:20 2016
USER PGRP PID %CPU %MEM STARTED TIME COMMAND
grisait+ 27294 50934 0.0 0.1 Jun 02 00:01:40 /opt/google/chrome/chrome --type=gpu-process --channel=50877.0.2015482623
grisait+ 27294 50941 0.0 0.0 Jun 02 00:00:00 \_ /opt/google/chrome/chrome --type=gpu-broker
grisait+ 53596 53596 36.6 1.1 13:47:06 00:05:57 python -u process_examples.py
grisait+ 53596 33428 6.9 0.5 14:02:09 00:00:04 \_ python -u process_examples.py
grisait+ 53596 33773 7.5 0.5 14:02:19 00:00:04 \_ python -u process_examples.py
grisait+ 53596 34174 5.0 0.5 14:02:30 00:00:02 \_ python -u process_examples.py
grisait+ 28205 28205 905 1.5 13:30:39 04:56:09 python -u train.py
grisait+ 28205 28387 5.8 0.4 13:30:49 00:01:53 \_ python -u train.py
grisait+ 28205 28388 5.3 0.4 13:30:49 00:01:45 \_ python -u train.py
grisait+ 28205 28389 4.5 0.4 13:30:49 00:01:29 \_ python -u train.py
grisait+ 28205 28390 4.5 0.4 13:30:49 00:01:28 \_ python -u train.py
grisait+ 28205 28391 4.8 0.4 13:30:49 00:01:34 \_ python -u train.py
sudo
:nvidia-smi --query-compute-apps=pid --format=csv,noheader
nvidia-smi
সমস্ত প্রক্রিয়া তালিকাভুক্ত করে না, তাই আপনি সেখানে তালিকাভুক্ত নয় এমন প্রক্রিয়াগুলি দ্বারা ব্যবহৃত আপনার মেমরিটি শেষ করেন। এই প্রক্রিয়াগুলিকে আমি ট্র্যাক এবং হত্যা করতে পারে এমন প্রধান উপায়।
pmem
প্রদত্ত প্রদত্ত জিপিইউর ps
মোট স্মৃতি কিন্তু সিপিইউর বিবেচনায় নেয় কারণ ps
"এনভিডিয়া জিপিইউ" সচেতন নয়
এটি মার্জিত নাও হতে পারে তবে আপনি চেষ্টা করতে পারেন
while true; do sleep 2; nvidia-smi; done
আমি @ এড্রিক দ্বারাও পদ্ধতিটি চেষ্টা করেছি, যা কাজ করে তবে আমি এর মূল বিন্যাসটি পছন্দ করি nvidia-smi
।
nvidia-smi -l 2
। বা পুনরাবৃত্তি কনসোল আউটপুট প্রতিরোধ করতে,watch -n 2 'nvidia-smi'
আপনি যদি জিপিইউতে চলমান প্রক্রিয়াটি সন্ধান করতে চান তবে আপনি কেবল নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
lsof /dev/nvidia*
আমার জন্য nvidia-smi
এবং watch -n 1 nvidia-smi
বেশিরভাগ ক্ষেত্রেই যথেষ্ট। কখনও কখনও nvidia-smi
কোনও প্রক্রিয়া দেখায় না তবে জিপিইউ মেমরিটি ব্যবহৃত হয় তাই প্রক্রিয়াগুলি সন্ধান করতে আমার উপরের কমান্ডটি ব্যবহার করতে হবে।
নেই প্রমিথিউস জিপিইউ মেট্রিক্স রপ্তানিকারক (PGME) যে nvidai-SMI বাইনারি লিভারেজ। আপনি এটি চেষ্টা করে দেখতে পারেন আপনার রফতানিকারক একবার চালানোর পরে আপনি এটি http: // লোকালহোস্ট: 9101 / মেট্রিকের মাধ্যমে অ্যাক্সেস করতে পারবেন । দুটি জিপিইউ-র জন্য, নমুনার ফলাফলটি এরকম দেখাচ্ছে:
temperature_gpu{gpu="TITAN X (Pascal)[0]"} 41
utilization_gpu{gpu="TITAN X (Pascal)[0]"} 0
utilization_memory{gpu="TITAN X (Pascal)[0]"} 0
memory_total{gpu="TITAN X (Pascal)[0]"} 12189
memory_free{gpu="TITAN X (Pascal)[0]"} 12189
memory_used{gpu="TITAN X (Pascal)[0]"} 0
temperature_gpu{gpu="TITAN X (Pascal)[1]"} 78
utilization_gpu{gpu="TITAN X (Pascal)[1]"} 95
utilization_memory{gpu="TITAN X (Pascal)[1]"} 59
memory_total{gpu="TITAN X (Pascal)[1]"} 12189
memory_free{gpu="TITAN X (Pascal)[1]"} 1738
memory_used{gpu="TITAN X (Pascal)[1]"} 10451
আপনি nvidia-smi pmon -i 0
জিপিইউ ০.-এর প্রতিটি প্রক্রিয়া নিরীক্ষণ করতে ব্যবহার করতে পারেন কম্পিউট মোড, এসএম ব্যবহার, মেমরির ব্যবহার, এনকোডার ব্যবহার, ডিকোডার ব্যবহার সহ।
আপনি তার জিপিইউ পর্যবেক্ষণ প্লাগ-ইন সহ পর্যবেক্ষণ প্রোগ্রামের ঝলক ব্যবহার করতে পারেন :
sudo apt-get install -y python-pip; sudo pip install glances[gpu]
sudo glances
এটি সিপিইউ, ডিস্ক আইও, ডিস্ক স্পেস, নেটওয়ার্ক এবং অন্যান্য কয়েকটি বিষয় পর্যবেক্ষণ করে:
আমি প্রতি সেকেন্ডে নিরীক্ষণের জন্য উইন্ডোজ মেশিনে নিম্নলিখিত কোড সহ একটি ব্যাচ ফাইল তৈরি করেছি। এটা আমার জন্য কাজ করে.
:loop
cls
"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi"
timeout /T 1
goto loop
আপনি যদি একবার কমান্ডটি চালাতে চান তবে nvidia-smi exe সাধারণত "সি: \ প্রোগ্রাম ফাইলস \ এনভিআইডিআইএ কর্পোরেশন" এ থাকে।