vovmemtime

vovmemtime is a utility to create simulated workloads. When this program runs, it occupies a specified amount of memory and creates high CPU utilization for the requested amount of time, to simulate the activity of real design programs running.

Usage

Usage: vovmemtime mem_inMB  time_in_seconds  recursion_level

Options:
  mem        memory to allocate for each instance of vovmemtime (Megabytes)
  time       number of seconds to run
  recursion  depth of self-recursion (0..5)

When the third argument is greater than 0, vovmemtime recursively starts instances of itself with the same memory and duration parameters. This is normally used in testing, to verify that the memory used by child processes is correctly tracked.

The CPU load is generated by a tight loop over the allocated memory, and does not include any I/O.

Examples

This shows an example of vovmemtime output, run on Windows.
vnc@comet [DEFAULT] X:\>vovmemtime 10 10 3
PID=781       Allocated 10 MB
PID=781       Executing 'vovmemtime 10 10 2'

 PID=722      Allocated 10 MB
 PID=722      Executing 'vovmemtime 10 10 1'

  PID=786     Allocated 10 MB
  PID=786     Executing 'vovmemtime 10 10 0'

   PID=699    Allocated 10 MB
   PID=699    Performed 219 loops on 2621440 elements
  PID=786     Performed 200 loops on 2621440 elements
 PID=722      Performed 219 loops on 2621440 elements
PID=781       Performed 215 loops on 2621440 elements