View storage maintenance includes two principal tasks:
Removal of unneeded views. Views can outlive their usefulness and should be regularly considered as candidates for removal using rmview. Any view can be completely reconstructed from information stored in VOBs, so it's easy to undo the removal of a view if you discover that it is still needed. In addition to consuming storage, inactive views can have an adverse impact on build performance if they are still being searched for candidate DOs.
Removal of unneeded view-private objects. Like any other isolated work area, a view's private storage area tends to accumulate some unneeded files: temporary files, text-editor backup files, excerpts from mail messages and source files, and so on.
Encourage users to review, remove, and clean up their own views periodically; for shared views, the cleanup task may fall to you. See Cleaning Up a View Manually.
The ClearCase Administration Console displays information on disk space used in views:
The Derived Objects subnode of a VOB storage node shows disk space used by shared derived objects in the VOB. The display shows which views have references to these DOs.
The view storage node for a view (a subnode of the host node for the host where the view storage directory resides) shows current and historical disk space used for the view.
The Private Files subnode of the view storage node for a dynamic view lists view-private objects, including files and derived objects, in the view.
Several cleartool subcommands also display information on disk space used in views:
The dospace command shows disk space used by shared derived objects in a VOB. The display shows which views have references to these DOs.
The space -view command shows current and historical disk space used for a view.
The ClearCase scheduler runs several jobs that gather data on view disk space use:
Daily data gathering on view disk space use
Weekly data gathering on disk space used by shared derived objects
Daily and weekly execution of jobs that you can customize to run your own programs
For more information on the ClearCase scheduler, see Chapter 28, Managing Scheduled Jobs.
From an administrator's standpoint, limiting the growth of a dynamic view storage directory typically involves one issue: removing redundant derived object (DO) data containers. When a DO is first built by clearmake, omake, or clearaudit, its data container is placed in the private storage area of the user's view. The first time a DO is winked in during a clearmake or omake build, the data container is copied to a VOB's derived object storage pool. (Moving it may disrupt user processes that are currently accessing the DO.) This leaves a redundant copy of the data container in view-private storage. (When you wink in a derived object with the winkin or view_scrubber -p command, the data container in the view is removed after it is promoted to the VOB storage pool.)
Typically, you need not do anything about these redundant copies:
In a view that is frequently used for builds, old (and potentially redundant) DO data containers are replaced by newer ones by the execution of build scripts.
There can be at most one redundant copy of each DO in a view. (Contrast this with the situation for VOBs: if the scrubber utility never runs, the VOB accumulates many DOs that are no longer used.)
Unless disk storage is extremely scarce, you may conclude that it is not worth the effort to clean up redundant data containers in view-private storage. Accordingly, ClearCase does not include any automated procedures for removing them.
If you decide that redundant DO data containers must be removed from a view's private storage area, use the view_scrubber utility. You can also use this utility to migrate the data containers of unshared or nonshareable DOs to VOB storage.
The following example shows how some DOs can be built and then transferred immediately to VOB storage:
clearmake hello
<build messages>
ccase-home-dir\bin\view_scrubber -p hello hello.o util.o
Promoted derived object "hello"
Scrubbed view-resident data container for "hello"
Promoted derived object "hello.o"
Scrubbed view-resident data container for "hello.o"
Promoted derived object "util.o"
Scrubbed view-resident data container for "util.o"
See the view_scrubber reference page for more information.
|
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |