pw-top(1) General Commands Manual pw-top(1)

pw-top - نمایشگر پویای فرایندهای پایپ‌ویر

pw-top [گزینه‌ها]

برنامه pw-top نمایی پویا و بلادرنگ از آمار دستگاه‌ها و گره‌های پایپ‌ویر (PipeWire) ارائه می‌دهد.

نمایی سلسله‌مراتبی از گره‌های راه‌انداز (Driver) و گره‌های پیرو (Follower) نمایش داده می‌شود. گره‌های راه‌انداز به صورت فعال از یک زمان‌سنج (Timer) برای زمان‌بندی جریان داده در پیروها استفاده می‌کنند. گره‌های پیروِ هر گره راه‌انداز در زیر راه‌انداز مربوطه با علامت + (یا = برای گره‌های ناهمگام) در یک نمایش درختی نشان داده می‌شوند.

ستون‌های نمایش‌داده‌شده به شرح زیر هستند:

S

وضعیت گره.
  • E = ERROR (خطا)
  • C = CREATING (در حال ایجاد)
  • S = SUSPENDED (معلق)
  • I = IDLE (بیکار)
  • R = RUNNING (در حال اجرا)
  • t = RUNNING + transport starting (در حال اجرا + آغاز ترنسپورت)
  • T = RUNNING + transport running (در حال اجرا + ترنسپورت فعال)

ID

شناسه گره یا دستگاه پایپ‌ویر، همان‌طور که در pw-dump و pw-cli یافت می‌شود.

QUANT

کوانتوم (Quantum) جاری (برای راه‌اندازها) و کوانتوم پیشنهادی برای گره‌های پیرو.

مقدار کوانتوم به خودی خود باید بر مقدار ستون RATE تقسیم شود تا مدت زمان یک دوره زمان‌بندی به کسر ثانیه محاسبه گردد.

برای مقدار QUANT برابر با ۱۰۲۴ و مقدار RATE برابر با ۴۸۰۰۰، مدت یک دوره در گراف برابر با ۱۰۲۴/۴۸۰۰۰ یعنی ۲۱.۳ میلی‌ثانیه است.

گره‌های پیرو می‌توانند مقدار QUANT برابر با ۰ داشته باشند، به این معنا که گره پیشنهادی برای کوانتوم ندارد و بنابراین از آنچه راه‌انداز برگزیده استفاده می‌کند.

راه‌انداز از کمترین کوانتوم در میان تمام پیروها استفاده خواهد کرد. اگر هیچ‌یک از پیروها کوانتومی انتخاب نکنند، کوانتوم پیش‌فرض موجود در فایل پیکربندی پایپ‌ویر استفاده خواهد شد.

مقدار QUANT در راه‌اندازها معمولاً مستقیماً به تعداد نمونه‌های صوتی پردازش‌شده در هر چرخه پردازشی گراف ترجمه می‌شود.

همچنین ببینید: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#pipewire-buffering-explained

RATE

نرخ جاری (برای راه‌اندازها) و نرخ پیشنهادی برای گره‌های پیرو.

این نرخی است که گراف داده‌ها را با آن پردازش می‌کند و باید با مقدار QUANT ترکیب شود تا مدت زمان یک چرخه پردازش در گراف به دست آید.

برخی گره‌ها می‌توانند مقدار RATE برابر با ۰ داشته باشند، به این معنا که هیچ پیشنهادی برای نرخ گراف ندارند. گره‌هایی که یک نرخ را پیشنهاد می‌دهند می‌توانند در صورتی که گراف بیکار باشد و نرخ جدید به عنوان نرخ مجاز گراف تعریف شده باشد (فایل پیکربندی پایپ‌ویر را ببینید)، موجب تغییر نرخ گراف شوند.

مقدار RATE در گره‌های راه‌انداز (صوتی) معمولاً مستقیماً به نرخ نمونه‌برداری (Samplerate) مورداستفاده توسط دستگاه تبدیل می‌شود. اگرچه ممکن است برخی دستگاه‌ها قادر به کار در نرخ نمونه‌برداری ارائه‌شده نباشند، که در این حالت بازنمونه‌برداری (Resampling) انجام خواهد شد. نرخ نمونه‌برداری توافق‌شده با دستگاه و جریان را می‌توان در ستون FORMAT یافت.

WAIT

زمان انتظار یک گره، مدت‌زمان سپری‌شده میان لحظه‌ای است که گره آماده شروع پردازش است تا زمانی که واقعاً پردازش را آغاز می‌کند.

برای گره‌های راه‌انداز، این زمان فاصله میان بیدار شدن گره برای شروع پردازش گراف تا تکمیل یک چرخه توسط راه‌انداز (و بنابراین گراف) است. بنابراین زمان WAIT برای راه‌انداز، زمان سپری‌شده در پردازش گراف است.

