'\" t .TH "SYSTEMD\-BOOTCHART" "1" "" "systemd 235" "systemd-bootchart" .\" ----------------------------------------------------------------- .\" * 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)" systemd-bootchart \- ابزار رسم نمودار کارایی راه‌اندازی سیستم .SH "توضیحات (DESCRIPTION)" .PP \fBsystemd\-bootchart\fR ابزاری است که معمولاً هنگام راه‌اندازی سیستم اجرا می‌شود و بار پردازنده (CPU)، بار دیسک، مصرف حافظه و همچنین اطلاعات مربوط به هر فرآیند را از یک سیستم در حال اجرا جمع‌آوری می‌کند\&. نتایج جمع‌آوری‌شده به‌صورت یک نمودار SVG خروجی داده می‌شوند\&. به‌طور معمول، systemd\-bootchart توسط هسته با ارسال \fBinit=\fR\fB/usr/lib/systemd/systemd\-bootchart\fR در خط فرمان هسته فراخوانی می‌شود و افزودن \fBinitcall_debug\fR برای جمع‌آوری داده‌ها روی ریسه‌های init هسته صورت می‌گیرد\&. سپس systemd\-bootchart فرآیند واقعی init را فورک کرده تا راه‌اندازی عادی سیستم ادامه یابد، در حالی که در پس‌زمینه اطلاعات راه‌اندازی را پایش و ثبت می‌کند\&. .PP پس از جمع‌آوری مقدار مشخصی از داده‌ها (معمولاً ۱۵\-۳۰ ثانیه، پیش‌فرض ۲۰ ثانیه)، فرآیند ثبت متوقف شده و نموداری از اطلاعات ثبت‌شده تولید می‌شود\&. این نمودار حاوی سرنخ‌های حیاتی درباره این است که کدام منابع، با چه ترتیبی در حال استفاده هستند و مشکلات احتمالی در توالی راه‌اندازی سیستم در کجا قرار دارند\&. این در اصل نسخه‌ای با جزئیات بیشتر از تابع \fBsystemd\-analyze plot\fR است\&. .PP البته، bootchart می‌تواند در هر لحظه‌ای برای جمع‌آوری و رسم داده‌ها برای مدت‌زمانی مشخص استفاده شود\&. توصیه می‌شود در این حالت از گزینه \fB\-\-rel\fR استفاده شود\&. .PP ابزار bootchart نیازی به مجوزهای ریشه (root) ندارد و به‌راحتی به عنوان یک کاربر عادی اجرا می‌شود\&. .PP نمودارهای bootchart به‌طور پیش‌فرض با برچسب زمانی در مسیر /run/log نوشته شده و در ژورنال با شناسه \fIMESSAGE_ID=9f26aa562cf440c2b16c773d0479b518\fR ذخیره می‌شوند\&. فیلد ژورنال \fIBOOTCHART=\fR شامل نمودار bootchart در قالب SVG است\&. .SH "فراخوانی (INVOCATION)" .PP \fBsystemd\-bootchart\fR می‌تواند به چند روش مختلف فراخوانی شود: .PP \fIفراخوانی توسط هسته (Kernel invocation)\fR .RS 4 هسته می‌تواند \fBsystemd\-bootchart\fR را به جای فرآیند init فراخوانی کند\&. در مقابل، \fBsystemd\-bootchart\fR فایل \fB/usr/lib/systemd/systemd\fR را فراخوانی خواهد کرد\&. داده‌ها روی ریسه‌های init هسته و همچنین فرآیندها، از جمله سرویس‌های آغازشده توسط systemd جمع‌آوری خواهند شد\&. .RE .PP \fIواحد systemd (واحد خدماتی)\fR .RS 4 یک فایل واحد ارائه شده است: \fBsystemd\-bootchart\&.service\fR\&. در صورت فعال بودن هنگام شروع سیستم، داده‌های مربوط به فرآیندها از جمله سرویس‌های آغازشده توسط systemd جمع‌آوری خواهد شد\&. .RE .PP \fIاجرا به‌صورت برنامه‌ای مستقل (Standalone)\fR .RS 4 می‌توان \fBsystemd\-bootchart\fR را به عنوان یک برنامه عادی از خط فرمان اجرا کرد\&. در این حالت اکیداً توصیه می‌شود گزینه \fB\-r\fR ارسال شود تا زمان سپری‌شده از راه‌اندازی و پیش از شروع systemd\-bootchart در نمودار رسم نشود، زیرا ممکن است به تولید نمودارهای بسیار بزرگ منجر شود\&. زمان سپری‌شده از راه‌اندازی ممکن است شامل هر زمانی که سیستم معلق (suspended) بوده نیز باشد\&. .RE .SH "گزینه‌ها (OPTIONS)" .PP این گزینه‌ها را می‌توان در فایل /etc/systemd/bootchart\&.conf نیز تنظیم کرد\&. ببینید: \fBbootchart.conf\fR(5)\&. .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 نمایش یک متن راهنمای کوتاه و خروج\&. .RE .PP \fB\-n\fR, \fB\-\-sample \fR\fB\fIN\fR\fR .RS 4 تعیین تعداد نمونه‌ها، \fIN\fR، برای ثبت\&. نمونه‌ها در فواصل زمانی مشخص‌شده با \fB\-\-freq\fR ثبت خواهند شد\&. .RE .PP \fB\-f\fR, \fB\-\-freq \fR\fB\fIf\fR\fR .RS 4 تعیین بسامد (فرکانس) ثبت نمونه، یک عدد حقیقی مثبت \fIf\fR، بر حسب هرتز (Hz)\&. بیشتر سیستم‌ها می‌توانند مقادیری تا ۲۵\-۵۰ را بدون ایجاد سربار بیش از حد مدیریت کنند\&. .RE .PP \fB\-r\fR, \fB\-\-rel\fR .RS 4 استفاده از زمان‌های نسبی به جای زمان‌های مطلق\&. این گزینه برای استفاده از bootchart پس از راه‌اندازی، جهت ارزیابی کارایی سیستمی که قبلاً راه‌اندازی شده مفید است\&. بدون این گزینه، نمودار بسیار بزرگ خواهد شد\&. در صورت تنظیم، محور افقی به جای زمان 0\&.0 از نخستین نمونه ثبت‌شده آغاز می‌شود\&. .RE .PP \fB\-F\fR, \fB\-\-no\-filter\fR .RS 4 غیرفعال‌سازی فیلتر کردن وظایفی که سهم چشمگیری در راه‌اندازی سیستم نداشته‌اند\&. فرآیندهایی که بیش از حد کوتاه‌عمر هستند (فقط در یک نمونه دیده شده‌اند) یا زمان پردازنده (CPU) قابل توجهی مصرف نمی‌کنند (کمتر از 0\&.001 ثانیه)، در نمودار خروجی نمایش داده نخواهند شد\&. .RE .PP \fB\-C\fR, \fB\-\-cmdline\fR .RS 4 نمایش خط فرمان کامل همراه با آرگومان‌های فرآیندها، به جای نمایش صرف نام فرآیند\&. .RE .PP \fB\-g\fR, \fB\-\-control\-group\fR .RS 4 نمایش گروه کنترل (cgroup) فرآیند\&. .RE .PP \fB\-o\fR, \fB\-\-output \fR\fB\fIpath\fR\fR .RS 4 مشخص کردن دایرکتوری خروجی برای نمودارها\&. به‌طور پیش‌فرض، bootchart نمودارها را در /run/log می‌نویسد\&. .RE .PP \fB\-i\fR, \fB\-\-init \fR\fB\fIpath\fR\fR .RS 4 استفاده از این باینری init\&. پیش‌فرض: \fB/usr/lib/systemd/systemd\fR\&. .RE .PP \fB\-p\fR, \fB\-\-pss\fR .RS 4 فعال‌سازی ثبت و رسم نمودار میزان مصرف حافظه PSS (اندازه مجموع متناسب) فرآیندها\&. برای توضیحات این فیلد، به filesystems/proc\&.txt در مستندات هسته مراجعه کنید\&. .RE .PP \fB\-e\fR, \fB\-\-entropy\fR .RS 4 فعال‌سازی ثبت و رسم اندازه مخزن آنتروپی تصادفی هسته\&. .RE .PP \fB\-x\fR, \fB\-\-scale\-x \fR\fB\fIN\fR\fR .RS 4 ضریب مقیاس‌بندی افقی برای تمام اجزای متغیر نمودار\&. .RE .PP \fB\-y\fR, \fB\-\-scale\-y \fR\fB\fIN\fR\fR .RS 4 ضریب مقیاس‌بندی عمودی برای تمام اجزای متغیر نمودار\&. .RE .SH "خروجی (OUTPUT)" .PP \fBsystemd\-bootchart\fR نمودارهای SVG تولید می‌کند\&. برای نمایش آن‌ها در یک صفحه گرافیکی، می‌توان از هر نمایش‌دهنده با قابلیت پشتیبانی از SVG استفاده کرد\&. شایان ذکر است که موتورهای رندر SVG در بیشتر مرورگرها (از جمله کروم و فایرفاکس) چندین برابر سریع‌تر از برنامه‌های اختصاصی گرافیکی مانند Gimp و Inkscape هستند\&. کافی است مرورگر خود را به نشانی زیر هدایت کنید: \m[blue]\fB\%file:///run/log/\fR\m[]! .SH "تاریخچه (HISTORY)" .PP این نسخه از bootchart از پایه پیاده‌سازی شده است، اما از نگارش‌های قبلی bootchart الهام گرفته شده است: .PP \fIنسخه اصلی بش (Original bash)\fR .RS 4 کد اصلی bash/shell که bootchart را پیاده‌سازی می‌کرد\&. این نسخه یک تاربال فشرده برای پردازش توسط برنامه‌های خارجی ایجاد می‌کرد\&. این نسخه هیچ نموداری رسم نمی‌کرد و تنها داده تولید می‌کرد\&. .RE .PP \fIپیاده‌سازی C در اوبونتو (Ubuntu C Implementation)\fR .RS 4 این نسخه جایگزین نسخه شل شد و یک ثبت‌کننده داده سریع و کارآمد بود، اما آن هم داده‌ها را رسم نمی‌کرد\&. .RE .PP \fIبوت‌چارت جاوا (Java bootchart)\fR .RS 4 این برنامه رسم نمودار اصلی برای ترسیم داده‌ها بود که به زبان جاوا نوشته شده بود\&. .RE .PP \fIpybootchartgui\&.py\fR .RS 4 برنامه pybootchart از داده‌های جمع‌آوری‌شده توسط هر دو نسخه bash یا C نمودار ایجاد می‌کرد\&. .RE .PP نسخه‌ای از bootchart که اکنون استفاده می‌کنید، هر دو عمل جمع‌آوری داده و رسم نمودار را در یک برنامه واحد ادغام کرده و آن را کارآمدتر و ساده‌تر ساخته است\&. دیگر هیچ مشکل زمان‌بندی میان جمع‌آوری‌کننده داده و رسم‌کننده نمودار وجود ندارد، زیرا رسم نمودار نمی‌تواند پیش از جمع‌آوری کامل داده‌ها اجرا شود\&. همچنین داده‌های نگهداری‌شده در حافظه به حداقل مطلق مورد نیاز کاهش یافته است\&. .SH "همچنین ببینید (SEE ALSO)" .PP \fBbootchart.conf\fR(5) .SH "اشکالات (BUGS)" .PP برنامه systemd\-bootchart اطلاعات مدل دیسک سخت را دریافت نمی‌کند مگر اینکه دستگاه ریشه با root=/dev/sdxY مشخص شده باشد\&. استفاده از UUID یا PARTUUID سیستم را به‌درستی بوت می‌کند، اما مدل دیسک سخت به نمودار اضافه نخواهد شد\&. .PP برای گزارش اشکالات، لطفاً با نویسنده و نگه‌دارنده فعلی تماس بگیرید: .RS 4 Auke Kok .RE