1TUNA(8)                 System Administration Utilities                TUNA(8)
2
3
4

NAME

6       tuna - program for tuning running processes
7

SYNOPSIS

9       tuna [OPTIONS]
10

DESCRIPTION

12       This  manual page explains the tuna program. The program can be used to
13       change the attributes of application and kernel threads. tuna can oper‐
14       ate  on  IRQs  by name or number, and tasks or threads by process ID or
15       command-line. CPUs and sets of CPUs can be specified by CPU  or  socket
16       number. IRQ names and process command-lines can include wildcards.
17
18       tuna  can  change  scheduling  policy, scheduler priority and processor
19       affinity for processes and process threads. tuna can  also  change  the
20       processor  affinity  for  interrupts.  When tuna is invoked without any
21       options it starts up in its graphical interface mode. This manual  page
22       explains only the command-line options for tuna
23

OPTIONS

25       tuna  has  both  action  options and modifier options. Modifier options
26       must be specified on the  command-line  before  the  actions  they  are
27       intended to modify. Any modifier option applies to following actions on
28       the same command-line until it is over-ridden.
29
30       Actions
31
32       -h, --help
33              Print a list of options.  tuna  will  exit  after  this  action,
34              ignoring the remainder of the command-line.
35
36       -g, --gui
37              Start the GUI. Actions that follow this on the command-line will
38              be processed without waiting for the GUI to complete.
39
40       -a, --config_file_apply=profilename
41              Apply changes described in profile
42
43       -l, --config_file_list
44              List preloaded profiles
45
46       -i, --isolate
47              Move all threads away from CPU-LIST. Requires -c or -S.
48
49       -I, --include
50              Allow all threads to run on CPU-LIST. Requires -c or -S.
51
52       -m, --move
53              Move selected entities to CPU-LIST. Requires -c and either -t or
54              -q.
55
56       -p, --priority=[POLICY:]RTPRIO
57              Set  thread scheduler tunables: POLICY and RTPRIO. POLICY is one
58              of OTHER, FIFO, RR, or BATCH. If -t is not set, -p will act as a
59              Modifier saving the sched tunables for future Actions, for exam‐
60              ple -r.
61
62       -P, --show_threads
63              Show thread list.
64
65       -s, --save=FILENAME
66              Save kthreads sched tunables to FILENAME.
67
68       -r, --run="COMMAND"
69              Run the COMMAND. If arguments are  passed,  the  entire  command
70              line  must  be provided inside "quotes". Modifiers -c and -p can
71              be used to set the affinity and scheduler tunables of the  given
72              COMMAND.   The   arg[0]  (i.e.  the  command)  will  be  set  in
73              THREAD-LIST. Likewise the -t, the COMMAND accepts the  prefix  +
74              and  -  as  wildcards  in  order  to be appended or removed from
75              THREAD-LIST, respectively.
76
77       -v, --version
78              Show version
79
80       -W, --what_is
81              Provides help about selected entities. Requires -t.
82
83       -x, --spread
84              Spread selected entities over CPU-LIST. Requires at least one of
85              -t  or  -q.  The specified threads and IRQs are each assigned to
86              one cpu in CPU-LIST.
87
88       Modifiers
89
90       -c, --cpus=CPU-LIST
91              CPU-LIST affected by commands. Requires a CPU number or a comma-
92              separated list of CPU numbers.
93
94       -C, --affect_children
95              Operation will affect children threads.
96
97       -f, --filter
98              Disable display of selected CPUs in --gui. Requires -c
99
100       -G, --cgroup
101              Display  the  processes  with  the  type of cgroups they are in.
102              Requires -P
103
104       -K, --no_kthreads
105              Operations will not affect kernel threads.
106
107       -q, --irqs=IRQ-LIST
108              IRQ-LIST affected by commands.  Requires  an  IRQ  number  or  a
109              comma-separated list of IRQ numbers.
110
111       -S, --sockets=CPU-SOCKET-LIST
112              CPU-SOCKET-LIST  affected  by commands. Requires a socket number
113              or a comma-separated list of socket numbers.
114
115       -t, --threads=THREAD-LIST
116              THREAD-LIST affected by commands. Requires a  thread  number  or
117              thread  name, or a comma-separated list of thread numbers and/or
118              names. Thread names may contain wildcards. Be sure to  quote  or
119              escape any wildcard specifications. If only - is passed as argu‐
120              ment, the THREAD-LIST will be cleared.
121
122       -U, --no_uthreads
123              Operations will not affect user threads.
124

USAGE EXAMPLES

126       If for instance the Ethernet NICs have multiple queues for both receive
127       and  transmit,  each with its own IRQ, the Ethernet IRQs can be associ‐
128       ated with a CPU socket:
129
130       tuna -S 2 -i -q 'eth*' -x
131
132              Move everything off the CPUs in socket 2, then spread  the  IRQs
133              for the Ethernet devices across those same CPUs.
134
135
136
137tuna                             February 2010                         TUNA(8)
Impressum