| PERF-MEM(1) | perf Manual | PERF-MEM(1) |
نام (NAME)
perf-mem - پروفایلسازی دسترسیهای حافظه
خلاصه دستور (SYNOPSIS)
perf mem [<options>] (record [<command>] | report)
توضیحات (DESCRIPTION)
دستور "perf mem record" یک فرمان را اجرا کرده و دادههای مربوط به عملیات حافظه را از آن جمعآوری و در perf.data ذخیره میکند. گزینههای perf record نیز پذیرفته شده و مستقیماً اعمال میشوند.
دستور "perf mem report" نتیجه را نمایش میدهد. این دستور perf report را با مجموعهٔ مناسبی از گزینهها فراخوانی میکند تا نمایهٔ دسترسی به حافظه را نمایش دهد. بهطور پیشفرض، از بارگذاریها (loads) و ذخیرهسازیها (stores) نمونهبرداری میشود. از گزینهٔ -t برای محدود کردن به بارگذاریها یا ذخیرهسازیها استفاده کنید.
توجه داشته باشید که در سیستمهای Intel، تاخیر حافظهٔ گزارششده تاخیر بهرهبرداری (use-latency) است، نه تاخیر خالص بارگذاری (یا تاخیر ذخیرهسازی). تاخیر بهرهبرداری علاوه بر تاخیر زیرسیستم حافظه، شامل هرگونه تاخیر صفبندی خطلوله (pipeline queuing) نیز میشود.
در Arm64 این ابزار از SPE برای نمونهبرداری از عملیات بارگذاری و ذخیرهسازی استفاده میکند، بنابراین به پشتیبانی سختافزار و هسته نیاز است. برای راهنمای راهاندازی به perf-arm-spe(1) مراجعه کنید. به دلیل ماهیت آماری نمونهبرداری SPE، از تمامی عملیات حافظه نمونهبرداری نخواهد شد.
در AMD این ابزار از IBS Op PMU برای نمونهبرداری از عملیات بارگذاری-ذخیرهسازی (load-store) استفاده میکند.
گزینههای عمومی (COMMON OPTIONS)
-f, --force
-t, --type=<type>
-v, --verbose
-p, --phys-data
--data-page-size
گزینههای RECORD (RECORD OPTIONS)
<command>...
-e, --event <event>
-K, --all-kernel
-U, --all-user
--ldlat <n>
در پردازندههای پشتیبانیشدهٔ AMD: - فایل /sys/bus/event_source/devices/ibs_op/caps/ldlat حاوی '1' است. - مقادیر تاخیر پشتیبانیشده از 128 تا 2048 (هر دو شامل میشوند) هستند. - مقدار تاخیری که مضربی از 128 باشد بار سربار پروفایلسازی اندکی کمتری در مقایسه با سایر مقادیر به همراه دارد. - فیلتر کردن تاخیر بارگذاری بهطور پیشفرض غیرفعال است.
-i, --input=<file>
-C, --cpu=<cpu>
-D, --dump-raw-samples
-s, --sort=<key>
و کلیدهای مرتبسازی پیشفرض به local_weight، mem، sym، dso، symbol_daddr، dso_daddr، snoop، tlb، locked، blocked، local_ins_lat تغییر مییابند.
-F, --fields=
علاوه بر فیلدهای پیشفرض، 'perf mem report' فیلدهای زیر را برای تفکیک دورههای نمونهبرداری ارائه میدهد.
لطفاً برای نکات و هشدارهای مهم به بخش OUTPUT FIELD SELECTION مراجعه کنید.
-T, --type-profile
-U, --hide-unresolved
-x, --field-separator=<separator>
علاوه بر این، برای report تمامی گزینههای perf report معتبر هستند، و برای record تمامی گزینههای perf record.
محاسبهٔ سربار (OVERHEAD CALCULATION)
برخلاف perf-report(1) که سربار را از دورهٔ نمونهبرداری واقعی محاسبه میکند، سربار perf-mem با استفاده از وزن نمونه (sample weight) محاسبه میشود. برای مثال، دو نمونه در فایل perf.data وجود دارد که هر دو دارای دورهٔ نمونهبرداری یکسانی هستند، اما یک نمونه دارای وزن 180 و دیگری دارای وزن 20 است:
$ perf script -F period,data_src,weight,ip,sym 100000 629080842 |OP LOAD|LVL L3 hit|... 20 7e69b93ca524 strcmp 100000 1a29081042 |OP LOAD|LVL RAM hit|... 180 ffffffff82429168 memcpy
$ perf report -F overhead,symbol 50% [.] strcmp 50% [k] memcpy
$ perf mem report -F overhead,symbol 90% [k] memcpy 10% [.] strcmp
دستور "perf mem report" تعدادی فیلد خروجی جدید مختص اطلاعات منبع داده در نمونه اضافه میکند. برخی از آنها همنام با کلیدهای مرتبسازی موجود ("mem" و "snoop") هستند. بنابراین برخلاف سایر فیلدها و کلیدهای مرتبسازی، هنگام استفاده با -F/--fields یا -s/--sort رفتار متفاوتی خواهند داشت.
استفاده از این دو به عنوان فیلدهای خروجی، تمام نمونهها را با یکدیگر تجمیع کرده و تفکیک آنها را نمایش میدهد.
$ perf mem report -F mem,snoop
...
# ------ Memory ------- --- Snoop ----
# RAM Uncach Other HitM Other
# ..................... ..............
#
3.5% 0.0% 96.5% 25.1% 74.9%
اما استفاده از همین نامها برای کلیدهای مرتبسازی، نمونهها را برای هر نوع به طور جداگانه تجمیع خواهد کرد.
$ perf mem report -s mem,snoop
# Overhead Samples Memory access Snoop
# ........ ............ ....................................... ............
#
47.99% 1509 L2 hit N/A
25.08% 338 core, same node Any cache hit HitM
10.24% 54374 N/A N/A
6.77% 35938 L1 hit N/A
6.39% 101 core, same node Any cache hit N/A
3.50% 69 RAM hit N/A
0.03% 158 LFB/MAB hit N/A
0.00% 2 Uncached hit N/A
همچنین ببینید (SEE ALSO)
| 09/04/2026 | perf |