File: cpuplugd.conf

package info (click to toggle)
s390-tools 2.40.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,288 kB
  • sloc: ansic: 187,079; sh: 12,157; cpp: 5,049; makefile: 2,812; perl: 2,541; asm: 1,097; python: 697; xml: 29
file content (166 lines) | stat: -rw-r--r-- 5,561 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#
# Exemplary configuration file for the Linux on System z CPU and memory hotplug
# daemon
#
# The file is evaluated by cpuplugd at startup when called with -c.
# It does not contain shell environment variables.

## Type:	integer
## Default:	1
#
# The minimum number of CPUs must be > 0.
#
CPU_MIN="1"

## Type:	integer
## Default:	0
#
# The maximum number of CPUs to be enabled. If 0 is specified here,
# the maximum number of CPUs equals the number of CPUs detected.
#
CPU_MAX="0"

## Type:	integer
## Default:	5
#
# The update interval described how often the current system state
# is checked against the configured set of hotplug and hotunplug rules.
# The update interval is defined in seconds.
#
UPDATE="1"

## Type:	integer
## Default:	0
#
# The minimum size of the static page pool (in 4K pages)
#
CMM_MIN="0"

## Type:	integer
## Default:	131072
#
# The maximum size of the static page pool (in 4K pages)
#
# Recommended setting is system size minus 256 MB
CMM_MAX="131072"	# 512 MB

#
# Variables
#
# User-defined variables are case-sensitive and must not match a pre-defined
# variable or keyword. In the configuration file, definitions
# for user-defined variables must precede their use in expressions.
# Variable names consist of alphanumeric characters (a-z,A-Z,0-9) and
# the "_" character. The maximum name length for a variable is 128 characters,
# and the maximum total size for user-defined variables (names + values) is 4096
# characters.
#
pgscan_d="vmstat.pgscan_direct_dma[0] + vmstat.pgscan_direct_normal[0] + vmstat.pgscan_direct_movable[0]"
pgscan_d1="vmstat.pgscan_direct_dma[1] + vmstat.pgscan_direct_normal[1] + vmstat.pgscan_direct_movable[1]"
# page scan rate in pages / timer tick
pgscanrate="(pgscan_d - pgscan_d1) / (cpustat.total_ticks[0] - cpustat.total_ticks[1])"
# cache usage in kilobytes
avail_cache="meminfo.Cached - meminfo.Shmem"

user_0="(cpustat.user[0] - cpustat.user[1])"
nice_0="(cpustat.nice[0] - cpustat.nice[1])"
system_0="(cpustat.system[0] - cpustat.system[1])"
user_2="(cpustat.user[2] - cpustat.user[3])"
nice_2="(cpustat.nice[2] - cpustat.nice[3])"
system_2="(cpustat.system[2] - cpustat.system[3])"
CP_Active0="(user_0 + nice_0 + system_0) / (cpustat.total_ticks[0] - cpustat.total_ticks[1])"
CP_Active2="(user_2 + nice_2 + system_2) / (cpustat.total_ticks[2] - cpustat.total_ticks[3])"

CP_ActiveAVG="(CP_Active0+CP_Active2) / 2"
idle_0="(cpustat.idle[0] - cpustat.idle[1])"
iowait_0="(cpustat.iowait[0] - cpustat.iowait[1])"
idle_2="(cpustat.idle[2] - cpustat.idle[3])"
iowait_2="(cpustat.iowait[2] - cpustat.iowait[3])"
CP_idle0="(idle_0 + iowait_0) / (cpustat.total_ticks[0] - cpustat.total_ticks[1])"
CP_idle2="(idle_2 + iowait_2) / (cpustat.total_ticks[2] - cpustat.total_ticks[3])"
CP_idleAVG="(CP_idle0 + CP_idle2) / 2"

## Type:	string
## Default:	"(meminfo.MemFree + cache) / 40"
#
# The amount of pages the static page pool
# is increased if a memunplug rule is matched.
#
# cmm_inc: 10% of free memory, in 4K pages
CMM_INC="meminfo.MemFree / 40"

## Type:	string
## Default:	"meminfo.MemTotal / 40"
#
# The amount of pages the static page pool
# is decreased if a memplug rule is matched.
#
# cmm_dec: 10% of total memory, in 4K pages
CMM_DEC="meminfo.MemTotal / 40"

#
# Ruledefinitions
#
# Four kinds of rules are distinguished
#   (1) hotplug rules, used to enable CPUs
#   (2) hotunplug rules, to disable CPUs
#   (3) memplug rules, used to increase memory (decrease cmm balloon)
#   (4) memunplug rules, used to decrease memory (increase cmm balloon)
#
# Within the hotplug/hotunplug rule definitions the following variables
# can be used:
#   - loadavg:		the current loadaverage
#   - onumcpus:		the current number of CPUs which are online
#   - runnable_proc:	the current amount of runnable processes
#   - user:		the current user percentage
#   - nice:		the current nice percentage
#   - system:		the current system percentage
#   - idle:		the current idle percentage
#   - iowait:		the current iowait percentage
#   - irq:		the current irq percentage
#   - softirq:		the current softirq percentage
#   - steal:		the current steal percentage
#   - guest:		the current guest percentage
#   - guest_nice:	the current guest_nice percentage
#   - cpustat.<name>:	data from /proc/stat and /proc/loadavg
#   - time:		floating point timestamp in "seconds.microseconds"
#			since the Unix Epoch (1970-01-01 00:00:00 +0000 (UTC))
#
## Type:	string
## Default:	"(loadavg > onumcpus + 0.75) & (idle < 10.0)"
#
HOTPLUG="((1 - CP_ActiveAVG) * onumcpus) < 0.08"

## Type:	string
## Default:	"(loadavg < onumcpus - 0.25) | (idle > 50)"
#
HOTUNPLUG="(CP_idleAVG * onumcpus) > 1.15"

#
# Memplug and memunplug can contain the following keywords:
#   - apcr:		the amount of page cache operations,
#			i.e. pgpin + pgpout from /proc/vmstat
#			(in 512 byte blocks / second)
#   - freemem:		the amount of free memory (in megabytes)
#   - swaprate:		the number of swap operations, i.e. pswpin + pswpout
#			from /proc/vmstat (in pages / second)
#   - meminfo.<name>:	any value from /proc/meminfo
#   - vmstat.<name>:	any value from /proc/vmstat
#   - time:		floating point timestamp in "seconds.microseconds"
#			since the Unix Epoch (1970-01-01 00:00:00 +0000 (UTC))
#
# This function is disabled by default, because this rule has to be
# adjusted for each production system, depending on the environment.
#
## Type:	string
## Default:	"0"
#
#MEMPLUG="pgscanrate > 20"
MEMPLUG="0"

## Type:	string
## Default:	"0"
#
#MEMUNPLUG="(meminfo.MemFree + avail_cache) > (meminfo.MemTotal / 10)"
MEMUNPLUG="0"