'\" t .\" Title: perf-kwork .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/04/2026 .\" Manual: perf Manual .\" Source: perf .\" Language: English .\" .TH "PERF\-KWORK" "1" "09/04/2026" "perf" "perf Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" perf-kwork \- ابزاری برای ردیابی و سنجش ویژگی‌های کارهای هسته (زمان‌های تأخیر) .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIperf kwork\fR {record|report|latency|timehist|top} .fi .SH "توضیحات (DESCRIPTION)" .sp چندین حالت مختلف از \fIperf kwork\fR وجود دارد: .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf kwork record \*(Aq برای ثبت کارهای هسته مربوط به یک بار کاری دلخواه\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf kwork report\*(Aq برای گزارش زمان اجرای هر کار هسته (kwork)\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf kwork latency\*(Aq برای گزارش زمان‌های تأخیر هر کار هسته (kwork)\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf kwork timehist\*(Aq تحلیلی از رویدادهای کارهای هسته ارائه می‌دهد\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf kwork top\*(Aq برای گزارش میزان مصرف cpu توسط تسک‌ها\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf مثال‌های استفاده: perf kwork record \-\- sleep 1 perf kwork report perf kwork report \-b perf kwork latency perf kwork latency \-b perf kwork timehist perf kwork top perf kwork top \-b .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf به‌طور پیش‌فرض، رویدادهای کاری مجزا مانند irq و workqueue را، شامل زمان اجرا و تأخیر (زمان بین ایجاد/برانگیختن تا ورود واقعی) نشان می‌دهد: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf Runtime start Runtime end Cpu Kwork name Runtime Delaytime (TYPE)NAME:NUM (msec) (msec) \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- 1811186\&.976062 1811186\&.976327 [0000] (s)RCU:9 0\&.266 0\&.114 1811186\&.978452 1811186\&.978547 [0000] (s)SCHED:7 0\&.095 0\&.171 1811186\&.980327 1811186\&.980490 [0000] (s)SCHED:7 0\&.162 0\&.083 1811186\&.981221 1811186\&.981271 [0000] (s)SCHED:7 0\&.050 0\&.077 1811186\&.984267 1811186\&.984318 [0000] (s)SCHED:7 0\&.051 0\&.075 1811186\&.987252 1811186\&.987315 [0000] (s)SCHED:7 0\&.063 0\&.081 1811186\&.987785 1811186\&.987843 [0006] (s)RCU:9 0\&.058 0\&.645 1811186\&.988319 1811186\&.988383 [0000] (s)SCHED:7 0\&.064 0\&.143 1811186\&.989404 1811186\&.989607 [0002] (s)TIMER:1 0\&.203 0\&.111 1811186\&.989660 1811186\&.989732 [0002] (s)SCHED:7 0\&.072 0\&.310 1811186\&.991295 1811186\&.991407 [0002] eth0:10 0\&.112 1811186\&.991639 1811186\&.991734 [0002] (s)NET_RX:3 0\&.095 0\&.277 1811186\&.989860 1811186\&.991826 [0002] (w)vmstat_shepherd 1\&.966 0\&.345 \&.\&.\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf زمان‌ها بر حسب میلی‌ثانیه\&.میکروثانیه (msec\&.usec) هستند\&. .fi .if n \{\ .RE .\}.SH "گزینه‌ها (OPTIONS)" .PP \-D, \-\-dump\-raw\-trace= .RS 4 نمایش تخلیهٔ پرجزئیات داده‌های sched\&. .RE .PP \-f, \-\-force .RS 4 شکایتی نکن، انجامش بده\&. .RE .PP \-k, \-\-kwork .RS 4 فهرست kworkها برای پروفایل‌سازی (irq، softirq، workqueue، sched و غیره) .RE .PP \-v, \-\-verbose .RS 4 نمایش جزئیات بیشتر\&. (نمایش نشانی نمادها و غیره) .RE .sp گزینه‌ها برای \fIperf kwork report\fR .sp .if n \{\ .RS 4 .\} .nf \&.ft C \-b:: \-\-use\-bpf:: استفاده از BPF برای سنجش زمان اجرای kwork \-C:: \-\-cpu:: تنها نمایش رویدادها برای CPU(های) داده‌شده (فهرست جداشده با کاما)\&. \-i:: \-\-input:: نام فایل ورودی\&. (پیش‌فرض: perf\&.data مگر اینکه stdin یک fifo باشد) \-n:: \-\-name:: تنها نمایش رویدادها برای نام داده‌شده\&. \-s:: \-\-sort:: مرتب‌سازی بر اساس کلید(ها): runtime, max, count \-S:: \-\-with\-summary:: نمایش خلاصه به همراه آمارها \-\-time:: تنها تحلیل نمونه‌های درون بازه زمانی مشخص‌شده: ,\&. زمان‌ها دارای قالب seconds\&.microseconds هستند\&. اگر نقطه آغاز داده نشود (یعنی رشته زمانی به‌صورت \*(Aq,x\&.y\*(Aq باشد) تحلیل از ابتدای فایل شروع می‌شود\&. اگر زمان پایان داده نشود (یعنی رشته زمانی به‌صورت \*(Aqx\&.y,\*(Aq باشد) تحلیل تا انتهای فایل ادامه می‌یابد\&. گزینه‌ها برای \*(Aqperf kwork latency\*(Aq \&.ft .fi .if n \{\ .RE .\} .PP \-b, \-\-use\-bpf .RS 4 استفاده از BPF برای سنجش تأخیر kwork .RE .PP \-C, \-\-cpu .RS 4 تنها نمایش رویدادها برای CPU(های) داده‌شده (فهرست جداشده با کاما)\&. .RE .PP \-i, \-\-input .RS 4 نام فایل ورودی\&. (پیش‌فرض: perf\&.data مگر اینکه stdin یک fifo باشد) .RE .PP \-n, \-\-name .RS 4 تنها نمایش رویدادها برای نام داده‌شده\&. .RE .PP \-s, \-\-sort .RS 4 مرتب‌سازی بر اساس کلید(ها): avg, max, count .RE .PP \-\-time .RS 4 تنها تحلیل نمونه‌های درون بازه زمانی مشخص‌شده: ,\&. زمان‌ها دارای قالب seconds\&.microseconds هستند\&. اگر نقطه آغاز داده نشود (یعنی رشته زمانی به‌صورت \fI,x\&.y\fR) باشد) تحلیل از ابتدای فایل شروع می‌شود\&. اگر زمان پایان داده نشود (یعنی رشته زمانی به‌صورت \fIx\&.y,\fR) باشد) تحلیل تا انتهای فایل ادامه می‌یابد\&. .RE .SH "گزینه‌های \FIPERF KWORK TIMEHIST\FR (OPTIONS FOR \FIPERF KWORK TIMEHIST\FR)" .PP \-C, \-\-cpu .RS 4 تنها نمایش رویدادها برای CPU(های) داده‌شده (فهرست جداشده با کاما)\&. .RE .PP \-g, \-\-call\-graph .RS 4 نمایش زنجیره‌های فراخوانی در صورت وجود (پیش‌فرض غیرفعال)\&. .RE .PP \-i, \-\-input .RS 4 نام فایل ورودی\&. (پیش‌فرض: perf\&.data مگر اینکه stdin یک fifo باشد) .RE .PP \-k, \-\-vmlinux= .RS 4 مسیر فایل vmlinux .RE .PP \-n, \-\-name .RS 4 تنها نمایش رویدادها برای نام داده‌شده\&. .RE .PP \-\-kallsyms= .RS 4 مسیر فایل kallsyms .RE .PP \-\-max\-stack .RS 4 حداکثر تعداد توابع برای نمایش در backtrace، پیش‌فرض 5\&. .RE .PP \-\-symfs= .RS 4 جستجوی فایل‌های حاوی نمادها نسبت به این دایرکتوری\&. چینش اختیاری می‌تواند \fIhierarchy\fR (پیش‌فرض، مطابق با مسیر کامل) یا \fIflat\fR (تنها مطابق با نام پایه) باشد\&. این گزینه زمانی مفید است که فایل‌های دیباگ در یک ساختار دایرکتوری مسطح ذخیره شده باشند\&. .RE .PP \-\-time .RS 4 تنها تحلیل نمونه‌های درون بازه زمانی مشخص‌شده: ,\&. زمان‌ها دارای قالب seconds\&.microseconds هستند\&. اگر نقطه آغاز داده نشود (یعنی رشته زمانی به‌صورت \fI,x\&.y\fR) باشد) تحلیل از ابتدای فایل شروع می‌شود\&. اگر زمان پایان داده نشود (یعنی رشته زمانی به‌صورت \fIx\&.y,\fR) باشد) تحلیل تا انتهای فایل ادامه می‌یابد\&. .RE .sp گزینه‌ها برای \fIperf kwork top\fR .sp .if n \{\ .RS 4 .\} .nf \&.ft C \-b:: \-\-use\-bpf:: استفاده از BPF برای سنجش میزان استفادهٔ وظیفه از cpu\&. \-C:: \-\-cpu:: تنها نمایش رویدادها برای CPU(های) داده‌شده (فهرست جداشده با کاما)\&. \-i:: \-\-input:: نام فایل ورودی\&. (پیش‌فرض: perf\&.data مگر اینکه stdin یک fifo باشد) \-n:: \-\-name:: تنها نمایش رویدادها برای نام داده‌شده\&. \-s:: \-\-sort:: مرتب‌سازی بر اساس کلید(ها): rate, runtime, tid \-\-time:: تنها تحلیل نمونه‌های درون بازه زمانی مشخص‌شده: ,\&. زمان‌ها دارای قالب seconds\&.microseconds هستند\&. اگر نقطه آغاز داده نشود (یعنی رشته زمانی به‌صورت \*(Aq,x\&.y\*(Aq باشد) تحلیل از ابتدای فایل شروع می‌شود\&. اگر زمان پایان داده نشود (یعنی رشته زمانی به‌صورت \*(Aqx\&.y,\*(Aq باشد) تحلیل تا انتهای فایل ادامه می‌یابد\&. همچنین ببینید (SEE ALSO) \&.ft .fi .if n \{\ .RE .\} .sp \fBperf-record\fR(1)