TUNA(8) System Administration Utilities TUNA(8)

tuna - برنامه تنظیم و بهینه‌سازی پردازش‌های در حال اجرا

tuna [گزینه‌ها]

این صفحه راهنما برنامه tuna را شرح می‌دهد. این برنامه می‌تواند برای تغییر ویژگی‌های ریسه‌های کاربردی و هسته استفاده شود. tuna می‌تواند روی IRQها بر اساس نام یا شماره، و روی تسک‌ها یا ریسه‌ها بر اساس شناسه فرایند (PID) یا خط فرمان عمل کند. پردازنده‌ها (CPUs) و مجموعه‌های CPU می‌توانند با شماره CPU یا سوکت مشخص شوند. نام‌های IRQ و خط فرمان پردازش‌ها می‌توانند شامل نویسه‌های عام (wildcards) باشند.

دستور tuna می‌تواند خط‌مشی زمان‌بندی، اولویت زمان‌بندی و وابستگی پردازنده (processor affinity) را برای فرایندها و ریسه‌های فرایند تغییر دهد. tuna همچنین می‌تواند وابستگی پردازنده را برای وقفه‌ها تغییر دهد. tuna از cpusetهای cgroup v2 برای جداسازی گره‌های پردازنده و حافظه پشتیبانی می‌کند، و کنترلی دقیق بر روی اینکه کدام فرایندها می‌توانند روی کدام CPUها اجرا شوند فراهم می‌سازد. هنگامی که tuna بدون هیچ گزینه‌ای فراخوانی شود، در حالت رابط گرافیکی خود شروع به کار می‌کند. این صفحه راهنما تنها گزینه‌های خط فرمانی tuna را توضیح می‌دهد.

چاپ فهرستی از گزینه‌ها. tuna پس از این عمل خارج می‌شود و بقیه خط فرمان را نادیده می‌گیرد.
نمایش نسخه
ثبت جزئیات برنامه در فایل برای سطح گزارش‌گیری (LOG-LEVEL) داده‌شده
چاپ جزئیات ثبت وقایع سطح DEBUG در کنسول
هشدار هنگام تطابق نیافتن الگوهای ریسه/IRQ با هیچ موردی

نحوه استفاده: tuna-cmd.py cpu_power [-h] (-c CPU-LIST)

تنظیم یا استعلام وضعیت‌های بیکاری (توان) تمام یا گزیده‌ای از CPUها در CPU-LIST. اصلاح‌کننده‌های -c می‌توانند برای ارسال CPU-LIST پردازنده‌ها جهت اجرای دستور استفاده شوند.

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-i, --idle-info چاپ اطلاعات کلی بیکاری برای CPUهای انتخاب‌شده، شامل مقادیر نمایه برای IDLE-STATE.
-s, --status IDLE-STATE
چاپ اینکه آیا IDLE-STATE در CPUهای انتخاب‌شده فعال است یا خیر.
-d, --disable IDLE-STATE
غیرفعال کردن IDLE-STATE در CPUهای انتخاب‌شده.
-e, --enable IDLE-STATE
فعال کردن IDLE-STATE در CPUهای انتخاب‌شده.
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات

نحوه استفاده: tuna-cmd.py isolate [-h] (-c CPU-LIST | -S CPU-SOCKET-LIST | -N)
[--cpuset [NAME]] [--cpuset-housekeeping ...]

انتقال تمام ریسه‌ها و IRQهای مجاز به خارج از CPU-LIST. نیازمند -c، -S، یا -N است.

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
--cpuset [NAME] استفاده از cpusetها برای جداسازی با نام اختیاری (پیش‌فرض: tuna_isolated،
partition=isolated)
--cpuset-housekeeping [NAME] CPU-LIST
ایجاد cpuset خانه‌داری: [NAME] CPU-LIST (نام پیش‌فرض:
tuna_housekeeping، partition=member)

نحوه استفاده: tuna-cmd.py include [-h] (-c CPU-LIST | -S CPU-SOCKET-LIST | -N)

اجازه به تمام ریسه‌ها و IRQهای مجاز برای اجرا روی CPU-LIST. نیازمند -c، -S، یا -N است.

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت

نحوه استفاده: tuna-cmd.py move [-h] (-c CPU-LIST | -S CPU-SOCKET-LIST | -N | --cpuset CPUSET-NAME)
[-t THREAD-LIST] [-q IRQ-LIST] [-U] [-K]

