"Fossies" - the Fresh Open Source Software Archive

Member "stress-ng-0.09.56/example-jobs/scheduler.job" (15 Mar 2019, 13589 Bytes) of package /linux/privat/stress-ng-0.09.56.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 #
    2 # scheduler class stressors:
    3 #   various options have been commented out, one can remove the
    4 #   proceeding comment to enable these options if required.
    5 
    6 #
    7 # run the following tests in parallel or sequentially
    8 #
    9 run sequential
   10 # run parallel
   11 
   12 #
   13 # aggressive:
   14 #   enables more file, cache and memory aggressive options. This may
   15 #   slow tests down, increase latencies and  reduce  the  number  of
   16 #   bogo  ops as well as changing the balance of user time vs system
   17 #   time used depending on the type of stressor being used.
   18 #
   19 # aggressive
   20 
   21 #
   22 # ignite-cpu:
   23 #   alter kernel controls to try and maximize the CPU. This requires
   24 #   root  privilege  to alter various /sys interface controls.  Cur‐
   25 #   rently this only works for Intel P-State enabled x86 systems  on
   26 #   Linux.
   27 #
   28 # ignite-cpu
   29 
   30 #
   31 # keep-name:
   32 #   by  default,  stress-ng  will  attempt to change the name of the
   33 #   stress processes according to their functionality;  this  option
   34 #   disables  this and keeps the process names to be the name of the
   35 #   parent process, that is, stress-ng.
   36 #
   37 # keep-name
   38 
   39 #
   40 # metrics-brief:
   41 #   enable metrics and only output metrics that are non-zero.
   42 #
   43 metrics-brief
   44 
   45 #
   46 # verbose
   47 #   show all debug, warnings and normal information output.
   48 #
   49 verbose
   50 
   51 #
   52 # run each of the tests for 60 seconds
   53 #  stop stress test after N seconds. One can also specify the units
   54 #  of time in seconds, minutes, hours, days or years with the  suf‐
   55 #  fix s, m, h, d or y.
   56 #
   57 timeout 60s
   58 
   59 #
   60 # per stressor options start here
   61 #
   62 
   63 #
   64 # affinity stressor options:
   65 #   start  N  workers  that  rapidly  change  CPU  affinity (only on
   66 #   Linux). Rapidly switching CPU affinity can  contribute  to  poor
   67 #   cache behaviour.
   68 #
   69 affinity 0		# 0 means 1 stressor per CPU
   70 # affinity-ops 1000000	# stop after 1000000 bogo ops
   71 affinity-rand		# switch affinity randomly
   72 
   73 #
   74 # clone stressor options:
   75 #   start N workers that create  clones  (via  the  clone(2)  system
   76 #   call).  This will rapidly try to create a default of 8192 clones
   77 #   that immediately die and wait in a zombie state until  they  are
   78 #   reaped.   Once the maximum number of clones is reached (or clone
   79 #   fails because one has reached the maximum  allowed)  the  oldest
   80 #   clone  thread  is  reaped  and  a new clone is then created in a
   81 #   first-in first-out manner, and then repeated.   A  random  clone
   82 #   flag  is  selected  for  each clone to try to exercise different
   83 #   clone operarions.  The clone stressor is a Linux only option.
   84 #
   85 clone 0			# 0 means 1 stressor per CPU
   86 # clone-ops 1000000	# stop after 1000000 bogo ops
   87 # clone-max 8192	# create a total of 8192 clones
   88 
   89 #
   90 # daemon stressor options:
   91 #   start  N workers that each create a daemon that dies immediately
   92 #   after creating another daemon and so on. This effectively  works
   93 #   through the process table with short lived processes that do not
   94 #   have a parent and are waited for by init.  This puts pressure on
   95 #   init  to  do  rapid child reaping.  The daemon processes perform
   96 #   the usual mix of calls to turn into  typical  UNIX  daemons,  so
   97 #   this artificially mimics very heavy daemon system stress.
   98 #
   99 daemon 0		# 0 means 1 stressor per CPU
  100 # daemon-ops 1000000	# stop after 1000000 bogo ops
  101 
  102 #
  103 # dnotify stressor options:
  104 #   start N workers performing file system activities such  as  mak‐
  105 #   ing/deleting  files/directories,  renaming files, etc. to stress
  106 #   exercise the various dnotify events (Linux only).
  107 #
  108 dnotify 0		# 0 means 1 stressor per CPU
  109 # dnotify-ops 1000000	# stop after 1000000 bogo ops
  110 
  111 #
  112 # eventfd stressor options:
  113 #   start  N parent and child worker processes that read and write 8
  114 #   byte event messages  between  them  via  the  eventfd  mechanism
  115 #   (Linux only).
  116 #
  117 eventfd 0		# 0 means 1 stressor per CPU
  118 # eventfd-ops 1000000	# stop after 1000000 bogo ops
  119 
  120 #
  121 # exec stressor options:
  122 #   start N workers continually forking children that exec stress-ng
  123 #   and then exit almost immediately.
  124 #
  125 exec 0			# 0 means 1 stressor per CPU
  126 # exec-ops 1000000	# stop after 1000000 bogo ops
  127 # exec-max 1		# maximum number of fork/execs per stressor
  128 			# per iteration
  129 
  130 #
  131 # fanotify stressor options:
  132 #   start N workers performing file system activities such as creat‐
  133 #   ing, opening, writing, reading and unlinking files  to  exercise
  134 #   the  fanotify  event  monitoring  interface  (Linux only).  Each
  135 #   stressor runs a child process to generate file events and a par‐
  136 #   ent process to read file events using fanotify.
  137 #
  138 fanotify 0		# 0 means 1 stressor per CPU
  139 # fanotify-ops 1000000	# stop after 1000000 bogo ops
  140 
  141 #
  142 # fault stressor options:
  143 #   start N workers that generates minor and major page faults.
  144 #
  145 fault 0			# 0 means 1 stressor per CPU
  146 # fault-ops 1000000	# stop after 1000000 bogo ops
  147 
  148 #
  149 # fifo stressor options:
  150 #   start  N  workers  that exercise a named pipe by transmitting 64
  151 #   bit integers.
  152 #
  153 fifo 0			# 0 means 1 stressor per CPU
  154 # fifo-ops 1000000	# stop after 1000000 bogo ops
  155 # fifo-readers 8	# create 8 fifo readers per stressor
  156 
  157 #
  158 # fork stressor options:
  159 #   start  N  workers  continually forking children that immediately
  160 #   exit.
  161 #
  162 fork 0			# 0 means 1 stressor per CPU
  163 # fork-ops 1000000	# stop after 1000000 bogo ops
  164 # fork-max 2		# create 2 child processes per iteration
  165 
  166 #
  167 # futex stressor options:
  168 #   start  N  workers  that  rapidly exercise the futex system call.
  169 #   Each worker has two processes, a futex waiter and a futex waker.
  170 #   The waiter waits with a very small timeout to stress the timeout
  171 #   and rapid polled futex waiting. This is a Linux specific  stress
  172 #   option.
  173 #
  174 futex 0			# 0 means 1 stressor per CPU
  175 # futex-ops 1000000	# stop after 1000000 bogo ops
  176 
  177 #
  178 # inotify stressor options:
  179 #   start N workers performing file system activities such  as  mak‐
  180 #   ing/deleting  files/directories,  moving  files,  etc. to stress
  181 #   exercise the various inotify events (Linux only).
  182 #
  183 inotify 0		# 0 means 1 stressor per CPU
  184 # inotify-ops 1000000	# stop after 1000000 bogo ops
  185 
  186 #
  187 # kill stressor options:
  188 #   start N workers sending SIGUSR1 kill signals to a SIG_IGN signal
  189 #   handler. Most of the process time will end up in kernel space.
  190 #
  191 kill 0			# 0 means 1 stressor per CPU
  192 # kill-ops 1000000	# stop after 1000000 bogo ops
  193 
  194 #
  195 # mmapfork stressor options:
  196 #   start  N  workers that each fork off 32 child processes, each of
  197 #   which tries to allocate some of the free memory left in the sys‐
  198 #   tem  (and  trying  to  avoid any swapping).  The child processes
  199 #   then hint that the allocation will be needed with madvise(2) and
  200 #   then memset it to zero and hint that it is no longer needed with
  201 #   madvise before exiting.  This produces significant amounts of VM
  202 #   activity, a lot of cache misses and with minimal swapping.
  203 #
  204 mmapfork 0		# 0 means 1 stressor per CPU
  205 # mmapfork-ops 1000000	# stop after 1000000 bogo ops
  206 
  207 #
  208 # mq stressor options:
  209 #   start N sender and receiver processes that continually send  and
  210 #   receive messages using POSIX message queues. (Linux only)
  211 #
  212 mq 0			# 0 means 1 stressor per CPU
  213 # mq-ops 1000000	# stop after 1000000 bogo ops
  214 # mq-size 10		# 10 messages in message queue
  215 
  216 #
  217 # msg stressor options:
  218 #   start  N sender and receiver processes that continually send and
  219 #   receive messages using System V message IPC.
  220 #
  221 msg 0			# 0 means 1 stressor per CPU
  222 # msg-ops 1000000	# stop after 1000000 bogo ops
  223 
  224 #
  225 # netlink-proc stressor options:
  226 #   start   N   workers  that  spawn  child  processes  and  monitor
  227 #   fork/exec/exit process events via the  proc  netlink  connector.
  228 #   Each  event  received is counted as a bogo op. This stressor can
  229 #   only be run on Linux and with root privilege.
  230 #
  231 netlink-proc 0		# 0 means 1 stressor per CPU
  232 # netlink-proc-ops 1000000 # stop after 1000000 bogo ops
  233 
  234 #
  235 # nice stressor options:
  236 #   start N cpu consuming workers that exercise the  available  nice
  237 #   levels.  Each  iteration  forks  off  a  child process that runs
  238 #   through the all the nice levels running a busy loop for 0.1 sec‐
  239 #   onds per level and then exits.
  240 #
  241 nice  0			# 0 means 1 stressor per CPU
  242 # nice-ops 1000000	# stop after 1000000 bogo ops
  243 
  244 #
  245 # poll stressor options:
  246 #   start  N  workers  that  perform  zero  timeout  polling via the
  247 #   poll(2), select(2) and sleep(3) calls. This  wastes  system  and
  248 #   user time doing nothing.
  249 #
  250 poll 0			# 0 means 1 stressor per CPU
  251 # poll-ops 1000000	# stop after 1000000 bogo ops
  252 
  253 #
  254 # pthread stressor options:
  255 #   start N workers that iteratively creates and terminates multiple
  256 #   pthreads  (the  default  is  1024  pthreads per worker). In each
  257 #   iteration, each newly created pthread waits until the worker has
  258 #   created all the pthreads and then they all terminate together.
  259 #
  260 pthread 0		# 0 means 1 stressor per CPU
  261 # pthread-ops 1000000	# stop after 1000000 bogo ops
  262 # pthread-max 1024	# create 1024 pthreads per stressor
  263 
  264 #
  265 # schedpolicy stressor options:
  266 #   start N workers that work set the worker  to  various  available
  267 #   scheduling policies out of SCHED_OTHER, SCHED_BATCH, SCHED_IDLE,
  268 #   SCHED_FIFO and SCHED_RR.  For the real time scheduling  policies
  269 #   a random sched priority is selected between the minimum and max‐
  270 #   imum scheduling prority settings.
  271 #
  272 schedpolicy 0		# 0 means 1 stressor per CPU
  273 # schedpolicy-ops 1000000 # stop after 1000000 bogo ops
  274 
  275 #
  276 # sem stressor options:
  277 #   start N workers that perform POSIX semaphore wait and post oper‐
  278 #   ations. By default, a parent and  4  children  are  started  per
  279 #   worker  to  provide  some  contention  on  the  semaphore.  This
  280 #   stresses fast semaphore operations and  produces  rapid  context
  281 #   switching.
  282 #
  283 sem 0			# 0 means 1 stressor per CPU
  284 # sem-ops 1000000	# stop after 1000000 bogo ops
  285 # sem-procs 4		# start 4 processes per stressor exercising
  286 			# the semaphore
  287 #
  288 # sem-sysv stressor options:
  289 #   start N workers that perform System V semaphore  wait  and  post
  290 #   operations.  By default, a parent and 4 children are started per
  291 #   worker  to  provide  some  contention  on  the  semaphore.  This
  292 #   stresses  fast  semaphore  operations and produces rapid context
  293 #   switching.
  294 #
  295 sem-sysv  0		# 0 means 1 stressor per CPU
  296 # sem-sysv-ops 1000000	# stop after 1000000 bogo ops
  297 # sem-sysv-procs 4	# start 4 processes per stressor exercising
  298 
  299 #
  300 # sleep stressor options:
  301 #   start  N  workers that spawn off multiple threads that each per‐
  302 #   form multiple sleeps of ranges 1us to 0.1s.  This creates multi‐
  303 #   ple context switches and timer interrupts.
  304 #
  305 sleep 0			# 0 means 1 stressor per CPU
  306 # sleep-ops 1000000	# stop after 1000000 bogo ops
  307 # sleep-max 1024	# start 1034 threads per stressor
  308 
  309 #
  310 # spawn stressor options:
  311 #   start N workers continually spawn children using  posix_spawn(3)
  312 #   that  exec stress-ng and then exit almost immediately. Currently
  313 #   Linux only.
  314 #
  315 spawn 0			# 0 means 1 stressor per CPU
  316 # spawn-ops 1000000	# stop after 1000000 bogo ops
  317 
  318 #
  319 # switch stressor options:
  320 #   start N workers that send messages via pipe to a child to  force
  321 #   context switching.
  322 #
  323 switch 0		# 0 means 1 stressor per CPU
  324 # switch-ops 1000000	# stop after 1000000 bogo ops
  325 
  326 #
  327 # tee stressor options:
  328 #   move  data  from  a  writer  process to a reader process through
  329 #   pipes and  to  /dev/null  without  any  copying  between  kernel
  330 #   address  space and user address space using tee(2). This is only
  331 #   available for Linux.
  332 #
  333 tee 0			# 0 means 1 stressor per CPU
  334 # tee-ops 1000000	# stop after 1000000 bogo ops
  335 
  336 #
  337 # vfork stressor options:
  338 #   start N workers continually vforking children  that  immediately
  339 #   exit.
  340 vfork 0			# 0 means 1 stressor per CPU
  341 # vfork-ops 1000000	# stop after 1000000 bogo ops
  342 # vfork-max 8		# create 8 processes per vfork iteration
  343 
  344 #
  345 # vforkmany stressor options:
  346 #   start  N  workers that spawn off a chain of vfork children until
  347 #   the process table  fills  up  and/or  vfork  fails.   vfork  can
  348 #   rapidly  create  child  processes  and the parent process has to
  349 #   wait until the child dies, so this stressor rapidly fills up the
  350 #   process table.
  351 #
  352 vforkmany 0		# 0 means 1 stressor per CPU
  353 # vforkmany-ops 1000000	# stop after 1000000 bogo ops
  354 
  355 #
  356 # wait stressor options:
  357 #   start N workers that spawn off two  children;  one  spins  in  a
  358 #   pause(2)  loop,  the  other  continually stops and continues the
  359 #   first. The controlling process waits on the first  child  to  be
  360 #   resumed   by  the  delivery  of  SIGCONT  using  waitpid(2)  and
  361 #   waitid(2).
  362 #
  363 wait 0			# 0 means 1 stressor per CPU
  364 # wait-ops 1000000	# stop after 1000000 bogo ops
  365 
  366 #
  367 # yield stressor options:
  368 #   start N workers that call sched_yield(2). This stressor  ensures
  369 #   that at least 2 child processes per CPU exercice shield_yield(2)
  370 #   no matter how many workers are specified, thus  always  ensuring
  371 #   rapid context switching.
  372 #
  373 yield 0			# 0 means 1 stressor per CPU
  374 # yield-ops 1000000	# stop after 1000000 bogo ops
  375 
  376 #
  377 # zombie stressor options:
  378 #   start  N workers that create zombie processes. This will rapidly
  379 #   try to create a default of 8192 child processes that immediately
  380 #   die  and wait in a zombie state until they are reaped.  Once the
  381 #   maximum number of processes is reached (or  fork  fails  because
  382 #   one has reached the maximum allowed number of children) the old‐
  383 #   est child is reaped and a new  process  is  then  created  in  a
  384 #   first-in first-out manner, and then repeated.
  385 #
  386 zombie 0		# 0 means 1 stressor per CPU
  387 # zombie-ops 1000000	# stop after 1000000 bogo ops
  388 # zombie-max 8192	# create 8192 processes per zombie iteration