A.2. Tuna

Tuna 使您能夠控制處理器和排程親和性(scheduling affinity)。此章節涵蓋命令列,但提供有著相同範圍功能的圖形化介面。欲啟動圖形化公用程式,請在命令列中執行 tuna
Tuna 接受若干依順序處理的命令列參數。以下命令橫跨一個四通訊端系統分配負載。
tuna --socket 0 --isolate \
   --thread my_real_time_app --move \
   --irq serial --socket 1 --move \
   --irq eth* --socket 2 --spread \
   --show_threads --show_irqs
--gui
--gui 啟動圖形化使用者介面。
--cpus
--cpus 使用逗號分隔列表,列出由 Tuna 控制的 CPU。至有指定的新列表為止,此列表維持有效。
--config_file_apply
--config_file_apply 使用一個設定檔名,以於系統中應用。
--config_file_list
--config_file_list 列出負載前設定檔。
--cgroup
--cgroup 與 --show_threads 一起使用。若控制群組已啟用,顯示處理屬於 --show_threads 控制群組的類別。
--affect_children
指定 --affect_children 時,Tuna 會影響子執行續與母執行緒。
--filter
--filter 篩選顯示僅受影響的實體。
--isolate
執行 --isolate 時,請使用逗號分隔列表,列出 CPU。Tuna 會把所有指定 CPU 上的所有執行緒轉移至其他地方。
--include
--include 使用逗號分隔列表,列出 CPU。Tuna 使所有執行緒能夠運行於特定 CPU。
--no_kthreads
有特定參數時,Tuna 並不影響 kernel 執行緒。
--move
--move 移動選定實體至特定 CPU。
--priority
指定排程器原則和執行序的優先順序。有效排程器原則為 OTHERFIFORRBATCH,或 IDLE
當優先順序為 FIFORR,有效優先順序值則為最低指數 1 至最高指數 99 。預設值為 1。舉例來說,tuna --threads 7861 --priority=RR:40 設定 RR 優先順序(循環配置資源)與執行緒 786140 優先順序)。
當原則為 OTHERBATCHIDLE,唯一有效優先值則為亦是預設值的 0
--show_threads
--show_threads 顯示執行緒列表。
--show_irqs
--show_irqs 顯示 IRQ 列表。
--irqs
--irqs 使用逗號分隔列表,列出影響 IRQ 的 Tuna 。此列表將維持有效,直至有新的指定列表。 使用+,IRQ 能夠新增至列表,而使用-能夠將 IRQ 從列表中移除。
--save
--save 保存 kernel 執行緒排程於指定檔案。
--sockets
--sockets 使用逗號分隔列表,列出由 Tuna 控制的 CPU 插槽。此選項將系統拓樸納入考量,比方:共享單一 cache 處理器的核心,與在同一實體晶片的核心。
--threads
--threads 使用逗號分隔列表,列出由 Tuna 控制的執行緒。此列表維持有效,直至有新的指定列表為止。透過使用 +,可新增執行緒至列表,而使用 - 則能將其從列表移除。
--no_uthreads
--no_uthreads 避免運作被使用者執行緒影響。
--what_is
--what_is 查看選定實體上的進一步協助。
--spread
--spread 在 --cpus 指定 CPU 之間,平均分配 --threads 指定執行緒。