PERFEVENT.CONF(5) File Formats Manual PERFEVENT.CONF(5)

perfevent.conf - فایل پیکربندی perfevent PMDA در Performance Co-Pilot

/perfevent/perfevent.conf

فایل پیکربندی perfevent.conf مشخص می‌کند که کدام شمارنده‌های کارایی سخت‌افزاری توسط perfevent PMDA فعال شوند.

این فایل پیکربندی شامل فهرستی از رویدادها است که باید برای هر PMU فعال شوند. برنامه perfevent PMDA تشخیص می‌دهد که کدام PMUها موجود هستند و رویدادهای پیکربندی‌شده را فعال‌سازی می‌کند. در صورت در دسترس بودن چندین PMU، برنامه perfevent PMDA از ترتیب ورودی‌های موجود در فایل پیکربندی برای تعیین تنظیمات PMU مورد استفاده بهره می‌برد. ورودی‌های ابتدای فایل پیکربندی اولویت بالاتری دارند. تنها یک تنظیم پیکربندی PMU استفاده می‌شود. فایل پیکربندی همچنین می‌تواند شامل رویدادهای اشتقاقی perf باشد. یک رویداد اشتقاقی دارای فهرستی از رویدادها است که باید به عنوان رویدادهای پایه مشخص شده باشند. مقادیر شمارنده‌ها در رویدادهای اشتقاقی تجمیع و نمایش داده می‌شوند.

این فایل از یک یا چند گروه از PMUها و رویدادهای مرتبط با آن‌ها تشکیل شده است.

رشته شناسه PMU درون براکت‌ها قرار می‌گیرد و یک یا چند رویداد در خطوط زیرین، هر کدام در یک خط، فهرست می‌شوند.

["PMU identification string"]
EVENT_NAME [CPU OPTION]
...

برای رویدادهای اشتقاقی، می‌توان یک یا چند گروه از رویدادها را تعیین کرد که در آن شمارنده‌ها در یک گروه می‌توانند مختص یک معماری و شمارنده‌ها در گروه دیگر مختص معماری دیگری باشند؛ در غیر این صورت تنها یک گروه قابل تعیین است. EVENT_NAME_1 و EVENT_NAME_2 و غیره متعلق به گروه ۱ و EVENT_NAME_3 و EVENT_NAME_4 متعلق به گروه ۲ هستند و به همین ترتیب. اگر هر یک از رویدادهای گروه اول موجود نباشد، کل گروه کنار گذاشته شده و گروه بعدی بررسی می‌شود. نخستین گروهی که تمام رویدادهای آن در دسترس باشد فعال و پایش می‌گردد. رویداد اشتقاقی perf همراه با پسوند :derived درون براکت قرار می‌گیرد. توجه داشته باشید که EVENT_NAME فهرست‌شده ذیل رویداد اشتقاقی باید به عنوان یک رویداد پایه در فایل پیکربندی وجود داشته باشد. همچنین تمام رویدادهای ذیل یک گروه خاص از رویداد اشتقاقی perf باید CPU_OPTION یکسانی داشته باشند. علامت || به عنوان جداکننده گروه‌های مختلف در یک رویداد اشتقاقی عمل می‌کند. ساختار نحوی به این صورت است:

[event:derived]
EVENT_NAME_1 [CPU_OPTION] [scale]
EVENT_NAME_2 [CPU_OPTION] [scale]
...
||
EVENT_NAME_3 [CPU_OPTION] [scale]
EVENT_NAME_4 [CPU_OPTION] [scale]
...

گزینه‌های پردازنده (CPU) موجود برای رویداد به شرح زیر است:

برای افزودن شمارنده به تمام پردازنده‌های سیستم
برای افزودن به یکی از پردازنده‌ها بر اساس راهبرد تخصیص نوبتی (round-robin)
برای افزودن شمارنده به اولین پردازنده در هر گره NUMA
برای افزودن شمارنده به پردازنده‌ها در هر گره NUMA با راهبرد تخصیص نوبتی
[N]
که در آن N رقم عددی نمایه (شاخص) پردازنده است

اگر گزینه CPU وجود نداشته باشد، رویداد روی تمام پردازنده‌ها برنامه‌ریزی می‌شود.

scale برای شمارنده‌ها در رویدادهای اشتقاقی کاربرد دارد. اگر مقیاس (scale) تعیین شود، شمارنده‌ها با مقادیر مربوطه خود مقیاس‌بندی می‌شوند. گزینه‌ها به شرح زیر است:

می‌تواند یک مقدار اعشاری ساده یا مقداری در نماد علمی باشد.
مقیاس از ورودی فایل scale در sysfs هسته برای آن رویداد خوانده می‌شود. این مسیر معمولاً به این صورت مشخص می‌گردد: /sys/bus/event_source/device/events/<event_name>.scale

اگر مقیاسی تعیین نشود، مقیاس پیش‌فرض 1.0 در نظر گرفته می‌شود.

خطوط خالی نادیده گرفته می‌شوند. خطوطی که با نویسه # شروع می‌شوند نادیده گرفته می‌شوند.

می‌توان چندین PMU جداشده با کاما را در تعریف PMU مشخص کرد.

pmdaperfevent(1).

PCP Performance Co-Pilot