A tool for sampling and limiting time and memory usage of a program and its child processes using the proc file system on Linux.
Print the time and memory usage of a command
Log statistics to a file instead of stdout
Limit time to an upper bound (in seconds)
Limit real-time to an upper bound (in seconds)
Limit space to an upper bound (in MB)
runlim [ options ...] command [ arguments ...]
run is a tool that can be used to run and control benchmarks. It executes a given command with (optional) arguments, samples resource usage during the run, and kills the process (and its child processes) if a certain time and/or space limit is exhausted.
Every 100 milliseconds, runlim takes a sample of the program's resource utilization, and logs status information to stderr every second. Optionally, the status can be logged to a file.
Multi-threaded programs can be limited by setting a wall clock timeout. runlim follows the time accumulation scheme of GNU time for multi-threaded programs and programs that spawn multiple child-processes: time spent in each thread/child is summed up, unless you are only interested in walk clock time.
runlim accepts the following options:
- -h, --help
Show summary of options.
Show version of program.
- -o FILE, --output-file=FILE
Overwrite or create FILE for output logging.
- -s NUM, --space-limit=NUM
Set space limit to NUM megabytes.
- -t NUM, --time-limit=NUM
Set time limit to NUM seconds.
- -r NUM, --real-time-limit=NUM
Set real time limit to NUM seconds.
- -k, --kill
runlim was written by Armin Biere and Toni Jussila.
This manual page was written by Thomas Krennwallner <email@example.com>, for the Debian project (and may be used by others).