برای گره‌های پیرو، این مدت زمانی است که بین بیدار شدن (هنگامی که تمام وابستگی‌های گره برآورده شدند) و شروع پردازش سپری می‌شود. بنابراین زمان WAIT برای گره‌های پیرو عمدتاً ناشی از تعویض زمینه (Context Switching) است.

مقدار --- به این معنی است که به گره سیگنالی ارسال نشده است. مقدار +++ به این معنی است که به گره سیگنال داده شده اما بیدار نشده است.

BUSY

زمان پردازش، از زمانی که گره پردازش را آغاز می‌کند تا زمانی که کار را به پایان رسانده و گره‌های بعدی را در گراف بیدار می‌کند محاسبه می‌شود.

مقدار --- به این معنی است که گره شروع به کار نکرده است. مقدار +++ به این معنی است که گره شروع به کار کرده اما کار را تمام نکرده است.

W/Q

نسبت WAIT / QUANT.

مقدار W/Q در گره راه‌انداز معیار مناسبی برای بار پردازشی گراف است. میانگین متحرک نسبت‌های W/Q راه‌انداز، به عنوان بار DSP در سایر ابزارها (مانند JACK) استفاده می‌شود.

مقادیر --- و +++ از ستون WAIT کپی می‌شوند.

B/Q

نسبت BUSY / QUANT.

این معیار مناسبی برای سنجش بار کاری یک گره راه‌انداز یا پیرو خاص است.

مقادیر --- و +++ از ستون BUSY کپی می‌شوند.

ERR

مجموع Xrunها و خطاها.

رخ دادن Xrun در راه‌اندازها زمانی است که گراف یک چرخه را کامل نکرده باشد. این می‌تواند به این دلیل باشد که گره‌ای در گراف دچار Xrun شده است. همچنین می‌تواند ناشی از تأخیرهای زمان‌بندی باشد که منجر به از دست رفتن مهلت زمانی (Deadline) و ایجاد Xrun سخت‌افزاری می‌شود.

شمارنده Xrun برای پیروها زمانی افزایش می‌یابد که گره پردازش را آغاز کرده باشد اما پیش از پایان مهلت چرخه گراف کار را تمام نکند.

FORMAT

فرمت مورداستفاده توسط گره راه‌انداز یا جریان. این فرمت سخت‌افزاری توافق‌شده با دستگاه یا جریان است.

اگر جریان یا راه‌انداز نرخی متفاوت از گراف داشته باشد، بازنمونه‌برداری (Resampling) انجام خواهد شد.

برای فرمت‌های صوتی خام (Raw)، ساختار به صورت <sampleformat> <channels> <samplerate> است.

برای فرمت‌های صوتی عبوری (Passthrough) استاندارد IEC958، ساختار به صورت IEC958 <codec> <samplerate> است.

برای فرمت‌های DSD، ساختار به صورت <dsd-rate> <channels> است.

برای فرمت‌های ویدیویی، ساختار به صورت <pixelformat> <width>x<height> است.

NAME

نام اختصاص‌یافته به دستگاه یا گره، همان‌گونه که در مقدار node.name در دستور pw-dump یافت می‌شود.

نام‌ها با پیشوند +/*=* مشخص می‌شوند هنگامی که به یک راه‌انداز پیوند خورده باشند (مدخل بالایی که فاقد +/= است).

کلیدهای زیر در حالت تعاملی قابل استفاده هستند:

q

خروج

c

پاک کردن شمارنده‌های ERR. این کار شمارنده‌ها را به صورت سراسری پاک نمی‌کند، بلکه فقط شمارنده‌ها را در این نمونه اجرایی از pw-top صفر خواهد کرد.

-h | --help

نمایش راهنما.

-b | --batch-mode

اجرا در حالت دسته‌ای و غیرتعاملی، مشابه حالت دسته‌ای در دستور top.

-n | --iterations=NUMBER

خروج پس از NUMBER بار تکرار دسته‌ای. فقط در حالت دسته‌ای کاربرد دارد.

-r | --remote=NAME

نام نمونه remote برای نظارت. در صورت نامشخص بودن، اتصال به نمونه پیش‌فرض PipeWire برقرار می‌شود.

-V | --version

نمایش اطلاعات نسخه.

توسعه‌دهندگان پایپ‌ویر https://gitlab.freedesktop.org/pipewire/pipewire/issues؛ پایپ‌ویر در https://pipewire.org در دسترس است.

pipewire(1), pw-dump(1), pw-cli(1), pw-profiler(1)

1.6.8 PipeWire