.TH "sigwaittest" "8" "0.1" "" "" # SPDX-License-Identifier: GPL-2.0-only .SH "نام (NAME)" sigwaittest \- راه‌اندازی دو ریسه یا انشعاب دو فرآیند و سنجش تأخیر میان ارسال و دریافت سیگنال .SH "خلاصه دستور (SYNOPSIS)" .LP sigwaittest [\-a|\-\-affinity [PROC]] [\-b|\-\-breaktrace USEC] [\-d|\-\-distance DIST] [\-D|\-\-duration TIME] [\-f|\-\-fork [OPT]] [\-i|\-\-interval INTV] [\-\-json FILENAME] [\-l|\-\-loops LOOPS] [\-p|\-\-prio PRIO] [\-t|\-\-threads [NUM]] .br .SH "توضیحات (DESCRIPTION)" .LP برنامه .B sigwaittest دو ریسه را آغاز می‌کند یا به دلخواه، دو فرآیند مشتق (fork) ایجاد می‌نماید که از طریق سیگنال‌ها با یکدیگر همگام‌سازی می‌شوند، و میزان تأخیر بین ارسال سیگنال و بازگشت از .BR sigwait () را اندازه می‌گیرد. .SH "گزینه‌ها (OPTIONS)" .TP .B \-a, \-\-affinity[=PROC] اجرا روی پردازنده شماره PROC. اگر PROC مشخص نشود، روی پردازنده فعلی اجرا می‌شود. .TP .B \-b, \-\-breaktrace=USEC ارسال دستور توقف ردیابی (break trace) هنگامی که تأخیر بیشتر از USEC باشد. این یک گزینه اشکال‌زدایی برای کنترل ردیاب تأخیر در وصله پیش‌دستی بلادرنگ (realtime preemption patch) است. برای ردیابی تأخیرهای غیرمنتظره و بزرگ سیستم کاربرد دارد. .TP .B \-d, \-\-distance=DIST تنظیم فاصله بین بازه‌های زمانی ریسه‌ها بر حسب میکروثانیه (پیش‌فرض ۵۰۰ میکروثانیه است). هنگامی که برنامه با گزینه .B \-t فراخوانی شود و بیش از یک ریسه ایجاد گردد، مقدار این فاصله به بازه زمانی ریسه‌ها افزوده می‌شود: Interval(thread N) = Interval(thread N-1) + DIST .TP .B \-D, \-\-duration=TIME تعیین مدت‌زمان اجرای آزمون. .br افزودن 'm'، 'h' یا 'd' برای مشخص کردن دقیقه، ساعت یا روز. .TP .B \-f, \-\-fork[=OPT] انشعاب فرآیندهای جدید (fork) به جای ایجاد ریسه‌ها (که حالت پیش‌فرض است). .TP .B \-i, \-\-interval=INTV تنظیم بازه زمانی پایه ریسه(ها) بر حسب میکروثانیه (پیش‌فرض ۱۰۰۰ میکروثانیه است). این مقدار بازه زمانی اولین ریسه را تعیین می‌کند. همچنین گزینه .B \-d را ببینید. .TP .B \-\-json=FILENAME نوشتن نتایج نهایی در FILENAME با فرمت JSON. .TP .B \-l, \-\-loops=LOOPS تنظیم تعداد دورها (حلقه‌ها). مقدار پیش‌فرض 0 (بی‌پایان) است. این گزینه برای آزمون‌های خودکار با تعداد مشخصی از چرخه‌های آزمون کاربرد دارد. پس از رسیدن به تعداد بازه‌های زمانی تایمر، .B sigwaittest متوقف می‌شود. .TP .B \-p, \-\-prio=PRIO تنظیم اولویت فرآیند. .TP .B \-t, \-\-threads[=NUM] تنظیم تعداد ریسه‌های آزمون (اگر این گزینه مشخص نشود، پیش‌فرض ۱ است). اگر NUM مشخص شود، به تعداد NUM ریسه آزمون ایجاد می‌شود. اگر NUM مشخص نشود، NUM برابر با تعداد پردازنده‌های در دسترس در نظر گرفته می‌شود. .SH "مثال‌ها (EXAMPLES)" مثال زیر روی یک پردازنده ۴ هسته‌ای (4-way CPU) اجرا شده است: .LP .nf # sigwaittest -a -t -p99 -i100 -d25 -l1000000 #0: ID11510, P99, CPU0, I100; #1: ID11511, P99, CPU0, Cycles 1000000 #2: ID11512, P98, CPU1, I125; #3: ID11513, P98, CPU1, Cycles 817484 #4: ID11514, P97, CPU2, I150; #5: ID11515, P97, CPU2, Cycles 668213 #6: ID11516, P96, CPU3, I175; #7: ID11517, P96, CPU3, Cycles 597344 #1 -> #0, Min 1, Cur 2, Avg 3, Max 30 #3 -> #2, Min 1, Cur 26, Avg 3, Max 42 #5 -> #4, Min 1, Cur 46, Avg 4, Max 67 #7 -> #6, Min 1, Cur 2, Avg 3, Max 74 .fi .SH "نویسندگان (AUTHORS)" .LP Carsten Emde .SH "همچنین ببینید (SEE ALSO)" .LP .BR kill (2), .BR sigwait (3)