PERF-KVM(1) perf Manual PERF-KVM(1)

perf-kvm - ابزاری برای ردیابی و سنجش سیستم‌عامل مهمان kvm

perf kvm [--host] [--guest] [--guestmount=<path>
        [--guestkallsyms=<path> --guestmodules=<path> | --guestvmlinux=<path>]]
        {top|record|report|diff|buildid-list} [<options>]
perf kvm [--host] [--guest] [--guestkallsyms=<path> --guestmodules=<path>
        | --guestvmlinux=<path>] {top|record|report|diff|buildid-list|stat} [<options>]
'perf kvm stat [record|report|live] [<options>]

چندین حالت مختلف برای دستور perf kvm وجود دارد:

دستور 'perf kvm [options] top <command>' برای تولید و نمایش بی‌درنگ
نمایهٔ شمارنده‌های کارایی سیستم‌عامل مهمان برای یک بار کاری دلخواه.
دستور 'perf kvm record <command>' برای ضبط نمایهٔ شمارنده‌های کارایی
یک بار کاری دلخواه و ذخیرهٔ آن در یک فایل دادهٔ perf. رفتار پیش‌فرض
دستور perf kvm به‌صورت --guest تعیین شده است؛ بنابراین اگر هیچ‌کدام از گزینه‌های
--host یا --guest داده نشوند، نام فایل دادهٔ perf برابر با perf.data.guest خواهد بود.
اگر --host داده شود، نام فایل داده perf.data.kvm خواهد بود. اگر می‌خواهید
داده‌ها در perf.data.host ذخیره شوند، لطفاً --host --no-guest را مشخص کنید.
این رفتارها در زیر نشان داده شده‌اند:
  Default('')         ->  perf.data.guest
  --host              ->  perf.data.kvm
  --guest             ->  perf.data.guest
  --host --guest      ->  perf.data.kvm
  --host --no-guest   ->  perf.data.host
دستور 'perf kvm report' برای نمایش اطلاعات نمایهٔ شمارنده‌های کارایی
ضبط‌شده از طریق perf kvm record.
دستور 'perf kvm diff' برای نمایش تفاوت کارایی بین دو فایل perf.data
ضبط‌شده توسط perf record.
دستور 'perf kvm buildid-list' برای نمایش buildidهای پیداشده در یک فایل دادهٔ perf،
تا سایر ابزارها بتوانند بسته‌هایی با جدول نمادهای منطبق را برای استفاده
توسط perf report دریافت کنند. از آنجا که buildid از مسیر /sys/kernel/notes
در سیستم‌عامل خوانده می‌شود، اگر می‌خواهید buildid را برای مهمان فهرست کنید،
لطفاً مطمئن شوید که فایل دادهٔ perf شما با گزینهٔ --guestmount در perf kvm record
ضبط شده باشد.
دستور 'perf kvm stat <command>' برای اجرای یک دستور و جمع‌آوری آمار
شمارنده‌های کارایی.
به‌ویژه، دستور 'perf kvm stat record/report' یک تحلیل آماری از رویدادهای KVM
تولید می‌کند. در حال حاضر، رویدادهای vmexit، mmio (فقط x86) و ioport
(فقط x86) پشتیبانی می‌شوند. دستور 'perf kvm stat record <command>'
رویدادهای kvm و رویدادهای میان شروع و پایان <command> را ضبط می‌کند.
همچنین این دستور فایلی تولید می‌کند که حاوی نتایج ردیابی رویدادهای kvm است.
دستور 'perf kvm stat report' داده‌های آماری را گزارش می‌دهد که شامل
sampleهای رویداد رسیدگی‌شده، percent_sample، time، percent_time، max_t، min_t و mean_t است.
دستور 'perf kvm stat live' داده‌های آماری را در حالت زنده گزارش می‌دهد (مشابه
record + report اما با به‌روزرسانی زندهٔ داده‌های آماری در یک نرخ نمایش مشخص).

-i, --input=<path>

نام فایل ورودی برای زیرفرمان‌های report، diff و buildid-list.

-o, --output=<path>

نام فایل خروجی برای زیرفرمان record. با report کار نمی‌کند، هنگام استفاده از report کافی است خروجی را به یک فایل هدایت کنید.

--host

جمع‌آوری پروفایل کارایی سمت میزبان (host).

--guest

جمع‌آوری پروفایل کارایی سمت مهمان (guest).

--guestmount=<path>

