| ATOPGPUD(8) | System Manager's Manual | ATOPGPUD(8) |
نام (NAME)
atopgpud - دیمن مانیتورینگ پردازنده گرافیکی برای atop
خلاصه دستور (SYNOPSIS)
atopgpud [-v]
توضیحات (DESCRIPTION)
دیمن atopgpud اطلاعات آماری را از تمام پردازندههای گرافیکی NVIDIA در سیستم فعلی جمعآوری میکند. با نرخ نمونهبرداری یک ثانیه، آمار هر پردازندهٔ گرافیکی را در سطح سراسری (سطح سیستم) و به ازای هر فرایند نگهداری میکند. هنگامی که atopgpud روی سیستم هدف فعال باشد، atop (با پرچم -k) از طریق یک سوکت دامنه یونیکس (UNIX domain socket) به این دیمن متصل میشود و آمار پردازندهٔ گرافیکی را برای هر بازه دریافت میکند.
رویکرد جمعآوری تمامی آمار پردازنده گرافیکی در یک دیمن مجزا ضروری است، چرا که درایور NVIDIA تنها درصد مشغولیت GPU در ثانیهٔ گذشته را ارائه میدهد. فرض کنید که atop با بازهٔ ۱۰ دقیقهای اجرا شود و درصد مشغولیت پردازنده گرافیکی را مستقیماً از درایور NVIDIA دریافت کند؛ در این صورت درصد مشغولیت ثانیهٔ آخر را به جای میانگین درصد مشغولیت در طول ۶۰۰ ثانیه منعکس خواهد کرد. بنابراین، دیمن atopgpud درصد مشغولیت GPU را هر ثانیه دریافت کرده و آن را در یک شمارنده انباشته میکند که میتواند توسط atop بهطور منظم بازیابی شود. همین رویکرد برای سایر آمارهای پردازنده گرافیکی نیز اعمال میشود.
نیازی به اجرای دیمن atopgpud با دسترسیهای root وجود ندارد.
توجه داشته باشید که برخی از آمارهای GPU تنها برای انواع خاصی از پردازندههای گرافیکی ارائه میشوند. برای پردازندههای گرافیکی قدیمیتر یا سادهتر، مقدار -1 برای شمارندههایی که نگهداری نمیشوند بازگردانده میشود. در خروجی atop این شمارندهها به صورت 'N/A' نشان داده میشوند.
هنگامی که هیچ پردازنده گرافیکی NVIDIA در سیستم هدف یافت نشود، atopgpud بلافاصله با کد خروج 0 خاتمه مییابد.
پیامهای ثبت وقایع از طریق دیمن rsyslogd با امکان (facility) 'daemon' نوشته میشوند. با پرچم -v (حالت پرگو / verbose)، atopgpud پیامهای اشکالزدایی (debug) را نیز ثبت میکند.
نصب (INSTALLATION)
دیمن atopgpud به
زبان Python
نوشته شده
است،
بنابراین
یک مفسر Python 3
باید روی
سیستم هدف
نصب باشد.
این دیمن
برای
ارتباط با
درایور Nvidia به
ماژول
پایتون pynvml
وابسته است.
این ماژول
را میتوان
با دستور pip
یا pip3 نصب
کرد و
معمولاً
تحت نام nvidia-ml-py
بستهبندی
شده است.
ماژول pynvml یک
پوشش
پایتون
پیرامون
کتابخانه
مشترک libnvidia-ml
است که آن هم
باید نصب
شود.
پس از نصب بستهٔ atop دیمن atopgpud بهطور خودکار آغاز به کار نمیکند و همچنین سرویس آن بهطور پیشفرض فعال نخواهد شد. هنگامی که میخواهید این سرویس را (بهصورت دائمی) فعال کنید، دستورهای زیر را (به عنوان root) وارد کنید:
systemctl enable atopgpu
systemctl start atopgpu
شرح رابط (INTERFACE DESCRIPTION)
فرایندهای
کلاینت
میتوانند
با استفاده
از نام سوکت
انتزاعی 'atopgpud_nvidia'
به دیمن atopgpud
متصل شوند.
متعاقباً،
چنین
کلاینتی
میتواند
یک درخواست
دو بایتی
ارسال کند
که شامل یک
بایت کد
درخواست و
به دنبال آن
یک بایت عدد
صحیح به
عنوان
شماره
نسخهٔ API است.
کد درخواست
در بایت اول
میتواند 'T'
باشد تا
اطلاعات
مربوط به
انواع GPUهای
نصبشده در
سیستم را به
دست آورد
(معمولاً
تنها یک بار
درخواست
میشود).
کد درخواست
میتواند 'S'
باشد تا
تمامی
مقادیر
شمارندهٔ
آماری را به
دست آورد
(برای هر
بازه
درخواست
میشود).
پاسخ دیمن
با یک عدد
صحیح ۴
بایتی آغاز
میشود.
بایت اول
شماره
نسخهٔ API است
که قالب
پاسخ را
تعیین
میکند، در
حالی که سه
بایت بعدی
نشاندهندهٔ
طول رشتهٔ
پاسخ بعدی
هستند
(ترتیب big endian).
در
رشتههای
پاسخ،
نویسهٔ '@'
اطلاعات
سطح سیستم
یک GPU خاص را
معرفی
میکند و
نویسهٔ '#'
اطلاعات
سطح فرایند
مربوط به آن
GPU را معرفی
میکند.
برای
جزئیات
بیشتر در
مورد مفهوم
شمارندهها
در رشتهٔ
پاسخ،
لطفاً به کد
منبع
مراجعه
کنید.
همچنین ببینید (SEE ALSO)
atop(1), atopsar(1), atoprc(5),
netatop(4), netatopd(8), atopacctd(8)
https://www.atoptool.nl
نویسنده (AUTHOR)
Gerlof Langeveld (gerlof.langeveld@atoptool.nl)
| September 2025 | Linux |