Modify scripts from Exercise 1 so they count following statistics for processes that are running in a system:
- number of attempts to open existing file;
- number of attempts to create a file;
- number of successful attempts.
At a period that is defined as command line arguments (specified in seconds) script should print:
- Current time and day in human-readable format.
- Table that contains gathered statistics per process along with that process name and PID. Numbers should be cleared during each iteration.
You can use module
file_opener to demonstrate your scripts. This module uses working directory which is passed as
root_dir parameter, fills it with some files that are created preliminary (their number is set by
created_files parameter). While executing request, it uses
file random variable (which range is cut to
[1;max_files)) and either tries to create a file or open it depending on
Run several experiments using TSLoad workload generator varying
created_files parameter and compare the results:
# EXPDIR=/opt/tsload/var/tsload/file_opener # for I in 1 2 3; do mkdir /tmp/fopen$I tsexperiment -e $EXPDIR run \ -s workloads:open:params:root_dir=/tmp/fopen$I \ -s workloads:open:params:created_files=$((I * 160)) & done
Try to explain differences you get from the nature of
file_opener workload generator module.