| PERF-TIMECHART(1) | perf Manual | PERF-TIMECHART(1) |
نام (NAME)
perf-timechart - ابزاری برای مصورسازی رفتار کلی سیستم در حین یک بار کاری
خلاصه دستور (SYNOPSIS)
توضیحات (DESCRIPTION)
دو حالت کارکرد برای perf timechart وجود دارد:
دستور 'perf timechart record <command>' برای ضبط رویدادهای سطح سیستم یک بار کاری دلخواه. بهطور پیشفرض timechart فقط رویدادهای زمانبند و پردازنده (تغییر تسکها، زمانهای اجرا، وضعیت توان پردازنده و غیره) را ضبط میکند، اما امکان ضبط فعالیتهای IO (دیسک، شبکه) با استفاده از آرگومان -I نیز وجود دارد.
دستور 'perf timechart' برای تبدیل یک ردگیری به یک فایل گرافیک برداری مقیاسپذیر (SVG)، که میتواند با نمایشدهندههای محبوب SVG مانند 'Inkscape' مشاهده شود. بسته به رویدادهای موجود در فایل perf.data، نمودار timechart شامل رویدادهای زمانبند/پردازنده یا رویدادهای IO خواهد بود.
در حالت IO، هر نوار دارای دو نمودار است: بالایی و پایینی. نوار بالایی رویدادهای ورودی (خواندن دیسک، بستههای دریافتی شبکه) را نشان میدهد. نوار پایینی رویدادهای خروجی (نوشتن دیسک، بستههای ارسالی شبکه) را نشان میدهد. همچنین نوارهای poll وجود دارند که نشان میدهند برنامه چه مقدار زمان را در فراخوانهای سیستمی poll/epoll/select صرف کرده است.
گزینههای TIMECHART (TIMECHART OPTIONS)
-o, --output=
انتخاب
فایل خروجی
(پیشفرض: output.svg)
-i, --input=
انتخاب
فایل ورودی
(پیشفرض: perf.data
مگر اینکه stdin
یک fifo باشد)
-w, --width=
انتخاب
عرض فایل SVG
(پیشفرض: 1000)
-P, --power-only
تنها
خروجی دادن
بخش مصرف
توان
پردازنده
از نمودار
-T, --tasks-only
انتقالهای
وضعیت
پردازنده
در خروجی
آورده
نشوند
-p, --process
انتخاب
فرآیندها
برای
نمایش، بر
اساس نام یا
PID
-f, --force
بدون
شکایت،
انجام بده.
--symfs=<directory[,layout]>
جستجو
برای
فایلهای
دارای نماد
بهصورت
نسبی نسبت
به این
دایرکتوری.
چیدمان
اختیاری
میتواند
hierarchy
(پیشفرض،
تطبیق با
مسیر کامل)
یا flat (تنها
تطبیق با
نام پایه)
باشد. این
گزینه
زمانی مفید
است که
فایلهای
اشکالزدایی
در یک
ساختار
دایرکتوری
مسطح ذخیره
شده باشند.
-n, --proc-num
چاپ
اطلاعات
تسک حداقل
برای تعداد
مشخصشده
از تسکها.
-t, --topology
مرتبسازی
پردازندهها
بر اساس
مکانشناسی
(توپولوژی).
--highlight=<duration_nsecs|task_name>
برجستهسازی
تسکها (با
رنگ متفاوت)
که بیش از
مدتزمان
مشخص اجرا
شدهاند یا
تسکهایی
با نام
مشخصشده.
اگر عدد
داده شود،
به عنوان
تعداد
نانوثانیه
تفسیر
میشود. اگر
یک رشته
غیرعددی
داده شود،
به عنوان
نام تسک
تفسیر
میشود.
--io-skip-eagain
رویدادهای
IO مربوط به EAGAIN
رسم نشوند.
--io-min-time=<nsecs>
رسم
رویدادهای
کوچک
بهگونهای
که گویی به
اندازه min-time
طول
کشیدهاند.
زمانی مفید
است که نیاز
دارید IOهای
بسیار کوچک
و سریع را
مشاهده
کنید. امکان
مشخص کردن
پسوند ms یا us
برای تعیین
زمان به
میلیثانیه
یا
میکروثانیه
وجود دارد.
مقدار
پیشفرض 1ms
است.
--io-merge-dist=<nsecs>
ادغام
رویدادهایی
که به
اندازه merge-dist
نانوثانیه
با هم فاصله
دارند. این
کار تعداد
شکلها را
در SVG کاهش
داده و رندر
شدن آن را
بهینهتر
میکند.
امکان مشخص
کردن پسوند ms
یا us برای
تعیین زمان
به
میلیثانیه
یا
میکروثانیه
وجود دارد.
مقدار
پیشفرض 1us
است.
گزینههای RECORD (RECORD OPTIONS)
-P, --power-only
تنها
رویدادهای
مرتبط با
توان ضبط
شوند
-T, --tasks-only
تنها
رویدادهای
مرتبط با
تسکها ضبط
شوند
-I, --io-only
تنها
رویدادهای
مرتبط با IO
ضبط شوند
-g, --callchain
ضبط
نمودار
فراخوانی
(زنجیره
پشته/backtrace)
انجام شود
-o, --output=
انتخاب
فایل خروجی
(پیشفرض: perf.data)
مثالها (EXAMPLES)
$ perf timechart record git pull
[ perf record: Woken up 13 times to write data ] [ perf record: Captured and wrote 4.253 MB perf.data (~185801 samples) ]
$ perf timechart
Written 10.2 seconds of trace to output.svg.
ضبط نمودار زمانی در سطح کل سیستم:
$ perf timechart record
سپس تولید نمودار زمانی و برجستهسازی تسکهای 'gcc':
$ perf timechart --highlight gcc
ضبط رویدادهای IO در سطح کل سیستم:
$ perf timechart record -I
سپس تولید نمودار زمانی:
$ perf timechart
همچنین ببینید (SEE ALSO)
| 09/04/2026 | perf |