'\" t .\" Title: perf-config .\" 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: Persian .\" .TH "PERF\-CONFIG" "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\-config \- دریافت و تنظیم متغیرها در فایل پیکربندی .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIperf config\fR [] [section\&.name[=value] \&...] یا \fIperf config\fR [] \-l | \-\-list .fi .SH "توضیحات (DESCRIPTION)" .sp با این دستور می‌توانید متغیرهای موجود در یک فایل پیکربندی را مدیریت کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP \-l, \-\-list .RS 4 نمایش متغیرهای پیکربندی فعلی، شامل نام و مقدار، برای تمام بخش‌ها\&. .RE .PP \-\-user .RS 4 برای گزینه‌های نوشتن و خواندن: نوشتن در فایل کاربری \fI$HOME/\&.perfconfig\fR یا خواندن از آن\&. .RE .PP \-\-system .RS 4 برای گزینه‌های نوشتن و خواندن: نوشتن در فایل سراسری سیستم \fI$(sysconfdir)/perfconfig\fR یا خواندن از آن\&. .RE .SH "فایل پیکربندی (CONFIGURATION FILE)" .sp فایل پیکربندی perf شامل متغیرهای متعددی برای تغییر جنبه‌های مختلف هر یک از ابزارهای آن است، از جمله خروجی، میزان مصرف دیسک و غیره\&. از فایل \fI$HOME/\&.perfconfig\fR برای ذخیره پیکربندی به ازای هر کاربر استفاده می‌شود\&. از فایل \fI$(sysconfdir)/perfconfig\fR می‌توان برای ذخیره پیکربندی پیش‌فرض سراسری سیستم استفاده کرد\&. .sp می‌توان خواندن فایل‌های پیکربندی را با تنظیم متغیر محیطی PERF_CONFIG بر روی /dev/null غیرفعال کرد، یا با مقداردهی این متغیر، یک فایل پیکربندی جایگزین مشخص نمود\&. .sp هنگام خواندن یا نوشتن، مقادیر به‌طور پیش‌فرض از فایل‌های پیکربندی سیستم و کاربر خوانده می‌شوند، و می‌توان از گزینه‌های \fI\-\-system\fR و \fI\-\-user\fR استفاده کرد تا به دستور اعلام شود فقط از آن مکان بخواند یا در آن بنویسد\&. .SS "نحو (Syntax)" .sp این فایل از بخش‌ها تشکیل شده است\&. هر بخش با نام خود که درون قلاب‌ها قرار گرفته آغاز می‌شود و تا شروع بخش بعدی ادامه می‌یابد\&. هر متغیر باید درون یک بخش قرار داشته باشد و قالبی به شکل \fIname = value\fR داشته باشد، برای مثال: .sp .if n \{\ .RS 4 .\} .nf [section] name1 = value1 name2 = value2 .fi .if n \{\ .RE .\} .sp نام بخش‌ها به بزرگی و کوچکی حروف حساس است و می‌تواند شامل هر کاراکتری به جز خط جدید باشد (علامت نقل‌قول دوگانه " و بک‌اسلش باید به ترتیب به صورت \e" و \e\e اسکیپ شوند)\&. سرآیندهای بخش نمی‌توانند در چند خط امتداد یابند\&. .SS "مثال (Example)" .sp با داشتن یک $HOME/\&.perfconfig شبیه به این: .sp # # این فایل پیکربندی است، و # نویسه‌های \fI#\fR و \fI;\fR نشان‌دهنده کامنت هستند # .sp .if n \{\ .RS 4 .\} .nf [colors] # متغیرهای رنگ top = red, default medium = green, default normal = lightgray, default selected = white, lightgray jump_arrows = blue, default addr = magenta, default root = white, blue .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [tui] # پیش‌فرض‌ها در صورت پیوند با libslang report = on annotate = on top = on .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [buildid] # پیش‌فرض، غیرفعال‌سازی با استفاده از /dev/null dir = ~/\&.debug .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [annotate] # پیش‌فرض‌ها hide_src_code = false use_offset = true jump_arrows = true show_nr_jumps = false .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [help] # قالب می‌تواند man، info، web یا html باشد format = man autocorrect = 0 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [ui] show\-headers = true .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [call\-graph] # fp (framepointer), dwarf record\-mode = fp print\-type = graph order = caller sort\-key = function .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf [report] # پیش‌فرض‌ها sort_order = comm,dso,symbol percent\-limit = 0 queue\-size = 0 children = true group = true skip\-empty = true .fi .if n \{\ .RE .\} .sp می‌توانید با تنظیم این پیکربندی بر روی false، کد منبع قابلیت annotate را پنهان کنید: .sp .if n \{\ .RS 4 .\} .nf % perf config annotate\&.hide_src_code=true .fi .if n \{\ .RE .\} .sp اگر می‌خواهید چندین مورد پیکربندی را اضافه یا ویرایش کنید، می‌توانید این‌گونه عمل کنید: .sp .if n \{\ .RS 4 .\} .nf % perf config ui\&.show\-headers=false kmem\&.default=slab .fi .if n \{\ .RE .\} .sp برای تغییر ترتیب مرتب‌سازی قابلیت report در فایل پیکربندی کاربر (یعنی ~/\&.perfconfig): .sp .if n \{\ .RS 4 .\} .nf % perf config \-\-user report\&.sort\-order=srcline .fi .if n \{\ .RE .\} .sp برای تغییر رنگ‌های خط انتخاب‌شده به رنگ‌های پیش‌زمینه و پس‌زمینه دیگر در فایل پیکربندی سیستم (یعنی $(sysconf)/perfconfig): .sp .if n \{\ .RS 4 .\} .nf % perf config \-\-system colors\&.selected=yellow,green .fi .if n \{\ .RE .\} .sp برای بررسی حالت ضبط گراف فراخوانی: .sp .if n \{\ .RS 4 .\} .nf % perf config call\-graph\&.record\-mode .fi .if n \{\ .RE .\} .sp اگر مایلید چندین جفت کلید/مقدار پیکربندی را بررسی کنید، می‌توانید این‌گونه عمل کنید: .sp .if n \{\ .RS 4 .\} .nf % perf config report\&.queue\-size call\-graph\&.order report\&.children .fi .if n \{\ .RE .\} .sp برای بررسی مقدار پیکربندی ترتیب مرتب‌سازی گراف فراخوانی در فایل پیکربندی کاربر (یعنی ~/\&.perfconfig): .sp .if n \{\ .RS 4 .\} .nf % perf config \-\-user call\-graph\&.sort\-order .fi .if n \{\ .RE .\} .sp برای بررسی مقدار پیکربندی دایرکتوری buildid در فایل پیکربندی سیستم (یعنی $(sysconf)/perfconfig): .sp .if n \{\ .RS 4 .\} .nf % perf config \-\-system buildid\&.dir .fi .if n \{\ .RE .\} .SS "متغیرها (Variables)" .PP colors\&.* .RS 4 متغیرهایی برای سفارشی‌سازی رنگ‌های استفاده‌شده در خروجی \fIreport\fR، \fItop\fR و \fIannotate\fR در TUI\&. این متغیرها باید رنگ‌های پیش‌زمینه و پس‌زمینه را که با کاما از یکدیگر جدا شده‌اند مشخص کنند، به عنوان مثال: .sp .if n \{\ .RS 4 .\} .nf medium = green, lightgray .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اگر می‌خواهید از رنگ پیکربندی‌شده برای ترمینال خود استفاده کنید، آن را به صورت \*(Aqdefault\*(Aq قرار دهید، برای نمونه: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf medium = default, lightgray .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf رنگ‌های موجود: red, yellow, green, cyan, gray, black, blue, white, default, magenta, lightgray .fi .if n \{\ .RE .\} .RE .PP colors\&.top .RS 4 \fItop\fR به معنای درصد سربار بیشتر از ۵٪ است\&. و مقادیر این متغیر رنگ‌های درصد را مشخص می‌کنند\&. مقادیر کلیدی اصلی عبارتند از رنگ پیش‌زمینه \fIred\fR و رنگ پس‌زمینه \fIdefault\fR\&. .RE .PP colors\&.medium .RS 4 \fImedium\fR به معنای درصد سرباری است که بیش از ۰\&.۵٪ باشد\&. مقادیر پیش‌فرض عبارتند از \fIgreen\fR و \fIdefault\fR\&. .RE .PP colors\&.normal .RS 4 \fInormal\fR به معنای باقی درصدهای سربار به جز \fItop\fR، \fImedium\fR و \fIselected\fR است\&. مقادیر پیش‌فرض عبارتند از \fIlightgray\fR و \fIdefault\fR\&. .RE .PP colors\&.selected .RS 4 این متغیر رنگ‌ها را برای مدخل جاری در فهرستی از مدخل‌های زیردستورها (top، report، annotate) تعیین می‌کند\&. مقادیر پیش‌فرض عبارتند از \fIblack\fR و \fIlightgray\fR\&. .RE .PP colors\&.jump_arrows .RS 4 رنگ‌ها برای پیکان‌های پرش در فهرست کد اسمبلی مانند \fIjns\fR، \fIjmp\fR، \fIjane\fR و غیره\&. مقادیر پیش‌فرض عبارتند از \fIblue\fR، \fIdefault\fR\&. .RE .PP colors\&.addr .RS 4 این متغیر رنگ‌ها را برای آدرس‌های حاصل از \fIannotate\fR تعیین می‌کند\&. مقادیر پیش‌فرض عبارتند از \fImagenta\fR، \fIdefault\fR\&. .RE .PP colors\&.root .RS 4 رنگ‌ها برای سرآیندها در خروجی زیردستورها (top، report)\&. مقادیر پیش‌فرض عبارتند از \fIwhite\fR، \fIblue\fR\&. .RE .PP core\&.*, core\&.proc\-map\-timeout .RS 4 یک مهلت زمانی (بر حسب میلی‌ثانیه) برای تجزیه فایل‌های /proc//maps تنظیم می‌کند\&. این مقدار می‌تواند توسط گزینه \-\-proc\-map\-timeout در زیردستورهای پشتیبانی‌شده بازنویسی شود\&. مهلت زمانی پیش‌فرض 500ms است\&. .RE .PP addr2line\-disable\-warn .RS 4 هنگامی که روی \fItrue\fR تنظیم شود، تمامی هشدارهای حاصل از خروجی \fIaddr2line\fR را غیرفعال می‌کند\&. مقدار پیش‌فرض \fIfalse\fR است که این هشدارها را نمایش می‌دهد\&. .RE .PP addr2line\-timeout .RS 4 مهلت زمانی (بر حسب میلی‌ثانیه) را برای تجزیه خروجی \fIaddr2line\fR تنظیم می‌کند\&. مهلت زمانی پیش‌فرض 5s است\&. .RE .PP tui\&.\fB, gtk\&.\fR .RS 4 زیردستورهایی که می‌توان در اینجا پیکربندی کرد عبارتند از \fItop\fR، \fIreport\fR و \fIannotate\fR\&. این مقادیر بولی هستند، برای نمونه: .sp .if n \{\ .RS 4 .\} .nf [tui] top = true .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf باعث می‌شود TUI به عنوان پیش‌فرض برای زیردستور \*(Aqtop\*(Aq عمل کند\&. این قابلیت‌ها در صورتی در دسترس خواهند بود که کتابخانه‌های لازم در زمان ساخت ابزار شناسایی شده باشند\&. .fi .if n \{\ .RE .\} .RE .PP buildid\&.*, buildid\&.dir .RS 4 هر فایل اجرایی و کتابخانه اشتراکی در توزیع‌های مدرن همراه با یک شناسه مبتنی بر محتوا ارائه می‌شود که در صورت وجود، در سرآیند فایل \fIperf\&.data\fR درج خواهد شد تا در زمان تحلیل، آنچه را که برای تفکیک نمادها، حاشیه‌نویسی کد و غیره لازم است بیابد\&. .sp .if n \{\ .RS 4 .\} .nf ابزارهای ضبط همچنین یک پیوند سخت یا رونوشت از باینری‌ها، کتابخانه‌های اشتراکی، فایل‌های /proc/kallsyms و /proc/kcore را در یک دایرکتوری اختصاصی کاربر، $HOME/\&.debug/، ذخیره می‌کنند تا در زمان تحلیل استفاده شوند\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf متغیر buildid\&.dir می‌تواند هم برای تغییر مسیر این کش دایرکتوری و هم برای غیرفعال کردن کامل آن استفاده شود\&. اگر می‌خواهید آن را غیرفعال کنید، مقدار buildid\&.dir را برابر /dev/null قرار دهید\&. مقدار پیش‌فرض $HOME/\&.debug است .fi .if n \{\ .RE .\} .RE .PP buildid\-cache\&.* .RS 4 buildid\-cache\&.debuginfod=URLs نشانی‌های اینترنتی debuginfod را که هنگام بازیابی باینری‌های perf\&.data استفاده می‌شوند مشخص می‌کند؛ این گزینه از ساختار نحوی متغیر DEBUGINFOD_URLS پیروی می‌کند، مانند: .sp .if n \{\ .RS 4 .\} .nf buildid\-cache\&.debuginfod=http://192\&.168\&.122\&.174:8002 .fi .if n \{\ .RE .\} .RE .PP annotate\&.* .RS 4 این تنظیمات کنترل آدرس‌ها، توابع پرش (jump) و کد منبع را در خطوط کد اسمبلی یک برنامه مشخص بر عهده دارند\&. .RE .PP annotate\&.disassemblers .RS 4 دی‌اسمبلر مورد استفاده را انتخاب می‌کند: "objdump"، "llvm"، "capstone"؛ در صورت مشخص نشدن، ابتدا در صورت در دسترس بودن "llvm"، سپس در صورت شکست "capstone" و در نهایت نسخه اصلی مبتنی بر "objdump" را امتحان می‌کند\&. .sp .if n \{\ .RS 4 .\} .nf انتخاب گزینه‌ای متفاوت زمانی مفید است که قابلیتی در یکی از گزینه‌ها بهترین پشتیبانی را داشته باشد، یا برای مقایسه خروجی هنگام شک درباره باگ‌ها و غیره\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این مقدار می‌تواند فهرستی بر حسب اولویت باشد؛ اولین موردی که کار کند، فرآیند را نهایی می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.addr2line .RS 4 فایل اجرایی addr2line برای تعیین نام فایل‌ها و شماره خطوط\&. .RE .PP annotate\&.objdump .RS 4 فایل اجرایی objdump مورد استفاده برای دی‌اسمبل و حاشیه‌نویسی (annotation)، از جمله در دستور \fIperf test\fR\&. .RE .PP annotate\&.disassembler_style .RS 4 برای تغییر سبک پیش‌فرض دی‌اسمبلر به مقداری دیگر که توسط binutils پشتیبانی می‌شود (مانند "intel") استفاده می‌شود؛ به راهنمای گزینه \fI\-M\fR در صفحه راهنمای \fIobjdump\fR مراجعه کنید\&. .RE .PP annotate\&.hide_src_code .RS 4 اگر برنامه‌ای که تحلیل می‌شود دارای کد منبع باشد، این گزینه به \fIannotate\fR اجازه می‌دهد فهرستی از کد اسمبلی را همراه با کد منبع چاپ کند\&. برای نمونه، بخشی از یک برنامه را با چهار خط در نظر بگیرید؛ اگر این گزینه برابر با \fItrue\fR باشد، همان‌طور که در زیر نشان داده شده کدهای اسمبلی بدون کد منبع برنامه چاپ می‌شوند\&. .sp .if n \{\ .RS 4 .\} .nf │ push %rbp │ mov %rsp,%rbp │ sub $0x10,%rsp │ mov (%rdi),%rdx .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اما اگر این گزینه برابر با \*(Aqfalse\*(Aq باشد، کد منبع آن بخش نیز می‌تواند همانند زیر چاپ شود\&. مقدار پیش‌فرض \*(Aqfalse\*(Aq است\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf │ struct rb_node *rb_next(const struct rb_node *node) │ { │ push %rbp │ mov %rsp,%rbp │ sub $0x10,%rsp │ struct rb_node *parent; │ │ if (RB_EMPTY_NODE(node)) │ mov (%rdi),%rdx │ return n; .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui و stdio2 کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.use_offset .RS 4 بر پایه اولین آدرس یک تابع بارگذاری‌شده، می‌توان از آفست (offset) استفاده کرد\&. به جای آدرس‌های اصلی کد اسمبلی، آدرس‌های تفریق‌شده از آدرس پایه چاپ می‌شوند\&. برای نمونه: اگر آدرس پایه همانند زیر برابر با 0XFFFFFFFF81624d50 باشد، .sp .if n \{\ .RS 4 .\} .nf ffffffff81624d50 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf یک آدرس در کد اسمبلی دارای آدرس مطلق مشخصی به صورت زیر است: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf ffffffff816250b8:│ mov 0x8(%r14),%rdi .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اما اگر use_offset برابر با \*(Aqtrue\*(Aq باشد، آدرس تفریق‌شده از آدرس پایه چاپ می‌شود\&. مقدار پیش‌فرض true است\&. این گزینه فقط برای TUI اعمال می‌شود\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf 368:│ mov 0x8(%r14),%rdi .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui و stdio2 کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.jump_arrows .RS 4 در میان کدهای اسمبلی ممکن است دستورات پرش وجود داشته باشد\&. بسته به مقدار بولی jump_arrows، فلش‌هایی که نشان می‌دهند دستور به کجا پرش می‌کند می‌توانند مانند زیر چاپ شوند یا خیر\&. .sp .if n \{\ .RS 4 .\} .nf │ ┌──jmp 1333 │ │ xchg %ax,%ax │1330:│ mov %r15,%r10 │1333:└─\(->cmp %r15,%r14 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اگر jump_arrow برابر با \*(Aqfalse\*(Aq باشد، فلش‌ها مانند زیر چاپ نمی‌شوند\&. مقدار پیش‌فرض \*(Aqfalse\*(Aq است\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf │ \(da jmp 1333 │ xchg %ax,%ax │1330: mov %r15,%r10 │1333: cmp %r15,%r14 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگر tui کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.show_linenr .RS 4 هنگام نمایش کد منبع، اگر این گزینه برابر با \fItrue\fR باشد، شماره خطوط همانند زیر چاپ می‌شوند\&. .sp .if n \{\ .RS 4 .\} .nf │1628 if (type & PERF_SAMPLE_IDENTIFIER) { │ \(da jne 508 │1628 data\->id = *array; │1629 array++; │1630 } .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اما اگر این گزینه برابر با \*(Aqfalse\*(Aq باشد، چاپ نخواهند شد: مقدار پیش‌فرض \*(Aqfalse\*(Aq است\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf │ if (type & PERF_SAMPLE_IDENTIFIER) { │ \(da jne 508 │ data\->id = *array; │ array++; │ } .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui و stdio2 کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.show_nr_jumps .RS 4 بخشی از کد اسمبلی را در نظر بگیرید\&. .sp .if n \{\ .RS 4 .\} .nf │1382: movb $0x1,\-0x270(%rbp) .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf در صورت استفاده از این گزینه، تعداد انشعاب‌هایی که به آن آدرس پرش می‌کنند مانند زیر چاپ می‌شود\&. مقدار پیش‌فرض \*(Aqfalse\*(Aq است\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf │1 1382: movb $0x1,\-0x270(%rbp) .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui و stdio2 کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.show_total_period .RS 4 برای مقایسه دو رکورد بر مبنای هر دستورالعمل، با فعال بودن این گزینه، تعداد کل نمونه‌های متعلق به یک خط در کد اسمبلی نمایش داده می‌شود\&. اگر این گزینه برابر با \fItrue\fR باشد، دوره‌های زمانی کل به جای مقادیر درصدی همانند زیر چاپ می‌شوند\&. .sp .if n \{\ .RS 4 .\} .nf 302 │ mov %eax,%eax .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اما اگر این گزینه برابر با \*(Aqfalse\*(Aq باشد، مقادیر درصدی مربوط به بار اضافه (overhead) چاپ می‌شود؛ یعنی: مقدار پیش‌فرض \*(Aqfalse\*(Aq است\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf 99\&.93 │ mov %eax,%eax .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui، stdio2 و stdio کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.show_nr_samples .RS 4 به‌طور پیش‌فرض دستور perf annotate درصد نمونه‌ها را نشان می‌دهد\&. از این گزینه می‌توان برای چاپ تعداد مطلق نمونه‌ها استفاده کرد\&. برای نمونه زمانی که روی false تنظیم شده باشد: .sp .if n \{\ .RS 4 .\} .nf Percent│ 74\&.03 │ mov %fs:0x28,%rax .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf زمانی که روی true تنظیم شود: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf Samples│ 6 │ mov %fs:0x28,%rax .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui، stdio2 و stdio کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.offset_level .RS 4 مقدار پیش‌فرض \fI1\fR است؛ به این معنی که فقط اهداف پرش دارای آفست نمایش داده شده دقیقاً در کنار دستورالعمل خواهند بود\&. هنگامی که روی \fI2\fR تنظیم شود، دستورات \fIcall\fR نیز آفست‌هایشان نشان داده می‌شود، و مقادیر 3 یا بالاتر آفست‌ها را برای تمام دستورالعمل‌ها نمایش خواهند داد\&. .sp .if n \{\ .RS 4 .\} .nf این گزینه با مرورگرهای tui و stdio2 کار می‌کند\&. .fi .if n \{\ .RE .\} .RE .PP annotate\&.demangle .RS 4 خواناسازی (demangle) نام نمادها به شکلی خوانا برای انسان\&. مقدار پیش‌فرض \fItrue\fR است\&. .RE .PP annotate\&.demangle_kernel .RS 4 خواناسازی (demangle) نام نمادهای هسته به شکلی خوانا برای انسان\&. مقدار پیش‌فرض \fItrue\fR است\&. .RE .PP hist\&.*, hist\&.percentage .RS 4 این گزینه نحوه محاسبه سربار مدخل‌های فیلترشده را کنترل می‌کند \- بدین معنی که مقدار این گزینه تنها در صورتی مؤثر است که یک فیلتر (بر اساس comm، dso یا نام نماد) وجود داشته باشد\&. مثال زیر را در نظر بگیرید: .sp .if n \{\ .RS 4 .\} .nf Overhead Symbols \&.\&.\&.\&.\&.\&.\&.\&. \&.\&.\&.\&.\&.\&.\&. 33\&.33% foo 33\&.33% bar 33\&.33% baz .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این سربار اصلی است و ما نخستین مدخل یعنی \*(Aqfoo\*(Aq را فیلتر خواهیم کرد\&. مقدار \*(Aqrelative\*(Aq سربار \*(Aqbar\*(Aq و \*(Aqbaz\*(Aq را برای هر کدام به 50\&.00% افزایش می‌دهد، در حالی که \*(Aqabsolute\*(Aq سربار فعلی آن‌ها (33\&.33%) را نمایش خواهد داد\&. .fi .if n \{\ .RE .\} .RE .PP ui\&.*, ui\&.show\-headers .RS 4 این گزینه نمایش سرستون‌ها (مانند \fIOverhead\fR و \fISymbol\fR) را در \fIreport\fR و \fItop\fR کنترل می‌کند\&. اگر این گزینه false باشد، آن‌ها پنهان می‌شوند\&. این گزینه فقط برای TUI اعمال می‌شود\&. .RE .PP call\-graph\&.* .RS 4 تنظیمات زیر نحوه مدیریت گراف‌های فراخوانی (به‌دست‌آمده از طریق گزینه‌های .BR \-g / \-\-call\-graph ) را کنترل می‌کنند\&. .RE .PP call\-graph\&.record\-mode .RS 4 حالت مربوط به فضای کاربری می‌تواند \fIfp\fR (اشاره‌گر فریم)، \fIdwarf\fR و \fIlbr\fR باشد\&. مقدار \fIdwarf\fR تنها در صورتی مؤثر است که libunwind (یا نسخه جدیدی از libdw) روی سیستم موجود باشد؛ مقدار \fIlbr\fR فقط روی پردازنده‌های خاصی کار می‌کند\&. روش مربوط به فضای هسته نه توسط این گزینه، بلکه توسط پیکربندی هسته (CONFIG_UNWINDER_*) کنترل می‌شود\&. .sp .if n \{\ .RS 4 .\} .nf حالت \*(Aqdefer\*(Aq می‌تواند همراه با حالت \*(Aqfp\*(Aq برای فعال‌سازی زنجیره‌های فراخوانی کاربری به‌تعویق‌افتاده (مانند \*(Aqfp,defer\*(Aq) استفاده شود\&. .fi .if n \{\ .RE .\} .RE .PP call\-graph\&.dump\-size .RS 4 اندازه پشته‌ای که برای باز کردن پشته پس از ثبت (post\-unwinding) باید تخلیه (dump) شود\&. مقدار پیش‌فرض 8192 (بایت) است\&. هنگام استفاده از dwarf در record\-mode، در صورت تعیین نشدن، اندازه پیش‌فرض استفاده خواهد شد\&. .RE .PP call\-graph\&.print\-type .RS 4 انواع چاپ (print\-types) می‌توانند graph (گراف مطلق)، fractal (گراف نسبی)، flat و folded باشند\&. این گزینه نحوه نمایش سربار برای هر مدخل زنجیره فراخوانی را کنترل می‌کند\&. مثال زیر را در نظر بگیرید\&. .sp .if n \{\ .RS 4 .\} .nf Overhead Symbols \&.\&.\&.\&.\&.\&.\&. \&.\&.\&.\&.\&.\&.\&. 40\&.00% foo | \-\-\-foo | |\-\-50\&.00%\-\-bar | main | \-\-50\&.00%\-\-baz main .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf این خروجی در قالب \*(Aqfractal\*(Aq است\&. \*(Aqfoo\*(Aq دقیقاً نصف از \*(Aqbar\*(Aq و نصف از \*(Aqbaz\*(Aq فراخوانی شده است، بنابراین \*(Aqfractal\*(Aq برای هر کدام 50\&.00% را نشان می‌دهد (به این معنی که کل سربار \*(Aqfoo\*(Aq را 100% در نظر می‌گیرد)\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf حالت \*(Aqgraph\*(Aq از مقدار سربار مطلق \*(Aqfoo\*(Aq به عنوان کل استفاده می‌کند، بنابراین هر یک از زنجیره‌های فراخوانی \*(Aqbar\*(Aq و \*(Aqbaz\*(Aq دارای 20\&.00% سربار خواهند بود\&. اگر از \*(Aqflat\*(Aq استفاده شود، زنجیره‌های فراخوانی به صورت تک‌ستونی و خطی نشان داده می‌شوند\&. حالت \*(Aqfolded\*(Aq به این معنی است که زنجیره‌های فراخوانی در یک خط و با نقطه\-ویرگول از هم جدا می‌شوند\&. .fi .if n \{\ .RE .\} .RE .PP call\-graph\&.order .RS 4 این گزینه ترتیب چاپ زنجیره‌های فراخوانی را کنترل می‌کند\&. مقدار پیش‌فرض \fIcallee\fR است که به این معنی است که فراخوانده‌شده (callee) در بالا چاپ می‌شود و سپس فراخواننده (caller) آن و به همین ترتیب دنبال می‌شود\&. مقدار \fIcaller\fR آن را به ترتیب معکوس چاپ می‌کند\&. .sp .if n \{\ .RS 4 .\} .nf اگر این گزینه تنظیم نشود و report\&.children یا top\&.children روی true تنظیم شده باشد (یا گزینه معادل در خط فرمان مشخص شده باشد)، مقدار پیش‌فرض این گزینه برای اجرای \*(Aqperf report\*(Aq یا \*(Aqperf top\*(Aq به \*(Aqcaller\*(Aq تغییر می‌یابد\&. سایر دستورها همچنان به صورت پیش‌فرض از \*(Aqcallee\*(Aq استفاده خواهند کرد\&. .fi .if n \{\ .RE .\} .RE .PP call\-graph\&.sort\-key .RS 4 زنجیره‌های فراخوانی در صورت داشتن اطلاعات یکسان ادغام می‌شوند\&. گزینه sort\-key نحوه مقایسه زنجیره‌های فراخوانی را تعیین می‌کند\&. مقدار \fIsort\-key\fR می‌تواند \fIfunction\fR یا \fIaddress\fR باشد\&. مقدار پیش‌فرض \fIfunction\fR است\&. .RE .PP call\-graph\&.threshold .RS 4 هنگامی که زنجیره‌های فراخوانی زیادی وجود داشته باشند، خطوط بسیار زیادی چاپ خواهد شد\&. بنابراین perf زنجیره‌های فراخوانی کوچک زیر یک سربار معین (آستانه) را حذف می‌کند و این گزینه این آستانه را کنترل می‌کند\&. مقدار پیش‌فرض 0\&.5 (%) است\&. سربار بر اساس مقداری محاسبه می‌شود که به call\-graph\&.print\-type بستگی دارد\&. .RE .PP call\-graph\&.print\-limit .RS 4 این گزینه حداکثر تعداد خطوط زنجیره فراخوانی چاپ‌شده برای یک مدخل منفرد هیستوگرام است\&. مقدار پیش‌فرض 0 است که به معنای عدم وجود محدودیت است\&. .RE .PP report\&.*, report\&.sort_order .RS 4 امکان تغییر ترتیب مرتب‌سازی پیش‌فرض از "comm,dso,symbol" به مقداری دیگر را فراهم می‌کند؛ برای نمونه "sym,dso" ممکن است برای توسعه‌دهندگان هسته (کرنل) مناسب‌تر باشد\&. .RE .PP report\&.percent\-limit .RS 4 این گزینه تا حد زیادی مشابه call\-graph\&.threshold است اما برای مدخل‌های هیستوگرام (نمودار ستونی) عمل می‌کند\&. مدخل‌هایی که بار پردازشی (overhead) آن‌ها کمتر از این درصد باشد چاپ نخواهند شد\&. مقدار پیش‌فرض \fI0\fR است\&. اگر percent\-limit برابر \fI10\fR باشد، فقط مدخل‌هایی چاپ می‌شوند که بیش از ۱۰٪ بار پردازشی دارند\&. .RE .PP report\&.queue\-size .RS 4 این گزینه حداکثر اندازه تخصیص صف رویدادهای داخلی را برای مرتب‌سازی رویدادها تعیین می‌کند\&. مقدار پیش‌فرض 0 است که به معنای نبود محدودیت است\&. .RE .PP report\&.children .RS 4 منظور از \fIChildren\fR توابعی است که از یک تابع دیگر فراخوانی شده‌اند\&. اگر این گزینه فعال (true) باشد، \fIperf report\fR زنجیره‌های فراخوانی فرزندان (children) را جمع‌آوری کرده و بار پردازشی کل (تجمعی) را در کنار بار پردازشی \fISelf\fR نمایش می‌دهد\&. لطفاً به صفحه راهنمای \fIperf report\fR مراجعه کنید\&. مقدار پیش‌فرض \fItrue\fR است\&. .RE .PP report\&.group .RS 4 این گزینه برای نمایش یک‌جای اطلاعات گروه رویدادها است\&. نمونه خروجی با فعال بودن این گزینه؛ توجه کنید که به ازای هر رویداد در گروه یک ستون وجود دارد (ref\-cycles و cycles): .sp .if n \{\ .RS 4 .\} .nf # group: {ref\-cycles,cycles} # ======== # # Samples: 7K of event \*(Aqanon group { ref\-cycles, cycles }\*(Aq # Event count (approx\&.): 6876107743 # # Overhead Command Shared Object Symbol # \&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&. \&.\&.\&.\&.\&.\&.\&. \&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&. \&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&.\&. # 99\&.84% 99\&.76% noploop noploop [\&.] main 0\&.07% 0\&.00% noploop ld\-2\&.15\&.so [\&.] strcmp 0\&.03% 0\&.00% noploop [kernel\&.kallsyms] [k] timerqueue_del .fi .if n \{\ .RE .\} .RE .PP report\&.skip\-empty .RS 4 این گزینه می‌تواند رفتار پیش‌فرض آمار (stat) را در مواجهه با نتایج خالی تغییر دهد\&. اگر روی true تنظیم شود، \fIperf report \-\-stat\fR آمارهای با مقدار 0 را نمایش نخواهد داد\&. .RE .PP top\&.*, top\&.children .RS 4 مشابه \fIreport\&.children\fR است\&. بنابراین در صورت فعال بودن، خروجی دستور \fItop\fR به طور پیش‌فرض دارای ستون بار پردازشی \fIChildren\fR در کنار ستون بار پردازشی \fISelf\fR خواهد بود\&. مقدار پیش‌فرض \fItrue\fR است\&. .RE .PP top\&.call\-graph .RS 4 این گزینه عینا همانند \fIcall\-graph\&.record\-mode\fR است، با این تفاوت که منحصراً برای زیردستور \fItop\fR کاربرد دارد\&. این گزینه فقط روش بازکردن پشته (unwind) را مشخص می‌کند\&. برای اینکه \fIperf top\fR عملاً از آن استفاده کند، باید گزینه خط فرمان \-g مشخص شده باشد\&. .RE .PP man\&.*, man\&.viewer .RS 4 این گزینه می‌تواند ابزاری را برای مشاهده صفحات راهنما هنگام فراخوانی زیردستور \fIhelp\fR تعیین کند\&. ابزارهای پشتیبانی‌شده عبارتند از \fIman\fR، \fIwoman\fR (به همراه کلاینت emacs) و \fIkonqueror\fR\&. مقدار پیش‌فرض \fIman\fR است\&. .sp .if n \{\ .RS 4 .\} .nf همچنین می‌توان یک ابزار جدید نمایش راهنما را با استفاده از \*(Aqman\&.\&.cmd\*(Aq یا با تعیین مسیری متفاوت از طریق گزینه پیکربندی \*(Aqman\&.\&.path\*(Aq اضافه کرد\&. .fi .if n \{\ .RE .\} .RE .PP pager\&.*, pager\&. .RS 4 هنگامی که زیردستور روی stdio اجرا می‌شود، مشخص می‌کند که بر اساس این مقدار از پیجر (صفحه‌بند) استفاده کند یا خیر\&. مقدار پیش‌فرض \fIunspecified\fR است\&. .RE .PP kmem\&.*, kmem\&.default .RS 4 این گزینه تعیین می‌کند که در صورت استفاده نشدن از هیچ‌یک از گزینه‌های \fI\-\-slab\fR یا \fI\-\-page\fR، کدام تخصیص‌دهنده حافظه (allocator) مورد تحلیل قرار گیرد\&. مقدار پیش‌فرض \fIslab\fR است\&. .RE .PP record\&.*, record\&.build\-id .RS 4 این گزینه می‌تواند \fIcache\fR، \fIno\-cache\fR، \fIskip\fR یا \fImmap\fR باشد\&. حالت \fIcache\fR داده‌ها را پس‌پردازش کرده و فایل‌های باینری را در حافظه پنهان شناسه بیلد (build-id) در مسیر (~\&/.debug) ذخیره یا به‌روزرسانی می‌کند\&. این حالت پیش‌فرض است\&. اما اگر این گزینه روی \fIno\-cache\fR تنظیم شود، حافظه پنهان build-id را به‌روزرسانی نخواهد کرد\&. حالت \fIskip\fR مرحله پس‌پردازش را نادیده گرفته و حافظه پنهان را به‌روزرسانی نمی‌کند\&. حالت \fImmap\fR مرحله پس‌پردازش را نادیده گرفته و شناسه‌های build-id را از رویدادهای MMAP می‌خواند\&. .RE .PP record\&.call\-graph .RS 4 این گزینه عینا همانند \fIcall\-graph\&.record\-mode\fR است، با این تفاوت که منحصراً برای زیردستور \fIrecord\fR کاربرد دارد\&. این گزینه فقط روش بازکردن پشته (unwind) را مشخص می‌کند\&. برای اینکه \fIperf record\fR عملاً از آن استفاده کند، باید گزینه خط فرمان \-g مشخص شده باشد\&. .RE .PP record\&.aio .RS 4 استفاده از \fIn\fR بلوک کنترلی در حالت نوشتن ناهمگام ردگیری (ردگیری ناهمگام Posix AIO) (مقدار پیش‌فرض \fIn\fR: 1، حداکثر: 4)\&. .RE .PP record\&.debuginfod .RS 4 نشانی debuginfod URL را جهت استفاده هنگام ذخیره فایل‌های باینری perf\&.data در حافظه پنهان مشخص می‌کند؛ این گزینه از همان نحو متغیر DEBUGINFOD_URLS پیروی می‌کند، مانند: .sp .if n \{\ .RS 4 .\} .nf http://192\&.168\&.122\&.174:8002 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf اگر مقدار URLها برابر \*(Aqsystem\*(Aq باشد، مقدار متغیر محیطی سیستمی DEBUGINFOD_URLS استفاده می‌شود\&. .fi .if n \{\ .RE .\} .RE .PP diff\&.*, diff\&.order .RS 4 این گزینه شماره ستون را برای مرتب‌سازی نتیجه تعیین می‌کند\&. مقدار پیش‌فرض 0 است، که به معنای مرتب‌سازی بر اساس خط پایه (baseline) است\&. تنظیم آن روی 1، نتیجه را بر اساس دلتا (یا دیگر روش محاسباتی انتخاب‌شده) مرتب خواهد کرد\&. .RE .PP diff\&.compute .RS 4 این گزینه روش محاسبه نتیجه تفاوت (diff) را تعیین می‌کند\&. مقادیر مجاز عبارتند از: \fIdelta\fR، \fIdelta\-abs\fR، \fIratio\fR و \fIwdiff\fR\&. مقدار پیش‌فرض \fIdelta\fR است\&. .RE .PP trace\&.*, trace\&.add_events .RS 4 امکان افزودن مجموعه‌ای از رویدادها را به موارد مشخص‌شده توسط کاربر فراهم می‌کند، یا در صورت مشخص نشدن هیچ رویدادی، به عنوان رویداد پیش‌فرض به کار می‌رود\&. کاربرد اولیه آن افزودن augmented_raw_syscalls\&.o برای فعال‌سازی منطق \fIperf trace\fR است که محتوای اشاره‌گر فراخوانی سیستم را پس از بار داده نقطه ردگیری (tracepoint payload) عادی جستجو می‌کند\&. .RE .PP trace\&.args_alignment .RS 4 تعداد ستون‌ها برای تراز کردن فهرست آرگومان‌ها؛ مقدار پیش‌فرض 70 است، مقدار 40 برای پیش‌فرض strace استفاده می‌شود، و صفر برای عدم تراز است\&. .RE .PP trace\&.no_inherit .RS 4 رشته‌های فرزند (children threads) دنبال نشوند\&. .RE .PP trace\&.show_arg_names .RS 4 آیا نام آرگومان‌های فراخوانی سیستم چاپ شوند؟ اگر خیر، trace\&.show_zeros تنظیم خواهد شد\&. .RE .PP trace\&.show_duration .RS 4 نمایش مدت‌زمان فراخوانی سیستم\&. .RE .PP trace\&.show_prefix .RS 4 اگر روی \fIyes\fR تنظیم شود، پیشوندهای متنی مشترک را در جدول‌ها نشان می‌دهد\&. حالت پیش‌فرض، حذف پیشوند مشترک در مواردی مانند "MAP_SHARED" و نمایش صرف "SHARED" است\&. .RE .PP trace\&.show_timestamp .RS 4 نمایش برچسب زمانی (timestamp) شروع فراخوانی سیستم\&. .RE .PP trace\&.show_zeros .RS 4 آرگومان‌های فراخوانی سیستم که برابر با صفر هستند پنهان (suppress) نشوند\&. .RE .PP trace\&.tracepoint_beautifiers .RS 4 استفاده از "libtraceevent" برای به‌کارگیری آن کتابخانه جهت غنی‌سازی آرگومان‌های نقطه ردگیری، یا "libbeauty" (حالت پیش‌فرض) برای استفاده از همان زیباسازهای آرگومان مورد استفاده در خطوط sys_enter+sys_exit شبیه به strace\&. .RE .PP ftrace\&.*, ftrace\&.tracer .RS 4 می‌تواند برای انتخاب ردیاب (tracer) پیش‌فرض هنگامی که هیچ‌یک از گزینه‌های \-G یا \-F مشخص نشده باشند استفاده شود\&. مقادیر مجاز عبارتند از: \fIfunction\fR و \fIfunction_graph\fR\&. .RE .PP samples\&.*, samples\&.context .RS 4 تعیین می‌کند که در مرورگر بافت نمونه (sample context browser) در perf report، چند نانوثانیه از بازه زمانی اطراف نمونه‌ها نمایش داده شود\&. .RE .PP scripts\&.* .RS 4 هر گزینه‌ای یک اسکریپت را تعریف می‌کند که به منوی اسکریپت‌ها در مرورگر تعاملی perf افزوده شده و خروجی آن نمایش داده می‌شود\&. نام گزینه همان نام نمایشی، و مقدار آن خط فرمان اسکریپت است\&. به این اسکریپت همان گزینه‌هایی منتقل می‌شود که به دستور کامل perf script ارسال می‌گردد، به‌ویژه فایل \-i perfdata، \-\-cpu و \-\-tid\&. .RE .PP convert\&.*, convert\&.queue\-size .RS 4 محدود کردن اندازه صف ordered_events تا بتوان اندازه تخصیص فایل‌های داده perf را بدون رویدادهای دور پایانی مناسب (finished round events) کنترل کرد\&. .RE .PP stat\&.*, stat\&.big\-num .RS 4 (بولی) تغییر مقدار پیش‌فرض برای "\-\-big\-num"\&. برای پیش‌فرض قرار دادن "\-\-no\-big\-num"، مقدار "stat\&.big\-num=false" را تنظیم کنید\&. .RE .PP intel\-pt\&.*, intel\-pt\&.cache\-divisor, intel\-pt\&.mispred\-all .RS 4 در صورت تنظیم، رمزگشای Intel PT فلگ mispred (پیش‌بینی نادرست) را روی تمامی شاخه‌ها تنظیم می‌کند\&. .RE .PP intel\-pt\&.max\-loops .RS 4 در صورت تنظیم و غیرصفر بودن، حداکثر تعداد شاخه‌های بدون قیدوشرط رمزگشایی‌شده بدون مصرف هیچ‌گونه بسته ردگیری را مشخص می‌کند\&. در صورت فراتر رفتن از این حداکثر، خطای "Never\-ending loop" (حلقه بی‌پایان) رخ می‌دهد\&. مقدار پیش‌فرض 100000 است\&. .RE .PP intel\-pt\&.all\-switch\-events .RS 4 اگر کاربر دسترسی لازم را داشته باشد، همیشه تمامی رویدادهای تعویض بافت (context switch) را روی همه پردازنده‌ها ثبت می‌کند\&. .RE .PP auxtrace\&.*, auxtrace\&.dumpdir .RS 4 فقط مخصوص s390\&. دایرکتوری ذخیره بافر ردگیری کمکی (auxiliary trace buffer) را می‌توان با این گزینه تغییر داد\&. مثال: auxtrace\&.dumpdir=/tmp\&. اگر دایرکتوری وجود نداشته باشد یا نوع فایل نادرست باشد، دایرکتوری جاری استفاده می‌شود\&. .RE .PP itrace\&.*, debug\-log\-buffer\-size .RS 4 اندازه گزارش لاگ به بایت برای خروجی هنگام استفاده از گزینه \-\-itrace=d+e\&. به گزینه \fIitrace\fR در \fBperf-script\fR(1) یا \fBperf-report\fR(1) مراجعه کنید\&. مقدار پیش‌فرض 16384 است\&. .RE .PP daemon\&.*, daemon\&.base .RS 4 مسیر پایه برای داده‌های دیمن (daemon)\&. داده‌های تمام نشست‌ها در این مسیر ذخیره می‌شوند\&. .RE .PP session\-\&.*, session\-\&.run .RS 4 یک نشست ضبط (record) جدید برای دیمن تعریف می‌کند\&. مقدار آن همان خط فرمان record بدون کلیدواژه \fIrecord\fR است\&. .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBperf\fR(1)