| PERF-DAEMON(1) | perf Manual | PERF-DAEMON(1) |
نام (NAME)
perf-daemon - اجرای نشستهای ضبط در پسزمینه
خلاصه دستور (SYNOPSIS)
perf daemon perf daemon [<options>] perf daemon start [<options>] perf daemon stop [<options>] perf daemon signal [<options>] perf daemon ping [<options>]
توضیحات (DESCRIPTION)
این دستور امکان اجرای یک پردازه دیمن (daemon) ساده را فراهم میکند که نشستهای ضبط (record) پیکربندیشده را آغاز کرده و بر آنها نظارت میکند.
میتوانید perf daemon را به عنوان پردازهای در پسزمینه با چندین وظیفه فرزند perf record تصور کنید، مانند:
# ps axjf
...
1 916507 ... perf daemon start
916507 916508 ... \_ perf record --control=fifo:control,ack -m 10M -e cycles --overwrite --switch-output -a
916507 916509 ... \_ perf record --control=fifo:control,ack -m 20M -e sched:* --overwrite --switch-output -a
هر نشست perf record برای اجرا تحت دیمن مناسب نیست. کاربر به نشستی از perf نیاز دارد که یا بر اساس درخواست داده تولید کند، مانند نشستهای جعبهسیاه (flight recorder) در مثال بالا، یا نشستی که برای تولید دورهای دادهها پیکربندی شده باشد، مانند استفاده از پیکربندی --switch-output برای زمان و اندازه.
هر نشست با راهاندازی کنترلی (با گزینههای perf record --control) آغاز میشود.
نشستها از طریق فایل پیکربندی تنظیم میشوند؛ بخش «فایل پیکربندی (CONFIG FILE)» را به همراه مثالها ببینید.
گزینهها (OPTIONS)
-v, --verbose
--config=<PATH>
--base=<PATH>
تمام گزینههای عمومی در زیردستورها نیز در دسترس هستند.
دستور START (START COMMAND)
دستور start پردازه دیمن را ایجاد میکند.
-f, --foreground
دستور STOP (STOP COMMAND)
دستور stop تمام نشستها و پردازه دیمن را متوقف میکند.
دستور SIGNAL (SIGNAL COMMAND)
دستور signal سیگنالی را به نشستهای پیکربندیشده ارسال میکند.
--session
دستور PING (PING COMMAND)
دستور ping یک پینگ کنترلی به نشستهای پیکربندیشده ارسال میکند.
--session
فایل پیکربندی (CONFIG FILE)
دیمن در فایل پیکربندی استاندارد perf با استفاده از متغیرهای جدید زیر پیکربندی میشود:
daemon.base: مسیر پایه برای دادههای دیمن. دادههای تمام نشستها در زیر این مسیر ذخیره میشوند.
session-<NAME>.run: یک نشست ضبط جدید تعریف میکند. مقدار آن، خط فرمان record بدون کلمه کلیدی record است.
هر نشست perf record در دایرکتوری daemon.base/<NAME> اجرا میشود.
مثالها (EXAMPLES)
مثال با ۲ نشست record:
# cat ~/.perfconfig [daemon] base=/opt/perfdata
[session-cycles] run = -m 10M -e cycles --overwrite --switch-output -a
[session-sched] run = -m 20M -e sched:* --overwrite --switch-output -a
راهاندازی دیمن:
# perf daemon start
بررسی نشستها:
# perf daemon [603349:daemon] base: /opt/perfdata [603350:cycles] perf record -m 10M -e cycles --overwrite --switch-output -a [603351:sched] perf record -m 20M -e sched:* --overwrite --switch-output -a
خط اول اطلاعات پردازه دیمن به همراه دایرکتوری پایه پیکربندیشده آن است.
بررسی نشستها با اطلاعات بیشتر:
# perf daemon -v [603349:daemon] base: /opt/perfdata output: /opt/perfdata/output lock: /opt/perfdata/lock up: 1 minutes [603350:cycles] perf record -m 10M -e cycles --overwrite --switch-output -a base: /opt/perfdata/session-cycles output: /opt/perfdata/session-cycles/output control: /opt/perfdata/session-cycles/control ack: /opt/perfdata/session-cycles/ack up: 1 minutes [603351:sched] perf record -m 20M -e sched:* --overwrite --switch-output -a base: /opt/perfdata/session-sched output: /opt/perfdata/session-sched/output control: /opt/perfdata/session-sched/control ack: /opt/perfdata/session-sched/ack up: 1 minutes
مسیر base مسیر پایه دیمن/نشست است. فایل lock فایل قفل دیمن است که تضمین میکند هیچ دیمن دیگری بر روی این مسیر پایه اجرا نمیشود. فایل output خروجی perf record برای آن نشست خاص است. فایلهای control و ack فایلهای کنترلی perf هستند. عدد up تعداد دقایقی را نشان میدهد که دیمن/نشست در حال اجرا بوده است.
اطمینان از فعال بودن نشست کنترلی:
# perf daemon ping OK cycles OK sched
ارسال سیگنال USR2 به نشست cycles برای تولید فایل perf.data:
# perf daemon signal --session cycles signal 12 sent to session 'cycles [603452]'
# tail -2 /opt/perfdata/session-cycles/output [ perf record: dump data: Woken up 1 times ] [ perf record: Dump perf.data.2020123017013149 ]
ارسال سیگنال USR2 به همه نشستها:
# perf daemon signal signal 12 sent to session 'cycles [603452]' signal 12 sent to session 'sched [603453]'
# tail -2 /opt/perfdata/session-cycles/output [ perf record: dump data: Woken up 1 times ] [ perf record: Dump perf.data.2020123017024689 ] # tail -2 /opt/perfdata/session-sched/output [ perf record: dump data: Woken up 1 times ] [ perf record: Dump perf.data.2020123017024713 ]
توقف دیمن:
# perf daemon stop
همچنین ببینید (SEE ALSO)
| 09/04/2026 | perf |