.\" Hey, EMACS: -*- nroff -*- .TH CYCLICTEST 8 "April 22, 2016" # SPDX-License-Identifier: GPL-2.0-only .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH "نام (NAME)" cyclictest \- برنامه آزمایش دقت بالا برای سنجش تأخیر .SH "خلاصه دستور (SYNOPSIS)" .SY cyclictest .RI "[ \-hfmnqrsvMS ] [\-a " proc " ] [\-A " aligned " ] [\-b " usec " ] [\-c " clock " ] [\-d " dist " ] \ [\-h " histogram " ] [\-i " intv " ] [\-\-json " filename " ] [\-l " loop " ] [\-o " red " ] \ [\-p " prio " ] [\-t " num " ] [\-D " time "] [\-w] [\-W] [\-y " policy " ] [ \-S | \-U ]" .\" .SH "توضیحات (DESCRIPTION)" .\" This manual page documents briefly the .\" .B cyclictest commands. .\" .PP .\" \fI\fP escape sequences to invode bold face and italics, respectively. .\" \fBcyclictest\fP is a program that... .SH "گزینه‌ها (OPTIONS)" این برنامه‌ها از قواعد نحوی معمول خط فرمان GNU پیروی می‌کنند که در آن گزینه‌های طولانی با دو خط تیره ('\-\-') شروع می‌شوند. .br خلاصه‌ای از گزینه‌ها در زیر آمده است. .\" For a complete description, see the Info files. .TP .B \-a, \-\-affinity[=PROC-SET] اجرای ریسه‌ها روی مجموعه‌ای از پردازنده‌ها که با PROC-SET مشخص شده‌اند. اگر PROC-SET مشخص نشود، از تمام پردازنده‌ها استفاده خواهد شد. ریسه‌ها به ترتیب عددی و به روش نوبت‌گردشی (round\-robin) به پردازنده‌های موجود در مجموعه اختصاص می‌یابند. .br مجموعه پردازنده‌ها می‌تواند به صورت A,B,C یا A-C یا A-B,D-F و غیره مشخص شود*. از نویسه ! می‌توان برای نفی یک مجموعه استفاده کرد؛ برای نمونه، !B-D به معنای استفاده از تمام پردازنده‌های در دسترس به جز B تا D است. شماره پردازنده‌ها همان شماره‌های نمایش‌یافته در فیلد .I processor در /proc/cpuinfo است. برای اطلاعات بیشتر درباره نحوه تعیین مجموعه‌های CPU به .BR numa (3) مراجعه کنید. * پشتیبانی از مجموعه‌های CPU نیازمند نسخه ۲ یا بالاتر libnuma است. برای libnuma نسخه ۱، در صورت تعیین PROC-SET، مقدار آن باید تنها یک شماره CPU باشد. .TP .B \-A, \-\-aligned=USEC تراز کردن بیداری ریسه‌ها با یک آفست مشخص بر حسب میکروثانیه .TP .B \-b, \-\-breaktrace=USEC ارسال دستور توقف ردیابی (break trace) هنگامی که تاخیر بیش از USEC باشد .TP .B \-c, \-\-clock=CLOCK انتخاب ساعت .br 0 = CLOCK_MONOTONIC (پیش‌فرض) .br 1 = CLOCK_REALTIME .TP .B \-\-deepest\-idle\-state=n کاهش تأخیر خروج از حالت بیکاری (idle) با محدود کردن وضعیت بیکاری تا n روی پردازنده‌های مورد استفاده (\-1 تمام وضعیت‌های بیکاری را غیرفعال می‌کند). مدیریت مصرف انرژی روی سایر پردازنده‌ها متوقف نمی‌شود. .TP .B \-\-default\-system عدم تلاش برای تنظیم و بهینه‌سازی سیستم از طریق cyclictest. مدیریت مصرف انرژی متوقف نمی‌شود. این ممکن است نتایج ضعیف‌تری ایجاد کند، اما امکان تشخیص نیاز به تنظیم سیستم را فراهم می‌آورد. .TP .B \-d, \-\-distance=DIST فاصله زمانی بین فواصل ریسه‌ها بر حسب میکروثانیه، پیش‌فرض = ۵۰۰ .TP .B \-D, \-\-duration=TIME تعیین مدت‌زمان اجرای آزمایش. .br افزودن 'm' برای دقیقه، 'h' برای ساعت، یا 'd' برای روز. .TP .B \-F, \-\-fifo= ایجاد یک لوله نام‌گذاری‌شده (named pipe) در path و نوشتن آمار در آن .TP .B \-h, \-\-histogram=US تخلیه نمودار توزیع فراوانی (هیستوگرام) تأخیر در stdout پس از پایان اجرا. US بیشینه زمان تأخیر بر حسب میکروثانیه برای رهگیری است. این گزینه تمام ریسه‌ها را با اولویت یکسان اجرا می‌کند. .TP .B \-H, \-\-histofall=MAXLATENCYINUS مشابه ‎-h با این تفاوت که یک ستون هیستوگرام اضافی در سمت راست نمایش داده می‌شود که حاوی داده‌های خلاصه همه هیستوگرام‌های ریسه‌ها است. اگر cyclictest فقط با یک ریسه اجرا شود، گزینه ‎-H معادل ‎-h خواهد بود. .TP .B \-\-histfile= تخلیه هیستوگرام تأخیر در به جای stdout. .TP .B \-i, \-\-interval=INTV تنظیم فاصله پایه ریسه(ها) بر حسب میکروثانیه (پیش‌فرض ۱۰۰۰ میکروثانیه است). این مقدار، فاصله نخستین ریسه را تنظیم می‌کند. همچنین به .B \-d نگاه کنید. .TP .B \-\-json=FILENAME نوشتن نتایج نهایی در FILENAME با قالب‌بندی JSON. .TP .B \-\-laptop صرفه‌جویی در باتری هنگام اجرای cyclictest. این گزینه نتایج بادرنگ (realtime) ضعیف‌تری تولید می‌کند، اما باتری را با سرعت کمتری تخلیه خواهد کرد. .TP .B \-\-latency=PM_Q0S مقدار هدف تأخیر مدیریت توان. این مقدار در /dev/cpu_dma_latency نوشته می‌شود و وضعیت‌های c-states را تحت تأثیر قرار می‌دهد. پیش‌فرض 0 است .TP .B \-l, \-\-loops=LOOPS تنظیم تعداد حلقه‌ها. مقدار پیش‌فرض 0 (بی‌پایان) است. این گزینه برای آزمون‌های خودکار با تعداد چرخه‌های آزمایشی معین کاربرد دارد. cyclictest پس از رسیدن به تعداد فواصل زمانی زمان‌سنج متوقف می‌شود. .TP .B \-\-mainaffinity=CPUSET اجرای ریسه اصلی روی CPU شماره N. این تنظیم فقط ریسه اصلی را تحت تأثیر قرار می‌دهد و بر ریسه‌های اندازه‌گیری تأثیری ندارد .TP .B \-m, \-\-mlockall قفل کردن تخصیص‌های حافظه فعلی و آتی در حافظه اصلی به منظور جلوگیری از تعویض به دیسک (paged out) .TP .B \\-M, \-\-refresh_on_max به تعویق انداختن به‌روزرسانی صفحه نمایش تا زمان ثبت یک رکورد بیشینه تأخیر جدید. (برای اجرای cyclictest روی اتصالات با پهنای باند کم مفید است) .TP .B \-N, \-\-nsecs نمایش نتایج بر حسب نانوثانیه به جای میکروثانیه که واحد پیش‌فرض است. .TP .B \-o, \-\-oscope=RED حالت نوسان‌نما (Oscilloscope)، کاهش حجم خروجی با ضریب RED. .TP .B \-p, \-\-prio=PRIO تنظیم اولویت اولین ریسه. اولویت داده‌شده به نخستین ریسه آزمایشی اختصاص می‌یابد. هر ریسه بعدی اولویت کمتری دریافت می‌کند: Priority(Thread N) = max(Priority(Thread N\-1) \- 1, 0) .TP .B \-\-policy=NAME تنظیم سیاست زمان‌بندی ریسه‌های اندازه‌گیری که در آن NAME یکی از این مقادیر است: other, normal, batch, idle, fifo, rr .TP .B \-\-priospread گسترش سطوح اولویت با شروع از یک مقدار مشخص .TP .B \-q, \-\-quiet چاپ خلاصه تنها هنگام خروج. برای آزمون‌های خودکار که در آن‌ها تنها دریافت خروجی خلاصه نیاز است کاربرد دارد. .TP .B \-r, \-\-relative استفاده از زمان‌سنج‌های نسبی به جای مطلق. رفتار پیش‌فرض آزمون‌ها استفاده از زمان‌سنج‌های مطلق است. این گزینه برای کامل بودن تعبیه شده و نباید برای آزمون‌های با قابلیت تکرارپذیری استفاده شود. .TP .B \-R, \-\-resolution بررسی وضوح ساعت با فراخوانی مکرر ()clock_gettime. فهرستی از مقادیر ()clock_gettime با ‎-X گزارش می‌شود .TP .B \-\-secaligned [USEC] تراز کردن زمان بیداری ریسه‌ها با ثانیه کامل بعدی و اعمال آفست اختیاری. .TP .B \-s, \-\-system استفاده از sys_nanosleep و sys_setitimer به جای زمان‌سنج‌های posix. توجه داشته باشید که .B \-s فقط با یک ریسه قابل استفاده است زیرا itimerها برای کل فرایند هستند نه برای هر ریسه. گزینه .B \-s از فراخوانی سیستمی nanosleep استفاده می‌کند و به یک ریسه محدود نیست. .TP .B \\-S, \-\-smp تنظیم گزینه‌ها برای آزمون استاندارد روی سیستم‌های چندپردازنده‌ای متقارن (SMP). معادل استفاده از گزینه‌های "\-t \-a" و همچنین یکسان نگه داشتن اولویت تعیین‌شده در میان تمامی ریسه‌ها .TP .B \-\-spike= ثبت تمامی جهش‌های ناگهانی تأخیر (spikes) بزرگتر از trigger .TP .B \-\-spike-nodes=[num of nodes] این مقدار بیشینه تعداد جهش‌هایی است که می‌توان ثبت کرد. .br در صورت عدم تعیین، مقدار پیش‌فرض ۱۰۲۴ است. .TP .B \\-\-smi فعال‌سازی شمارش و تشخیص SMI روی پردازنده‌های دارای پشتیبانی از شمارش SMI. .TP .B \-t, \-\-threads[=NUM] تنظیم تعداد ریسه‌های آزمایشی (پیش‌فرض ۱ است). ایجاد NUM ریسه آزمایشی. اگر NUM تعیین نشود، NUM برابر با تعداد پردازنده‌های در دسترس تنظیم می‌شود. برای اطلاعات بیشتر به .BR \-d ، .B \-i و .B \-p مراجعه کنید. .TP .B \-\-tracemark نوشتن یک علامت ردیابی (trace mark) هنگامی که تأخیر از .B \-b فراتر رود. .TP .B \-u, \-\-unbuffered اجبار خروجی بدون بافر برای پردازش بلادرنگ .TP .B \-v, \-\-verbose نمایش مقادیر در خروجی استاندارد stdout برای آمارگیری. این گزینه برای گردآوری اطلاعات آماری درباره توزیع تأخیر استفاده می‌شود. خروجی به stdout ارسال می‌شود. قالب خروجی چنین است: .PP .nf n:c:v .fi .PP که در آن n=شماره وظیفه، c=تعداد شمارش، و v=مقدار تأخیر بر حسب میکروثانیه است. .TP .B \-\-dbg_cyclictest چاپ اطلاعات مفید برای اشکال‌زدایی cyclictest .TP .B \-x, \-\-posix_timers استفاده از زمان‌سنج‌های POSIX به جای clock_nanosleep. .SH "همچنین ببینید (SEE ALSO)" .BR numa (3), .BR numactl (8) .\" .br .\" The programs are documented fully by .\" .IR "The Rise and Fall of a Fooish Bar" , .\" available via the Info system. .SH "نویسندگان (AUTHORS)" برنامه cyclictest توسط Thomas Gleixner نوشته شده است. .PP این صفحه راهنما توسط Alessio Igor Bogani برای پروژه دبیان نوشته شده است (اما دیگران نیز می‌توانند از آن استفاده کنند). .br به‌روزرسانی‌شده توسط John Kacur