'\" t .\" Title: readprofile .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: System Administration .\" Source: util-linux 2.42.3 .\" Language: Persian .\" .TH "READPROFILE" "8" "2026-09-02" "util\-linux 2.42.3" "System Administration" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" readprofile \- خواندن اطلاعات پروفایل‌بندی عملکرد هسته لینوکس .SH "خلاصه دستور (SYNOPSIS)" .sp \fBreadprofile\fP [options] .SH "نسخه (VERSION)" .sp این صفحهٔ راهنما نسخهٔ 2.0 این برنامه را مستند می‌کند. .SH "توضیحات (DESCRIPTION)" .sp دستور \fBreadprofile\fP از اطلاعات \fI/proc/profile\fP برای چاپ داده‌های اسکی (ascii) در خروجی استاندارد استفاده می‌کند. خروجی در سه ستون سازمان‌دهی شده است: ستون نخست تعداد تیک‌های ساعت (clock ticks)، ستون دوم نام تابع C در هسته که این تعداد تیک در آن رخ داده است، و ستون سوم بار کاری نرمال‌شدهٔ رویه (\*(Aqload\*(Aq) است که به صورت نسبت میان تعداد تیک‌ها و طول رویه محاسبه می‌شود. خروجی با فاصله‌های خالی پر شده است تا خوانایی آن آسان‌تر شود. .sp این ابزار یک ابزار تشخیصی است و برای استفاده در محیط‌های حساس از نظر امنیتی (مانند سناریوهای ارتقای دسترسی شامل setuid، setgid، sudo یا موارد مشابه) طراحی یا در نظر گرفته نشده است. این ابزار بدون هیچ‌گونه مجوز ویژه‌ای نصب می‌شود. .SH "گزینه‌ها (OPTIONS)" .sp \fB\-a\fP, \fB\-\-all\fP .RS 4 چاپ تمام نمادها در mapfile. به‌طور پیش‌فرض رویه‌های دارای تیک‌های گزارش‌شده چاپ نمی‌شوند. .RE .sp \fB\-b\fP, \fB\-\-histbin\fP .RS 4 چاپ شمارش‌های مجزای سطل‌های هیستوگرام (histogram\-bin). .RE .sp \fB\-i\fP, \fB\-\-info\fP .RS 4 اطلاعات. این گزینه باعث می‌شود \fBreadprofile\fP فقط گام پروفایل‌بندی استفاده‌شده توسط هسته را چاپ کند. گام پروفایل‌بندی همان تفکیک‌پذیری (resolution) بافر پروفایل‌بندی است و در طول پیکربندی هسته (از طریق \fBmake config\fP) یا در خط فرمان هسته تعیین می‌شود. اگر سوئیچ \fB\-t\fP (مختصر) همراه با \fB\-i\fP استفاده شود، فقط عدد ده‌دهی چاپ می‌شود. .RE .sp \fB\-m\fP, \fB\-\-mapfile\fP \fImapfile\fP .RS 4 مشخص کردن یک mapfile، که به‌طور پیش‌فرض \fI/boot/System.map\fP است. در صورتی که هسته فعلی شما آخرین هسته‌ای که کامپایل کرده‌اید نیست، یا اگر System.map را در جای دیگری نگه‌داری می‌کنید، باید فایل map را در خط فرمان مشخص کنید. اگر نام فایل map به \fI.gz\fP ختم شود، به‌صورت خودکار و در لحظه از حالت فشرده خارج می‌شود. .RE .sp \fB\-n\fP, \fB\-\-no\-auto\fP .RS 4 غیرفعال کردن تشخیص خودکار ترتیب بایت‌ها (byte order). .RE .sp \fB\-M\fP, \fB\-\-multiplier\fP \fImultiplier\fP .RS 4 در برخی معماری‌ها امکان تغییر فرکانسی که هسته وقفه‌های پروفایل‌بندی را به هر پردازنده ارسال می‌کند وجود دارد. این گزینه به شما امکان می‌دهد فرکانس را به عنوان ضریبی از فرکانس ساعت سیستم، HZ، تنظیم کنید. لینوکس 2.6.16 پشتیبانی از ضریب (multiplier) را برای بیشتر سیستم‌ها متوقف کرد. این گزینه همچنین بافر پروفایل‌بندی را بازنشانی می‌کند و نیازمند دسترسی‌های کاربر ارشد (superuser) است. .RE .sp \fB\-p\fP, \fB\-\-profile\fP \fIpro\-file\fP .RS 4 مشخص کردن یک بافر پروفایل‌بندی متفاوت، که به‌طور پیش‌فرض \fI/proc/profile\fP است. استفاده از یک pro\-file متفاوت زمانی مفید است که بخواهید در یک زمان مشخص وضعیت پروفایل‌بندی هسته را «منجمد» (\*(Aqfreeze\*(Aq) کرده و بعداً آن را بخوانید. فایل \fI/proc/profile\fP را می‌توان با استفاده از \fBcat\fP(1) یا \fBcp\fP(1) کپی کرد. دیگر هیچ پشتیبانی از بافرهای پروفایل فشرده وجود ندارد (بر خلاف \fBreadprofile\-1.1\fP)، زیرا برنامه باید اندازه بافر را از قبل بداند. .RE .sp \fB\-r\fP, \fB\-\-reset\fP .RS 4 بازنشانی بافر پروفایل‌بندی. این کار فقط توسط کاربر ریشه (root) قابل اجرا است، زیرا \fI/proc/profile\fP برای همه قابل خواندن است اما فقط توسط کاربر ارشد قابل نوشتن است. .RE .sp \fB\-s, \-\-counters\fP .RS 4 چاپ شمارنده‌های مجزا درون توابع. .RE .sp \fB\-v\fP, \fB\-\-verbose\fP .RS 4 حالت پرگو (Verbose). خروجی در چهار ستون سازمان‌دهی شده و با فاصله‌های خالی پر می‌شود. ستون نخست نشانی RAM تابع هسته، ستون دوم نام تابع، ستون سوم تعداد تیک‌های ساعت و ستون آخر بار کاری نرمال‌شده است. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 نمایش متن راهنما و خروج. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 نمایش نسخه و خروج. .RE .SH "فایل‌ها (FILES)" .sp \fI/proc/profile\fP .RS 4 یک تصویر لحظه‌ای باینری (binary snapshot) از بافر پروفایل‌بندی. .RE .sp \fI/usr/src/linux/System.map\fP .RS 4 جدول نمادها (symbol table) برای هسته. .RE .sp \fI/usr/src/linux/*\fP .RS 4 برنامه‌ای که در حال پروفایل‌بندی است :\- ) .RE .SH "اشکالات (BUGS)" .sp دستور \fBreadprofile\fP تنها با هستهٔ 1.3.x یا جدیدتر کار می‌کند، زیرا \fI/proc/profile\fP در انتقال از نسخهٔ 1.2 به 1.3 تغییر کرد. .sp این برنامه فقط با هسته‌های ELF کار می‌کند. ایجاد تغییر برای هسته‌های a.out ساده است و به عنوان تمرین به کاربر a.out واگذار شده است. .sp برای فعال‌سازی پروفایل‌بندی، هسته باید راه‌اندازی مجدد (reboot) شود، زیرا هیچ ماژول پروفایل‌بندی موجود نیست و ساختن آن نیز آسان نخواهد بود. برای فعال‌سازی پروفایل‌بندی، می‌توانید \fBprofile\fP=\fI2\fP (یا عددی دیگر) را در خط فرمان هسته مشخص کنید. عددی که مشخص می‌کنید به عنوان توان پایه ۲ برای گام پروفایل‌بندی استفاده می‌شود. .sp هنگامی که وقفه‌ها غیرفعال (inhibited) باشند، پروفایل‌بندی غیرفعال می‌شود. این بدان معناست که هنگام فعال‌سازی مجدد وقفه‌ها، تیک‌های پروفایل‌بندی زیادی رخ می‌دهند. مراقب اطلاعات گمراه‌کننده باشید. .SH "مثال (EXAMPLE)" .sp مرور بافر پروفایل‌بندی با مرتب‌سازی بر اساس تیک‌های ساعت: .sp .if n .RS 4 .nf .fam C readprofile | sort \-nr | less .fam .fi .if n .RE .sp چاپ ۲۰ رویه با بیشترین بار کاری: .sp .if n .RS 4 .nf .fam C readprofile | sort \-nr +2 | head \-20 .fam .fi .if n .RE .sp چاپ فقط پروفایل سیستم‌فایل: .sp .if n .RS 4 .nf .fam C readprofile | grep _ext2 .fam .fi .if n .RE .sp مشاهده تمام اطلاعات هسته به همراه نشانی‌های RAM: .sp .if n .RS 4 .nf .fam C readprofile \-av | less .fam .fi .if n .RE .sp مرور یک بافر پروفایل «منجمدشده» برای هسته‌ای غیر از هستهٔ فعلی: .sp .if n .RS 4 .nf .fam C readprofile \-p ~/profile.freeze \-m /zImage.map.gz .fam .fi .if n .RE .sp درخواست پروفایل‌بندی در 2kHz به ازای هر پردازنده، و بازنشانی بافر پروفایل‌بندی: .sp .if n .RS 4 .nf .fam C readprofile \-M 20 .fam .fi .if n .RE .SH "گزارش باگ‌ها (REPORTING BUGS)" .sp برای گزارش باگ‌ها، از \c .URL "https://github.com/util\-linux/util\-linux/issues" "سامانه پیگیری مشکلات" "." .SH "در دسترس بودن (AVAILABILITY)" .sp دستور \fBreadprofile\fP بخشی از بسته util\-linux است که می‌تواند از \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux" "بایگانی هسته لینوکس" "." دریافت شود.