انتقال موجودیت‌های انتخاب‌شده به CPU-LIST یا cpuset. نیازمند -c، -S، -N، یا --cpuset و همچنین -t یا -q است.

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
--cpuset CPUSET-NAME انتقال ریسه‌ها/IRQها به cpuset (در cgroup v2) به جای تنظیم وابستگی پردازنده
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات
-q IRQ-LIST, --irqs IRQ-LIST
فهرست IRQهای تحت تأثیر دستورات
-U, --no_uthreads عملیات روی ریسه‌های کاربری تأثیر نخواهد گذاشت
-K, --no_kthreads عملیات روی ریسه‌های هسته تأثیر نخواهد گذاشت

نحوه استفاده: tuna-cmd.py spread [-h] (-c CPU-LIST | -S CPU-SOCKET-LIST | -N)
[-t THREAD-LIST] [-q IRQ-LIST] [-U] [-K]

پخش کردن موجودیت‌های انتخاب‌شده بر روی CPU-LIST. ریسه‌ها و IRQهای مشخص‌شده هرکدام به یک CPU در CPU-LIST اختصاص داده می‌شوند. نیازمند -c، -S، یا -N و همچنین -t یا -q است.

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات
-q IRQ-LIST, --irqs IRQ-LIST
فهرست IRQهای تحت تأثیر دستورات
-U, --no_uthreads عملیات روی ریسه‌های کاربری تأثیر نخواهد گذاشت
-K, --no_kthreads عملیات روی ریسه‌های هسته تأثیر نخواهد گذاشت

نحوه استفاده: tuna-cmd.py priority [-h] -t THREAD-LIST [-C] POLICY:RTPRIO

تنظیم پارامترهای زمان‌بند ریسه: POLICY و RTPRIO. متغیر POLICY یکی از مقادیر OTHER، FIFO، RR، یا BATCH است. مقدار POLICY، RTPRIO، یا POLICY:RTPRIO را با نویسه ":" جدا کنید. اگر فقط POLICY تنظیم شود، اولویت RT در صورتی که خط‌مشی RT باشد به طور پیش‌فرض ۱، و در غیر این صورت ۰ خواهد بود. اگر تنها RTPRIO مشخص شود، خط‌مشی تغییر نخواهد کرد.

آرگومان‌های موضعی:
POLICY:RTPRIO تنظیم پارامترهای زمان‌بند ریسه: POLICY و RTPRIO

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات
-C, --affect_children
عملیات روی ریسه‌های فرزند تأثیر خواهد گذاشت

نحوه استفاده: tuna-cmd.py run [-h] [-c CPU-LIST | -S CPU-SOCKET-LIST | -N | --cpuset CPUSET-NAME]
[-p PRIORITY] [-b]
COMMAND

اجرای COMMAND. تمام خط فرمان باید داخل "گیومه" قرار گیرد. اصلاح‌کننده‌های -c، -S، --cpuset و -p می‌توانند برای تنظیم وابستگی و پارامترهای زمان‌بند دستور داده‌شده استفاده شوند.

آرگومان‌های موضعی:
COMMAND انشعاب یک فرایند جدید و اجرای "COMMAND"

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
--cpuset CPUSET-NAME اجرای فرایند در cpuset مشخص‌شده (در cgroup v2) به جای تنظیم وابستگی پردازنده
-p PRIORITY, --priority PRIORITY
تنظیم پارامترهای زمان‌بند ریسه: POLICY و RTPRIO
-b, --background اجرای دستور به صورت تسک پس‌زمینه

نحوه استفاده: tuna-cmd.py save [-h] [-c CPU-LIST | -S CPU-SOCKET-LIST | -N]
[-t THREAD-LIST]
FILENAME

ذخیره پارامترهای زمان‌بندی kthreads در FILENAME

آرگومان‌های موضعی:
FILENAME ذخیره پارامترهای زمان‌بندی kthreads در این فایل

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات

نحوه استفاده: tuna-cmd.py show_threads [-h] [-c CPU-LIST | -N | -S CPU-SOCKET-LIST]
[-t THREAD-LIST | -q IRQ-LIST] [-U] [-K] [-C]
[-n] [-G] [--cpuset CPUSET-NAME] [-z]

