Remove Large Files That Are Easy to Recreate

The tool vovremove offers advanced management of file system disk space

Suggestion of file to delete are based on the:
  • Role of the file in the design flow
  • Size of the file
  • Age of the file
  • Time it takes to regenerate the file

It is better to delete large files that take little time to generate rather than small files that take a long time to generate. Also, it does not make sense to delete a file before all the jobs that use it have been completed successfully.

Each file that is a candidate to be deleted is assigned a "grade," defined as the logarithm of the ratio between the file size and the time it has taken to generate the file. Files with grade lower than a given threshold will not be deleted. If you want to free up more disk space, lower the grade threshold.

Example:
% vovremove -rx '\.obj$'
vovremove: message: Rule is 'isfile STATUS==VALID HASINPUTS NAME~\.obj$'
vovremove: message: Getting data ...
vovremove: message: Analyzing 1219 files...
Files 1000 ...
vovremove: message: Found 1219 candidates
vovremove: message: Exploring space/time tradeoff...

Label:  Grade MaxJobCost MinFileAge  -->  #Files  TotSize  TotTime
    1:    6.0      1m00s      3d00h  -->       0
    2:    5.0      1m00s      3d00h  -->       0
    3:    4.0      1m00s      3d00h  -->       4    114kB      10s
    4:    3.0      1m00s      3d00h  -->     652     16MB    1h58m
    5:    2.0      1m00s      3d00h  -->    1174     19MB    3h48m
    6:    2.0      3m00s      3d00h  -->    1180     19MB    3h56m
    7:    1.0      3m00s      3d00h  -->    1218     19MB    4h16m
    8:    1.0     10m00s      3d00h  -->    1219     19MB    4h25m
  MAX:    0.0    100d00h         0s  -->    1219     19MB    4h25m
Select a label >

Given the destructive nature of the operation, the tool requires the explicit option -doit.

vovremove

Remove files intelligently, considering the role of the file in the design flow, the size of the file, and the time it takes to generate the file. This operation works only for data in the FILE database.


vovremove: Usage Message
  DESCRIPTION:
      Remove files intelligently, considering
      1- the role of the file in the design flow,
      2- the size of the file,
      3- the time it takes to generate the file.
  
      This operation works only for data in the FILE database.
  
  USAGE:
      vovremove [options]
      
  OPTIONS:
     -everywhere     -- Look everywhere for files to delete.
     -dir <dir>      -- Select a directory under which are the files
                        you want to be deleted.
     -rx  <rx>       -- A regular expression to select files.
     -age <timespec> -- Minimum age of file to be deleted.
     -D   <timespec> -- Maximum cost of recomputation of file.
                        Files that take longer to compute will not be removed.
     -G   <number>   -- Minimum 'Grade' of files to delete: 
                          Grade <== log10( size_of_file / time_to_recompute )
     -doit           -- Really do it, otherwise, just show.
     -help           -- This message.
  
  EXAMPLES:
      % vovremove -h
      % vovremove -dir .
      % vovremove -rx '\.obj$' -doit