| PMDAMMV(1) | General Commands Manual | PMDAMMV(1) |
نام (NAME)
pmdammv - عامل دامنه معیارهای کارایی برای مقادیر نگاشتشده در حافظه (PMDA)
خلاصه دستور (SYNOPSIS)
$PCP_PMDAS_DIR/mmv/pmdammv [-D debug] [-d domain] [-l logfile] [-U username]
توضیحات (DESCRIPTION)
pmdammv یک عامل دامنه معیارهای کارایی (PMDA) است که معیارهای کارایی سطح برنامه را با استفاده از فایلهای نگاشتشده در حافظه صادر میکند. این ابزار امکان سنجش (instrumentation) بسیار کمسرباری را فراهم میآورد که برای برنامههای طولانیاجرا و حیاتی که در آنها فعال بودن دائمی معیارهای کارایی و اطلاعات دسترسیپذیری نیاز است، بسیار مناسب است.
عامل mmv دادههای سنجشی را که با استفاده از رابطهای برنامهنویسی کاربردی (APIهای) MMV به برنامه افزوده شدهاند صادر میکند (برای جزئیات بیشتر به mmv_stats_init(3) و mmv(5) مراجعه کنید). این APIها از چندین زبان مختلف از جمله C، C++، Perl، Python، Java (از طریق کتابخانه کلاس مجزای «Parfait») و GoLang (از طریق کتابخانه مجزای «Speed») قابل فراخوانی هستند.
شرح مختصری از گزینههای خط فرمان pmdammv در ادامه آمده است:
- -d
- بسیار حیاتی است که شماره domain (دامنه) معیارهای کارایی مشخصشده در اینجا یکتا و سازگار باشد. یعنی domain باید برای هر PMDA روی یک میزبان متفاوت باشد، و شماره domain یکسان باید برای همان PMDA در تمام میزبانها استفاده شود.
- -l
- محل فایل وقایع (لاگ). بهطور پیشفرض، زمانی که pmdammv راهاندازی میشود، یک فایل وقایع به نام mmv.log در دایرکتوری جاری pmcd(1) نوشته میشود، یعنی $PCP_LOG_DIR/pmcd. اگر فایل وقایع نتواند ایجاد شود یا قابل نوشتن نباشد، خروجی در خطای استاندارد نوشته میشود.
- -U
- حساب کاربری که عامل تحت آن اجرا میشود. پیشفرض در نسخههای فعلی PCP حساب غیرممتاز "pcp" است، اما در نسخههای قدیمیتر، حساب مدیر سیستم ("root") بهطور پیشفرض استفاده میشد.
نصب (INSTALLATION)
در وهله اول، باید یک مدل امنیتی برای ارتباط بینفرآیندی میان برنامههای سنجیدهشده و pmdammv (که به عنوان یک کتابخانه اشتراکی درون pmcd اجرا میشود) انتخاب و برقرار گردد.
این ارتباط از طریق فایلهای نگاشتشده در حافظه در مکانی رخ میدهد که برای هر دو pmdammv و برنامههای سنجیدهشده شناختهشده است. آن مکان $PCP_TMP_DIR/mmv است، اگرچه این مسیر اغلب در پشت APIهای برنامهنویسی مانند «Parfait» و mmv_stats_init(3) پنهان شده است. مجوزهای تنظیمشده روی این دایرکتوری، مدل امنیتیِ در حال استفاده را مشخص میکنند.
روش امنتر، استفاده از یک گروه غیرممتاز موجود است که بین برنامههای سنجیدهشده، pmcd و pmdammv به اشتراک گذاشته شده باشد، مانند گروه "pcp".
# . /etc/pcp.env # mkdir -m 775 $PCP_TMP_DIR/mmv # chgrp pcp $PCP_TMP_DIR/mmv
از آنجا که این روش مستلزم استفاده برنامههای سنجیدهشده از این گروه غیرپیشفرض است (نگاه کنید به newgrp(1) و setgid(2))، یک جایگزین رایج، استفاده از یک دایرکتوری $PCP_TMP_DIR/mmv با قابلیت نوشتن همگانی (world-writable) به همراه تنظیم بودن بیت چسبنده (sticky-bit) است (برای مثال، مشابه /tmp و /var/tmp).
این کار به هر برنامهای، در حال اجرا تحت هر حساب کاربری، اجازه میدهد تا با PMDA (که بهطور پیشفرض تحت حساب "pcp" اجرا میشود) ارتباط برقرار کند. این وضعیت ممکن است برای همه محیطها مطلوب نباشد و باید پیامدهای امنیتی هرگونه راهاندازی دایرکتوری به این شکل را در نظر گرفت (دستههای مشابهی از مشکلات وجود دارند که دایرکتوریهای موقت سیستم را نیز تحت تأثیر قرار میدهند).
pmdammv بهطور پیشفرض در تمام نصبهای مدرن PCP فعال است، و از این رو نامها، متن راهنما و مقادیر معیارهای کارایی mmv بدون نیاز به فرایند معمول ./Install مربوط به PMDA در دسترس هستند.
اگر دایرکتوری $PCP_TMP_DIR/mmv وجود نداشته باشد، میتوان از اسکریپت ./Install برای ایجاد یک دایرکتوری با دسترسی نوشتن همگانی و دارای بیت چسبنده (sticky-bit) جهت برقراری ارتباط استفاده کرد. این کار هم برای سازگاری با نسخههای قبلی و هم برای سهولت استفاده است - برای استفاده از این سازوکار، مراحل زیر را با دسترسی root انجام دهید:
# rmdir $PCP_TMP_DIR/mmv # cd $PCP_PMDAS_DIR/mmv # ./Install
این فرایند نصب هیچ دایرکتوری موجود $PCP_TMP_DIR/mmv را بازنویسی نخواهد کرد.
اگر میخواهید نصب را لغو کنید، دستورهای زیر را با کاربر root اجرا کنید:
# cd $PCP_PMDAS_DIR/mmv # ./Remove
pmdammv توسط pmcd راهاندازی میشود و هرگز نباید بهطور مستقیم اجرا گردد. اسکریپتهای Install و Remove هنگامی که عامل نصب یا حذف میشود به pmcd اطلاع میدهند.
فایلها (FILES)
- $PCP_PMCDCONF_PATH
- گزینههای خط فرمان مورد استفاده برای راهاندازی pmdammv
- $PCP_TMP_DIR/mmv
- دایرکتوری نگهدارنده فایلهای مقادیر نگاشتشده در حافظه
- $PCP_PMDAS_DIR/mmv/help
- فایل متنی راهنمای پیشفرض برای معیارهای mmv
- $PCP_PMDAS_DIR/mmv/Install
- اسکریپت نصب برای عامل pmdammv
- $PCP_PMDAS_DIR/mmv/Remove
- اسکریپت لغو نصب برای عامل pmdammv
- $PCP_LOG_DIR/pmcd/mmv.log
- فایل وقایع پیشفرض برای پیامهای خطا و سایر اطلاعات از pmdammv
محیط پیسیپی (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای پارامتربندی نام فایلها و دایرکتوریهای مورد استفاده توسط PCP به کار میروند. در هر نصب، فایل /etc/pcp.conf شامل مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای مشخص کردن یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) شرح داده شده است.
گزینههای اشکالزدایی (DEBUGGING OPTIONS)
گزینه -D یا --debug خروجی عیبیابی تکمیلی را در stderr فعال میکند تا به عیبیابی و بررسی مشکلات کمک کند، اگرچه اطلاعات گاهی مبهم است و در وهله نخست برای راهنمایی توسعهدهندگان در نظر گرفته شده تا کاربران نهایی. debug فهرستی از گزینههای اشکالزدایی است که با کاما از هم جدا شدهاند؛ از pmdbg(1) همراه با گزینه -l برای دریافت فهرستی از گزینههای اشکالزدایی موجود و معانی آنها استفاده کنید.
گزینههای اشکالزدایی اختصاصی pmdammv به شرح زیر است:
| گزینه | توضیحات |
| appl0 | پیامهای تشخیصی با جزئیات (verbose) |
همچنین ببینید (SEE ALSO)
PCPIntro(1), pmcd(1), newgrp(1), setgid(2), mmv_stats_init(3), mmv(5), pcp.conf(5) و pcp.env(5).
| PCP | Performance Co-Pilot |