دایرکتوری نقطهٔ اتصال سیستم‌فایل ریشهٔ سیستم‌عامل مهمان. کاربران دایرکتوری‌های ریشهٔ سیستم‌عامل مهمان را از طریق یک روش دسترسی به سیستم‌فایل مشخص، معمولاً sshfs، در <path> متصل می‌کنند. برای نمونه، راه‌اندازی ۲ سیستم‌عامل مهمان که pid یکی 8888 و دیگری 9999 است:
$ mkdir ~/guestmount
$ cd ~/guestmount
$ sshfs -o allow_other,direct_io -p 5551 localhost:/ 8888/
$ sshfs -o allow_other,direct_io -p 5552 localhost:/ 9999/
$ perf kvm --host --guest --guestmount=~/guestmount top

--guestkallsyms=<path>

رونوشت فایل /proc/kallsyms سیستم‌عامل مهمان. دستور perf آن را برای دریافت نمادهای هستهٔ مهمان می‌خواند. کاربران آن را از سیستم‌عامل مهمان کپی می‌کنند.

--guestmodules=<path>

رونوشت فایل /proc/modules سیستم‌عامل مهمان. دستور perf آن را برای دریافت اطلاعات ماژول‌های هستهٔ مهمان می‌خواند. کاربران آن را از سیستم‌عامل مهمان کپی می‌کنند.

--guestvmlinux=<path>

فایل vmlinux هستهٔ سیستم‌عامل مهمان.

--guest-code

مشخص می‌کند که کد مهمان در فرایند ناظر (hypervisor) قابل یافتن است، که در برنامه‌های آزمایشی KVM یک حالت رایج است.

--stdio

استفاده از رابط stdio.

-v, --verbose

توضیحات بیشتر (نمایش خطاهای باز کردن شمارنده و غیره).

--vcpu=<value>

تحلیل رویدادهایی که روی این vcpu رخ می‌دهند. (پیش‌فرض: تمام vcpuها)

--event=<value>

رویدادی که باید تحلیل شود. مقادیر ممکن: vmexit، mmio (فقط در x86)، ioport (فقط در x86). (پیش‌فرض: vmexit)

-k, --key=<value>

کلید مرتب‌سازی. مقادیر ممکن: sample (پیش‌فرض، مرتب‌سازی بر اساس تعداد نمونه‌ها)، percent_sample (مرتب‌سازی بر اساس درصد نمونه)، time (مرتب‌سازی بر اساس میانگین زمان)، precent_time (مرتب‌سازی بر اساس درصد زمان)، max_t (مرتب‌سازی بر اساس بیشینهٔ زمان)، min_t (مرتب‌سازی بر اساس کمینهٔ زمان)، mean_t (مرتب‌سازی بر اساس میانگین زمان).

-p, --pid=

تحلیل رویدادها فقط برای شناسه(های) فرایند داده‌شده (فهرست جداشده با کاما).

-d, --display

زمان بین به‌روزرسانی‌های نمایش بر حسب ثانیه.

-m, --mmap-pages=

تعداد صفحات داده mmap (باید توانی از دو باشد) یا تعیین اندازه بر حسب بایت همراه با نویسه یکای پیوست‌شده - B/K/M/G. این اندازه به نزدیک‌ترین مقدار صفحه که توانی از دو باشد به بالا گرد می‌شود.

-a, --all-cpus

جمع‌آوری در سطح سراسر سیستم از تمام CPUها.

-p, --pid=

تحلیل رویدادها تنها برای شناسه(های) فرایند داده‌شده (فهرست جداشده با ویرگول).

--vcpu=<value>

تحلیل رویدادهایی که روی این vcpu رخ می‌دهند. (پیش‌فرض: تمام vcpuها)

--event=<value>

رویدادی که باید تحلیل شود. مقادیر ممکن: vmexit، mmio (فقط x86)، ioport (فقط x86). (پیش‌فرض: vmexit)

-k, --key=<value>

کلید مرتب‌سازی. مقادیر ممکن: sample (پیش‌فرض، مرتب‌سازی بر اساس تعداد نمونه‌ها)، time (مرتب‌سازی بر اساس میانگین زمان).

--duration=<value>

نمایش رویدادهایی به جز HLT (فقط x86) یا حالت Wait (فقط s390) که بیش از duration میکروثانیه طول می‌کشند.

--proc-map-timeout

هنگام پردازش ریسه‌های از پیش موجود در /proc/XXX/mmap، ممکن است زمان زیادی صرف شود، زیرا ممکن است فایل بسیار حجیم باشد. در چنین مواردی به یک وقفه زمانی (timeout) نیاز است. این گزینه حد وقفه زمانی را تنظیم می‌کند. مقدار پیش‌فرض ۵۰۰ میلی‌ثانیه (500 ms) است.

perf-top(1), perf-record(1), perf-report(1), perf-diff(1), perf-buildid-list(1), perf-stat(1)

09/04/2026 perf