| TUNA(8) | System Administration Utilities | TUNA(8) |
نام (NAME)
tuna - برنامه تنظیم و بهینهسازی پردازشهای در حال اجرا
خلاصه دستور (SYNOPSIS)
tuna [گزینهها]
توضیحات (DESCRIPTION)
این صفحه راهنما برنامه tuna را شرح میدهد. این برنامه میتواند برای تغییر ویژگیهای ریسههای کاربردی و هسته استفاده شود. tuna میتواند روی IRQها بر اساس نام یا شماره، و روی تسکها یا ریسهها بر اساس شناسه فرایند (PID) یا خط فرمان عمل کند. پردازندهها (CPUs) و مجموعههای CPU میتوانند با شماره CPU یا سوکت مشخص شوند. نامهای IRQ و خط فرمان پردازشها میتوانند شامل نویسههای عام (wildcards) باشند.
دستور tuna میتواند خطمشی زمانبندی، اولویت زمانبندی و وابستگی پردازنده (processor affinity) را برای فرایندها و ریسههای فرایند تغییر دهد. tuna همچنین میتواند وابستگی پردازنده را برای وقفهها تغییر دهد. tuna از cpusetهای cgroup v2 برای جداسازی گرههای پردازنده و حافظه پشتیبانی میکند، و کنترلی دقیق بر روی اینکه کدام فرایندها میتوانند روی کدام CPUها اجرا شوند فراهم میسازد. هنگامی که tuna بدون هیچ گزینهای فراخوانی شود، در حالت رابط گرافیکی خود شروع به کار میکند. این صفحه راهنما تنها گزینههای خط فرمانی tuna را توضیح میدهد.
گزینههای سراسری (GLOBAL OPTIONS)
- -h, --help
- چاپ فهرستی از گزینهها. tuna پس از این عمل خارج میشود و بقیه خط فرمان را نادیده میگیرد.
- -v, --version
- نمایش نسخه
- -L, --logging=LOG-LEVEL
- ثبت جزئیات برنامه در فایل برای سطح گزارشگیری (LOG-LEVEL) دادهشده
- -D, --debug
- چاپ جزئیات ثبت وقایع سطح DEBUG در کنسول
- -w, --warn
- هشدار هنگام تطابق نیافتن الگوهای ریسه/IRQ با هیچ موردی
دستورات (COMMANDS)
- tuna cpu_power
- نحوه
استفاده: 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 isolate
- نحوه
استفاده: 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 include
- نحوه
استفاده: 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 move
- نحوه
استفاده: 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 spread
- نحوه
استفاده: 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 priority
- نحوه
استفاده: 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 run
- نحوه
استفاده: 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 save
- نحوه
استفاده: 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 show_threads
- نحوه
استفاده: 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 show_irqs
- نحوه
استفاده: 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 show_configs
- نحوه
استفاده: tuna-cmd.py
show_configs [-h]
فهرست نمایههای از پیش بارگذاریشده
آرگومانهای اختیاری:
-h, --help نمایش این پیام راهنما و خروج - tuna what_is
- نحوه
استفاده: tuna-cmd.py
what_is [-h] THREAD-LIST
ارائه راهنما درباره موجودیتهای انتخابشده
آرگومانهای موضعی:
THREAD-LIST فهرست ریسههای تحت تأثیر دستوراتآرگومانهای اختیاری:
-h, --help نمایش این پیام راهنما و خروج - tuna gui
- نحوه
استفاده: 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 cpuset
- نحوه
استفاده: 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های سطح بالا هنگام استفاده از --patterntuna 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 چاپ پیامهای پیشرفت با جزئیات
- اصلاحکنندهها
- -c, --cpus=CPU-LIST
- فهرست پردازندههای تحت تأثیر دستورات. نیازمند شماره CPU، یک محدوده، یا فهرستی جداشده با کاما از شماره پردازندهها است.
- -S, --sockets=CPU-SOCKET-LIST
- فهرست سوکتهای پردازنده تحت تأثیر دستورات. نیازمند شماره سوکت یا فهرستی جداشده با کاما از شماره سوکتها است.
- -t, --threads=THREAD-LIST
- فهرست ریسههای تحت تأثیر دستورات. نیازمند شماره ریسه یا نام ریسه، یا فهرستی جداشده با کاما از شماره و/یا نامهای ریسهها است. نامهای ریسه میتوانند شامل نویسههای عام باشند. حتماً هرگونه الگوهای نویسه عام را در گیومه قرار داده یا اسکیپ کنید.
- -q, --irqs=IRQ-LIST
- فهرست IRQهای تحت تأثیر دستورات. نیازمند شماره IRQ یا نام کاربری IRQ، یا فهرستی جداشده با کاما از شمارهها و/یا نامهای کاربری IRQ است. نامهای کاربری IRQ میتوانند شامل نویسههای عام باشند. حتماً هرگونه الگوهای نویسه عام را در گیومه قرار داده یا اسکیپ کنید.
مثالهای کاربردی (USAGE EXAMPLES)
مثالهای وابستگی پردازنده (CPU Affinity Examples)
اگر برای نمونه کارتهای شبکه اترنت (Ethernet NICs) دارای چندین صف برای دریافت و ارسال باشند، که هرکدام IRQ خود را دارند، IRQهای اترنت میتوانند به یک سوکت CPU متصل شوند:
- tuna isolate -S 2
- tuna spread -q 'eth*' -S 2
-
انتقال همه موارد از CPUهای موجود در سوکت ۲ به جای دیگر، سپس پخش کردن IRQهای دستگاههای اترنت در میان همان پردازندهها.
مثالهای Cpuset (Cpuset Examples)
ایجاد یک cpuset ایزوله برای بارهای کاری بیدرنگ (real-time):
- tuna cpuset create -c 2-5 -n rt_workload -i
-
ایجاد یک cpuset با نام 'rt_workload' همراه با پردازندههای ۲ تا ۵، تنظیمشده روی پارتیشن ایزوله. گرههای حافظه به طور خودکار از روی توپولوژی پردازنده تشخیص داده میشوند.
- tuna run --cpuset rt_workload -p FIFO:80 'my_rt_app'
-
اجرای یک برنامه بیدرنگ در cpuset به نام rt_workload با زمانبند FIFO و اولویت ۸۰.
- ایزولهسازی پردازندهها با استفاده از cpusetها (قدرتمندتر از وابستگی سنتی):
- tuna isolate -c 4-7 --cpuset my_isolated --cpuset-housekeeping my_hk 0-3
-
ایزولهسازی پردازندههای ۴ تا ۷ با ایجاد cpuset به نام 'my_isolated' همراه با انحصار اعمالشده توسط هسته (partition=isolated)، و انتقال تمامی پردازشهای موجود به cpuset به نام 'my_hk' روی پردازندههای ۰ تا ۳ (partition=member).
- tuna move --cpuset rt_workload -t 'kworker/*'
-
انتقال تمام ریسههای kworker به cpuset با نام rt_workload.
- tuna show_threads --cpuset rt_workload
-
نمایش تنها پردازشهای در حال اجرا در cpuset با نام rt_workload.
- tuna cpuset modify rt_workload --add-cpus 6-7
-
افزودن پردازندههای ۶ و ۷ به cpuset با نام rt_workload بدون ایجاد اختلال در پردازشهای در حال اجرا.
- tuna cpuset status
-
نمایش نمای کلی در سطح سیستم از تمام cpusetها همراه با آمار.
- tuna cpuset save /etc/tuna/my-rt-config.yaml
-
ذخیره پیکربندی فعلی cpuset در یک نمایه YAML. هنگام اجرای نسخه نصبشده (tuna)، مسیر پیشفرض /etc/tuna/cpuset-profile.yaml است. هنگام اجرا از محیط توسعه (tuna-cmd.py)، پیشفرض ./cpuset-profile.yaml در پوشه جاری خواهد بود.
- tuna cpuset apply /etc/tuna/my-rt-config.yaml
-
اعمال پیکربندی ذخیرهشده قبلی cpuset از نمایه YAML. این دستور تمام cpusetهای تعریفشده در نمایه را همراه با تخصیصهای CPU، گرههای حافظه و تنظیمات پارتیشن از نو ایجاد میکند.
| July 2026 | tuna |