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

This program is used to test VOV with a high load
in terms of both CPU and memory utilization.
Usage: vovmemtime <mem_in_MB> <time_in_seconds> <recursion_levels>
       If time is negative, it represents the number of iterations
       vovmemtime 2000 120 0: is one cpu process (0 recursion) running for 2mn (120s) and walking a 2GB (2000 MB) memory space
       vovmemtime always use only one cpu at a time, no matter how many recursions

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