| PERF-LOCK(1) | perf Manual | PERF-LOCK(1) |
نام (NAME)
perf-lock - تحلیل رویدادهای قفل
خلاصه دستور (SYNOPSIS)
perf lock {record|report|script|info|contention}
توضیحات (DESCRIPTION)
با دستور perf lock میتوانید رفتارها و آمار گوناگون قفلها را تحلیل کنید.
دستور 'perf lock record <command>' رویدادهای قفل را بین شروع و پایان <command> ضبط میکند. همچنین این دستور فایل "perf.data" را تولید میکند که حاوی نتایج ردگیری رویدادهای قفل است.
دستور 'perf lock report' دادههای آماری را گزارش میدهد.
دستور 'perf lock script' رویدادهای خام قفل را نمایش میدهد.
دستور 'perf lock info' فرادادههایی مانند رشتهها یا نشانیهای نمونههای قفل را نمایش میدهد.
دستور 'perf lock contention' آمار رقابت قفل را نمایش میدهد.
-i, --input=<file>
--output=<file>
-v, --verbose
-q, --quiet
-D, --dump-raw-trace
-f, --force
--vmlinux=<file>
--kallsyms=<file>
گزینههای گزارش (REPORT OPTIONS)
-k, --key=<value>
-F, --field=<value>
-c, --combine-locks
-t, --threads
$ perf lock report -t -F acquired,contended,avg_wait
Name acquired contended avg wait (ns)
perf 240569 9 5784
swapper 106610 19 543
:15789 17370 2 14538
ContainerMgr 8981 6 874
sleep 5275 1 11281
ContainerThread 4416 4 944
RootPressureThr 3215 5 1215
rcu_preempt 2954 0 0
ContainerMgr 2560 0 0
unnamed 1873 0 0
EventManager_De 1845 1 636
futex-default-S 1609 0 0
-E, --entries=<value>
-t, --threads
-m, --map
گزینههای رقابت (CONTENTION OPTIONS)
-k, --key=<value>
-F, --field=<value>
-t, --threads
-b, --use-bpf
-a, --all-cpus
-C, --cpu=<value>
-p, --pid=<value>
--tid=<value>
-M, --map-nr-entries=<value>
--max-stack=<value>
--stack-skip=<value>
-E, --entries=<value>
-l, --lock-addr
-o, --lock-owner
-Y, --type-filter=<value>
توجه داشته باشید که گونههای RW قفلها دارای پسوند :R و :W هستند. نامهای بدون پسوند میانبُری برای هر دو گونه میباشند. مثال: rwsem = rwsem:R + rwsem:W.
-L, --lock-filter=<value>
-S, --callstack-filter=<value>
-x, --field-separator=<SEP>
--lock-cgroup
-G, --cgroup-filter=<value>
-J, --inject-delay=<time@function[1]>
مقدار 'time' به نانوثانیه مشخص میشود اما میتواند پسوند واحد داشته باشد. واحدهای موجود "ms" ،"us" و "ns" هستند. در حال حاضر به دلایل ایمنی تا حداکثر 10ms تاخیر پذیرفته میشود.
توجه داشته باشید که پس از گرفتن قفل، انتظار فعال (busy-wait) رخ خواهد داد. ایجاد تاخیر در قفلها میتواند پیامدهای چشمگیری از جمله احتمال کرش هسته داشته باشد. لطفاً با مسئولیت خودتان از آن استفاده کنید.
نکات (NOTES)
- 1.
- time@function
| 09/04/2026 | perf |