نمایش فهرست ریسه‌ها

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات
-q IRQ-LIST, --irqs IRQ-LIST
فهرست IRQهای تحت تأثیر دستورات
-U, --no_uthreads عملیات روی ریسه‌های کاربری تأثیر نخواهد گذاشت
-K, --no_kthreads عملیات روی ریسه‌های هسته تأثیر نخواهد گذاشت
-C, --affect_children
عملیات روی ریسه‌های فرزند تأثیر خواهد گذاشت
-n, --show_sockets نمایش سوکت‌های شبکه مورد استفاده توسط ریسه‌ها (نیازمند ماژول inet_diag)
-G, --cgroups نمایش پردازش‌ها همراه با نوع cgroups مربوط به آن‌ها
--cpuset CPUSET-NAME تنها نمایش ریسه‌ها در cpuset مشخص‌شده
-z, --spaced نمایش با فاصله‌گذاری برای cgroups

نحوه استفاده: tuna-cmd.py show_irqs [-h] [-c CPU-LIST | -N | -S CPU-SOCKET-LIST]
[-q IRQ-LIST]

نمایش فهرست IRQها

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-q IRQ-LIST, --irqs IRQ-LIST
فهرست IRQهای تحت تأثیر دستورات

نحوه استفاده: tuna-cmd.py show_configs [-h]

فهرست نمایه‌های از پیش بارگذاری‌شده

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج

نحوه استفاده: tuna-cmd.py what_is [-h] THREAD-LIST

ارائه راهنما درباره موجودیت‌های انتخاب‌شده

آرگومان‌های موضعی:
THREAD-LIST فهرست ریسه‌های تحت تأثیر دستورات

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج

نحوه استفاده: tuna-cmd.py gui [-h] [-d] [-R MSEC]
[-c CPU-LIST | -N | -S CPU-SOCKET-LIST] [-U] [-K]

اجرای رابط گرافیکی کاربر (GUI)

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-d, --disable_perf غیرفعال‌سازی صریح استفاده از perf در GUI برای نمای فرایندها
-R MSEC, --refresh MSEC
تازه‌سازی GUI هر MSEC میلی‌ثانیه
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUهای تحت تأثیر دستورات
-N, --nohz_full پردازنده‌های موجود در خط فرمان هسته nohz_full تحت تأثیر عملیات قرار خواهند گرفت
-S CPU-SOCKET-LIST, --sockets CPU-SOCKET-LIST
فهرست سوکت‌های CPU تحت تأثیر دستورات
-U, --no_uthreads عملیات روی ریسه‌های کاربری تأثیر نخواهد گذاشت
-K, --no_kthreads عملیات روی ریسه‌های هسته تأثیر نخواهد گذاشت

نحوه استفاده: tuna-cmd.py cpuset [-h] {create,list,destroy,move,show,status,modify,save,apply}

مدیریت مجموعه‌های پردازنده (cgroup v2). ویژگی cpusets کنترلی دقیق بر روی پردازنده‌هایی که فرایندها می‌توانند بر روی آن‌ها اجرا شوند، همراه با تخصیص گره حافظه با آگاهی از ساختار NUMA و جداسازی اعمال‌شده توسط هسته فراهم می‌کند.

زیردستورات:
{create,list,destroy,move,show,status,modify,save,apply}

tuna cpuset create نحوه استفاده: tuna-cmd.py cpuset create [-h] -c CPU-LIST [-n NAME] [-i]
[-m MEM-NODES]

ایجاد یک cpuset جدید با پردازنده‌های مشخص‌شده. گره‌های حافظه به طور خودکار از توپولوژی CPU تشخیص داده می‌شوند مگر اینکه دستی مشخص شوند.

آرگومان‌های الزامی:
-c CPU-LIST, --cpus CPU-LIST
فهرست CPUها برای تخصیص به cpuset

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-n NAME, --name NAME نام cpuset (پیش‌فرض: تولید خودکار tunaN)
-i, --isolated تنظیم پارتیشن CPU به حالت جداسازی‌شده (انحصار اعمال‌شده توسط هسته)
-m MEM-NODES, --memory-nodes MEM-NODES
گره‌های حافظه (پیش‌فرض: تشخیص خودکار از CPUها، مثلاً "0" یا "0-1")

