The percentage amount of cache content to delete during a cache prune action. The calculated amount determines the number of files to delete (based on the PruneThresholdContentElements property) and also the total size of files to delete (based on the PruneThresholdSizeKBytes property).

Specifically, a prune action begins by calculating two prune quotas: a number quota and a size quota. These quotas apply to each directory. The quota calculation takes into account the prune amount percentage (as specified by the PruneAmount property), the prune thresholds (as specified by the PruneThresholdContentElements and PruneThresholdSizeKBytes properties), the current amount of content in the cache (as indicated by the ContentElementCount and ContentElementKBytes properties), and the number of cache directories. Specifically:

  • prune-target = prune-threshold - (prune-percentage * prune-threshold)
  • directory-quota = (current-amount - prune-target) / number-of-directories

For example, for the number quota, suppose when the prune action begins the cache contains 100,100 files, the prune threshold is 100,000 files, the prune percentage is 5%, and the cache has 529 directories. The prune target, in this case, is 95,000: 100,000 minus 5,000 (5% of 100,000). The quota for each directory equals 10: 100,100 minus 95,000, divided by 529 (rounded up). The size quota gets calculated in a similar manner.

A full prune action consists of two phases: an initial prune and a partial prune. An initial prune deletes all abandoned and expired files and also generates an LRU (least-recent-use) list for each directory. All files in the directory are put in ascending time-of-last-use order on this list; the first file listed has been accessed less recently than any other file (in other words, it is the oldest). A partial prune processes old files in LRU list order. As a file can be retrieved from the cache at any time--and thus might be younger than it was at LRU list generation time--a partial prune always checks the time-of-last-use for a file before deleting it. It skips any file with a time-of-last-use more recent than the LRU list creation time. The partial prune continues down the LRU list in this manner, taking files off the list as they are either deleted or skipped.

All old and expired files deleted in a directory count towards the quotas for that directory, although the quotas only control the number of old files deleted during the partial prune (as all expired files get deleted during the initial prune). Note that in a full prune the prune quotas might be satisfied during the initial prune phase. In this case, the second phase of the full prune--the partial prune-- does not occur. Also, regardless of when the prune quotas might be satisfied during the course of the prune, an initial prune always generates a new LRU list.

For an overview of pruning and a discussion of the categories of files deleted during a prune, see the IContentCacheArea interface.

Namespace:  FileNet.Api.Admin
Assembly:  FileNet.Api (in FileNet.Api.dll)

ToggleSyntax

Visual Basic (Declaration)
Property PruneAmount As Nullable(Of Integer)
C#
Nullable<int> PruneAmount { get; set; }
Visual C++
property Nullable<int> PruneAmount {
	Nullable<int> get ();
	void set (Nullable<int> value);
}
JavaScript
function get_pruneAmount();
function set_pruneAmount(value);

ToggleRemarks

ToggleSee Also