Definitions and Objectives |
|
Copyright 2001 by Constantin Loizides, loizides AT informatik DOT uni-frankfurt DOT de
Last changes:
Do Feb 5 09:40:01 CET 2004
|
Journaling-Filesystem Fragmentation Project
Tool: Agesystem3
|
Description
This tool is an updated version of the agesystem tool, which I never
seriously used for real aging (the name of it came up because of ''historical reasons''). agesystem3
randomly creates and delete files, thereby aging a given partition.
In order to keep track of files being on the partition it provides a structure ''partition info''
which can be saved and restored via the -s and -r option. It can simulate not only static file size distributions
(-l 6:a:b:c:d:e:f option) and distribution of files per directories (-c outerdirs:innerdirs_times_outerdirs) but
also measured distributions (-m 3 and -l 2:fhist:dhist options).
Depending on the operation mode (option -m) it furthermore is more powerful than the old ''agesystem'' tool:
Using mode zero (-m 0) together with the directory option
-d it recursively scans the given directory which one can save for later simulation. Use -p to set the maximum number of
files and directories which can be stored in memory:
agesystem3 -d /givendir -s /tmp/saveinfofile -m 0
To calculate the distribution of files per directories and the distribution of the file sizes
use mode three (-m 3). Use the -l option to store the histograms for later usage:
agesystem3 -r /tmp/saveinfofile -l 2:/tmp/dhist:/tmp/fhist -m 3
To gauge a partition given with -d up to a percentage of 50 percent use mode one with the -u option.
Use also -l to simulate according to the measured distributions, use -s to save the content of the gauged partition:
agesystem3 -d /mnt/part_to_test -s /tmp/saveinfofile -m 1 -l 2:/tmp/dhist:/tmp/fhist -u 0:50
To age a partition between 50 and 60 % use mode two, restrict the overall created files with the -n option
to 10000, use -r and -s to load and save the contents of the info structure:
agesystem3 -d /mnt/part_to_test -r /tmp/saveinfofile -s /tmp/saveinfofile_after -m 2 -l 2:/tmp/dhist:/tmp/fhist
-u 50:60
agesystem3 chooses in the following way whether to create a new file or to delete a given previously created file:
- It calculates the percentage of
used blocks fsb, which is the number of used blocks in the file system divided by the number of blocks the partition has.
- It calculates the percentage p given in the range between umin and umax values of the -u option
according to p=(fsb-umin)/(umax-umin)*100.
- It determines the probability X that it creates (or with
probability of 1-X deletes)
a file. The creation probability tableX is given by for the creation cycle (going from umin to umax)
X |
p |
1.00 |
0-5 % |
0.80 |
5-75 % |
0.70 |
75-95 % |
0 |
95-100 % |
and for the deletion cycle (going from umax to umin)
X |
p |
1.00 |
0-5 % |
0.20 |
5-25 % |
0.30 |
25-95 % |
0 |
95-100 % |
The program measures the write performance given in KB per second per (approximately) every five percent of usage
(see also the old agesystem tool section).
Download
You may download agesystem3 and try it yourself.
After downloading the package create a directory where to untargz it. In the Makefile you probably
want to change some paths. Then type ''make agesystem3'' followed by ''agesystem3 -h'' to get additional help.
Usage of agesystem3 v0.3
-b blksize blocksize to use for buffered i/o
-c dir_base:dir_counter number of subdirectories to create
-d dirname change to directory "dirname"
-f use fixed length of bytes, given in blocksize
-h,-? this text
-l string set file size creation options coded in "string"
string is a) 6:a:b:c:d:e:f ->
a,b,c min_sizes; d,e,f max_sizes for distribution
b) 1:histfilename ->
use distribution of measured histogram and use -c for dirs
c) 2:histdirname:histfilename ->
use measured distribution for files and dirs
-n number_of_files maximum number of files to create
-m mode set working mode to "mode"
0 -> get info struct
1 -> gauge only; use with -c and -l option
2 -> age fs system; use with -c and -l option
3 -> calc histograms; use with -l option
4 -> create only directories given with -l oder -c option
-o access_mode set access mode to "access_mode"
(eg. cw=65, cws=4161, cwa=1089,cwas=5185, cwt=577,cwts=4673)
-p dirno:fileno store maximum "dirno" dirs and "fileno" files in info struct
-r file load partition info from "file"
-s file save partition info to "file"
-t simply test input and exit without any action
-u min:max min and max filesystem usage to work at
-v be verbose
-y seed set random generator seed
-z sync with unmount (don't use or check/edit /root/bin/agesync.sh)
|