tuna cpuset list نحوه استفاده: tuna-cmd.py cpuset list [-h] [-p PATTERN] [-v] [--show-empty]
[--no-recursive]

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

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-p PATTERN, --pattern PATTERN
فیلتر با الگوی glob (مثلاً tuna*)
-v, --verbose نمایش اطلاعات با جزئیات (پردازنده‌ها، تسک‌ها، نوع پارتیشن)
--show-empty شامل کردن cpusetهای بدون پردازنده تخصیص‌یافته (پیش‌فرض: نادیده گرفتن موارد خالی)
--no-recursive تنها جستجو در cpusetهای بالاترین سطح

tuna cpuset destroy نحوه استفاده: tuna-cmd.py cpuset destroy [-h] [-p PATTERN] [-f]
[--include-empty] [--no-recursive]
[NAME ...]

حذف cpuset(ها)

آرگومان‌های موضعی:
NAME نام cpuset(ها) برای حذف (یک یا چند مورد، یا استفاده از --pattern)

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-p PATTERN, --pattern PATTERN
الگوی glob برای حذف چندین cpuset (مثلاً tuna*)
-f, --force مهاجرت دادن تسک‌ها به root cgroup پیش از حذف
--include-empty هنگام استفاده از --pattern، شامل کردن cpusetهای بدون CPU اختصاص‌یافته
--no-recursive تنها حذف cpusetهای سطح بالا هنگام استفاده از --pattern

tuna cpuset move نحوه استفاده: tuna-cmd.py cpuset move [-h] [-t THREAD-LIST] [-p PID-LIST] NAME

انتقال پردازش‌ها به یک cpuset

آرگومان‌های موضعی:
NAME نام cpuset مقصد برای انتقال فرایندها

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-t THREAD-LIST, --threads THREAD-LIST
فهرست ریسه‌های تحت تأثیر دستورات (پشتیبانی از الگوها)
-p PID-LIST, --pids PID-LIST
فهرست جداشده با کاما از PIDها جهت انتقال

tuna cpuset show نحوه استفاده: tuna-cmd.py cpuset show [-h] [--show-tasks] NAME

نمایش اطلاعات دقیق درباره یک cpuset

آرگومان‌های موضعی:
NAME نام cpuset برای نمایش

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
--show-tasks نمایش فهرست دقیق تسک‌ها/فرایندها

tuna cpuset status نحوه استفاده: tuna-cmd.py cpuset status [-h] [-p PATTERN] [--show-empty]
[--no-recursive]

نمایش نمای کلی cpuset در سطح کل سیستم همراه با آمار

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-p PATTERN, --pattern PATTERN
فیلتر با الگوی glob (مثلاً tuna*)
--show-empty شامل کردن cpusetهای بدون CPU تخصیص‌یافته (پیش‌فرض: نادیده گرفتن خالی)
--no-recursive تنها نمایش cpusetهای سطح بالا

tuna cpuset modify نحوه استفاده: tuna-cmd.py cpuset modify [-h] [--add-cpus CPU-LIST]
[--remove-cpus CPU-LIST] [-m MEM-NODES]
[--isolated | --no-isolated]
NAME

تغییر یک cpuset موجود بدون حذف آن

آرگومان‌های موضعی:
NAME نام cpuset برای تغییر

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
--add-cpus CPU-LIST پردازنده‌ها برای افزودن به cpuset (مثلاً 4-7 یا 4,5,6,7)
--remove-cpus CPU-LIST
پردازنده‌ها برای حذف از cpuset (مثلاً 0-1 یا 0,1)
-m MEM-NODES, --memory-nodes MEM-NODES
تنظیم گره‌های حافظه (مثلاً "0" یا "0-1")
--isolated تنظیم پارتیشن CPU به حالت جداسازی‌شده (isolated)
--no-isolated تنظیم پارتیشن CPU به حالت عضو (member - غیر ایزوله)

tuna cpuset save نحوه استفاده: tuna-cmd.py cpuset save [-h] [filename]

ذخیره پیکربندی cpuset در نمایه YAML

آرگومان‌های موضعی:
filename فایل خروجی YAML. مسیر پیش‌فرض به بافت اجرا بستگی دارد:
./cpuset-profile.yaml هنگام اجرا در محیط توسعه (tuna-cmd.py)
/etc/tuna/cpuset-profile.yaml هنگام اجرا در محیط عملیاتی (tuna)

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج

tuna cpuset apply نحوه استفاده: tuna-cmd.py cpuset apply [-h] [-v] [filename]

