1STALLD(8)                   System Manager's Manual                  STALLD(8)
2
3
4

NAME

6       stalld - detect starving threads and boost them
7

SYNOPSIS

9       stalld  [  -l  ] [ -v ] [ -k ] [ -s ] [ -f ] [ -h ] [ -c cpu-list] [ -p
10       time-in-ns ] [ -r time-in-ns ] [ -d time-in-sec ] [ -t time-in-sec ]  [
11       -i regexes-of-thread-names ] [ -I regexes-of-process-names ]
12
13

DESCRIPTION

15       stalld  is a system daemon that monitors thread for the starvation con‐
16       dition.  Starvation occurs when a thread sits on a  cpu  run-queue  for
17       longer  than  the starvation-threshold, meaning the thread has not been
18       allowed to run for threshold seconds. The thread is boosted  using  the
19       SCHED_DEADLINE policy and given a time period to run. Once it uses this
20       boost period, the thread is returned to its original scheduling policy.
21
22

OPTIONS

24       -t|--starving_threshold
25              how long (in seconds) a thread must starve before being  boosted
26              [60 s]
27
28       -p|--boost_period
29              SCHED_DEADLINE  period  in  nanoseconds  for  a  starving thread
30              [1000000000 ns]
31
32       -r|--boost_runtime
33              SCHED_DEADLINE runtime in  nanoseconds  for  a  starving  thread
34              [20000 ns]
35
36       -d|--boost_duration
37              duration in seconds the starving thread will run [ 3 s]
38
39       -F|--force_fifo
40              force using SCHED_FIFO for boosting
41
42       -l|--log_only
43              only log information, do no boosting [false]
44
45       -v|--verbose
46              print action informtion to stdout [false]
47
48       -k|--log_kmsg
49              log information to the kernel buffer [false]
50
51       -s|--log_syslog
52              print information to syslog [true]
53
54       -f|--foreground
55              run in the foreground [false (true with -v)]
56
57       -P|--pidfile
58              write dameon pid to specified file [none]
59
60       -A|--aggressive_mode
61              dispatch  one  thread  per  cpu  run-queue,  even if thre are no
62              starving threads (uses more power).  [false]
63
64       -O|--power_mode
65              run as a single threaded program, it consumes less CPU,  at  the
66              price of less precision/granularity.  [false]
67
68       -M|--adaptive_mode
69              when  a  CPU  shows  threads  starving for more than half of the
70              starving_threshold time, dispatch a specialized thread to  moni‐
71              tor it.  [false]
72
73       -g|--granularity
74              set  the  granularity  (in  seconds)  at which stalld checks for
75              starving threads. The lower the value the more precise  will  be
76              the detection, at the price of consuming more CPU time.  [5 sec‐
77              onds]
78
79       -i|--ignore_threads
80              regexes (comma-separated) of thread names that must  be  ignored
81              from being boosted
82
83       -I|--ignore_processes
84              regexes  (comma-separated) of process names that must be ignored
85              from being boosted
86
87       -h|--help
88              print options
89

FILES

91       /etc/systemd/stalld.conf
92                           parameter file for systemd startup
93       /usr/lib/systemd/system/stalld.service
94                           systemd unit file
95       /usr/bin/stalld     stalld executable

BUGS

97       none

AUTHOR

99       Daniel   Bristot   de   Oliveira   (bristot@redhat.com)   Juri    Lelli
100       (juri.lelli@redhat.com)
101
102
103
104                                                                     STALLD(8)
Impressum