1STALLD(8) System Manager's Manual STALLD(8)
2
3
4
6 stalld - detect starving threads and boost them
7
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
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
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 -g|--granularity
69 set the granularity (in seconds) at which stalld checks for
70 starving threads. The lower the value the more precise will be
71 the detection, at the price of consuming more CPU time. [5 sec‐
72 onds]
73
74 +.B -i|--ignore_threads
75 +regexes (comma-separated) of thread names that must be ignored
76 from +being boosted +.TP +.B -I|--ignore_processes +regexes
77 (comma-separated) of process names that must be ignored from
78 +being boosted +.TP -h|--help print options
79
81 /etc/systemd/stalld.conf
82 parameter file for systemd startup
83 /usr/lib/systemd/system/stalld.service
84 systemd unit file
85 /usr/bin/stalld stalld executable
87 none
89 Daniel Bristot de Oliveira (bristot@redhat.com) Juri Lelli
90 (juri.lelli@redhat.com)
91
92
93
94 STALLD(8)