اعمال پیکربندی cpuset از نمایه YAML

آرگومان‌های موضعی:
filename فایل ورودی YAML. مسیر پیش‌فرض به بافت اجرا بستگی دارد:
./cpuset-profile.yaml هنگام اجرا در محیط توسعه (tuna-cmd.py)
/etc/tuna/cpuset-profile.yaml هنگام اجرا در محیط عملیاتی (tuna)

آرگومان‌های اختیاری:
-h, --help نمایش این پیام راهنما و خروج
-v, --verbose چاپ پیام‌های پیشرفت با جزئیات

اصلاح‌کننده‌ها
فهرست پردازنده‌های تحت تأثیر دستورات. نیازمند شماره CPU، یک محدوده، یا فهرستی جداشده با کاما از شماره پردازنده‌ها است.
فهرست سوکت‌های پردازنده تحت تأثیر دستورات. نیازمند شماره سوکت یا فهرستی جداشده با کاما از شماره سوکت‌ها است.
فهرست ریسه‌های تحت تأثیر دستورات. نیازمند شماره ریسه یا نام ریسه، یا فهرستی جداشده با کاما از شماره و/یا نام‌های ریسه‌ها است. نام‌های ریسه می‌توانند شامل نویسه‌های عام باشند. حتماً هرگونه الگوهای نویسه عام را در گیومه قرار داده یا اسکیپ کنید.
فهرست IRQهای تحت تأثیر دستورات. نیازمند شماره IRQ یا نام کاربری IRQ، یا فهرستی جداشده با کاما از شماره‌ها و/یا نام‌های کاربری IRQ است. نام‌های کاربری IRQ می‌توانند شامل نویسه‌های عام باشند. حتماً هرگونه الگوهای نویسه عام را در گیومه قرار داده یا اسکیپ کنید.

اگر برای نمونه کارت‌های شبکه اترنت (Ethernet NICs) دارای چندین صف برای دریافت و ارسال باشند، که هرکدام IRQ خود را دارند، IRQهای اترنت می‌توانند به یک سوکت CPU متصل شوند:

انتقال همه موارد از CPUهای موجود در سوکت ۲ به جای دیگر، سپس پخش کردن IRQهای دستگاه‌های اترنت در میان همان پردازنده‌ها.

ایجاد یک cpuset ایزوله برای بارهای کاری بی‌درنگ (real-time):

ایجاد یک cpuset با نام 'rt_workload' همراه با پردازنده‌های ۲ تا ۵، تنظیم‌شده روی پارتیشن ایزوله. گره‌های حافظه به طور خودکار از روی توپولوژی پردازنده تشخیص داده می‌شوند.

اجرای یک برنامه بی‌درنگ در cpuset به نام rt_workload با زمان‌بند FIFO و اولویت ۸۰.

ایزوله‌سازی پردازنده‌ها با استفاده از cpusetها (قدرتمندتر از وابستگی سنتی):

ایزوله‌سازی پردازنده‌های ۴ تا ۷ با ایجاد cpuset به نام 'my_isolated' همراه با انحصار اعمال‌شده توسط هسته (partition=isolated)، و انتقال تمامی پردازش‌های موجود به cpuset به نام 'my_hk' روی پردازنده‌های ۰ تا ۳ (partition=member).

انتقال تمام ریسه‌های kworker به cpuset با نام rt_workload.

نمایش تنها پردازش‌های در حال اجرا در cpuset با نام rt_workload.

افزودن پردازنده‌های ۶ و ۷ به cpuset با نام rt_workload بدون ایجاد اختلال در پردازش‌های در حال اجرا.

نمایش نمای کلی در سطح سیستم از تمام cpusetها همراه با آمار.

ذخیره پیکربندی فعلی cpuset در یک نمایه YAML. هنگام اجرای نسخه نصب‌شده (tuna)، مسیر پیش‌فرض /etc/tuna/cpuset-profile.yaml است. هنگام اجرا از محیط توسعه (tuna-cmd.py)، پیش‌فرض ./cpuset-profile.yaml در پوشه جاری خواهد بود.

اعمال پیکربندی ذخیره‌شده قبلی cpuset از نمایه YAML. این دستور تمام cpusetهای تعریف‌شده در نمایه را همراه با تخصیص‌های CPU، گره‌های حافظه و تنظیمات پارتیشن از نو ایجاد می‌کند.

July 2026 tuna