sam-releaser - Oracle HSM disk space releaser process
∕opt∕SUNWsamfs∕sbin∕sam-releaser
file_system
low_water_mark
weight_size
[weight_age]
SUNWsamfs
The sam-releaser
process controls the activities of the
Oracle HSM releaser. The releaser makes disk cache available
by identifying archived files and releasing their disk cache copy.
This process is started automatically by the file system when disk cache
utilization reaches the high-water mark.
If the releaser command file is present
in ∕etc∕opt∕SUNWsamfs∕releaser.cmd
,
the sam-releaser
process reads that file.
Directives in the releaser.cmd
file are
overridden by the equivalent command-line arguments, if present.
For more information on the releaser command file, see
the releaser.cmd
(4) man page.
This command accepts the following arguments:
This is the file system whose disk space is to be released. The argument may be either the name of the file system, or its mount_point. The releaser attempts to release the disk space of archived files on the file system mounted on the mount_point until low_water_mark is reached.
A percentage of the file system that is allowed to be
completely occupied with files at all times.
Specify an integer number that is at least 0
but no more than 100
.
The releaser attempts to release disk space until the file
system is at or below this threshold.
A weighting factor that is used to
prioritize release candidates.
Specify a floating-point value that is at least
0.0
but no more than 1.0
.
For more information on weight_size, see
the PRIORITY WEIGHTS section of this man page.
A weighting factor that is used to
prioritize release candidates.
Specify a floating-point value that is at least
0.0
but no more than 1.0
.
For more information on weight_age, see
the PRIORITY WEIGHTS section of this man page.
The releaser reads the Oracle HSM .inodes
file and builds
an ordered list of the files that can be released.
The position of each file on the
list depends on a priority calculated for each inode by the
releaser (see the PRIORITY WEIGHTS section of this man page.)
Only the top list_size files are kept on the list. The default
list_size is 30000 for file systems with less than 1M inodes, and
100000 with more than 1M inodes. See releaser.cmd
(4) for a
description of list_size.
Starting with the file with the numerically largest priority, the disk space used by each file is released until the low_water_mark has been reached. If the list is exhausted before the low_water_mark is reached, the process is repeated. If, while repeating the process, no files are found that can be released, the releaser stops. If the file system is still above high-water mark, the file system restarts the releaser.
Each inode is assigned a priority based on its size and age. The size of the file (expressed in units of 4-kilobyte blocks) is multiplied by the weight_size parameter. This result is added to the priority calculated for the age of the file to form the file's final priority.
The releaser can use one of the following two methods for determining the contribution of the age of a file to the file's release priority:
The first method is to take the most recent of the file's access, modification, and residence-change age and multiply by weight_age.
The second method allows specification of weights for each of the
access, modification, and residence-change times. These are specified
by the weight_age_access=
float,
weight_age_modify=
float, and
weight_age_residence=
float directives,
respectively, in the releaser.cmd
file.
The sum of the
product of the weight and corresponding age is the contribution of the
age to the file's priority. To specify any of these priority weights,
you must use the releaser.cmd
file. For information on the
releaser.cmd
file, see the releaser.cmd
(4) man page.
For both methods, the ages are expressed in minutes.
Within the releaser.cmd
file,
you can specify a log file for each Oracle HSM file system.
If the releaser.cmd
file does not exist, or
if no logfile=
filename directive exists in the file,
no logging occurs.
For more information on the logfile=
filename directive,
see the releaser.cmd
(4) man page.
The releaser creates the log file (if it does not exist) and appends the following to it for each run:
Releaser begins at Tue Sep 29 15:31:15 1998 inode pathname ∕sam1∕.inodes low-water mark 40% list_size 10000 weight_size 1 weight_age 0.5 fs equipment number 1 family-set name samfs1 started by sam-fsd? no release files? no release rearch files? yes display_all_candidates? no ---before scan--- blocks_now_free: 117312 lwm_blocks: 233750 ---scanning--- 64122.5 (R: Tue Sep 29 11:33:21 CDT 1998) 237 min, 64004 blks S0 ∕sam1∕250m 5131.5 (R: Tue Sep 22 17:39:47 CDT 1998) 9951 min, 156 blks S0 ∕sam1∕filecq 5095.5 (R: Tue Sep 22 17:39:49 CDT 1998) 9951 min, 120 blks S0 ∕sam1∕filecu 5062 (R: Tue Sep 22 18:38:50 CDT 1998) 9892 min, 116 blks S0 ∕sam1∕filebz 5039.5 (R: Tue Sep 22 17:40:01 CDT 1998) 9951 min, 64 blks S0 ∕sam1∕filedi 5036.5 (R: Tue Sep 22 17:37:34 CDT 1998) 9953 min, 60 blks S0 ∕sam1∕fileio 5035.5 (R: Tue Sep 22 17:40:13 CDT 1998) 9951 min, 60 blks S0 ∕sam1∕filedw 5032.5 (R: Tue Sep 22 17:38:08 CDT 1998) 9953 min, 56 blks S0 ∕sam1∕filejq 5031.5 (R: Tue Sep 22 17:39:56 CDT 1998) 9951 min, 56 blks S0 ∕sam1∕fileda 5024.5 (R: Tue Sep 22 17:38:00 CDT 1998) 9953 min, 48 blks S0 ∕sam1∕filejh 5024 (R: Tue Sep 22 17:38:22 CDT 1998) 9952 min, 48 blks S0 ∕sam1∕fileka 5023.5 (R: Tue Sep 22 17:40:07 CDT 1998) 9951 min, 48 blks S0 ∕sam1∕filedn 5019 (R: Tue Sep 22 17:40:44 CDT 1998) 9950 min, 44 blks S0 ∕sam1∕filefk 5015 (R: Tue Sep 22 17:40:28 CDT 1998) 9950 min, 40 blks S0 ∕sam1∕fileep 5011.5 (R: Tue Sep 22 17:40:14 CDT 1998) 9951 min, 36 blks S0 ∕sam1∕filedx 5011.5 (R: Tue Sep 22 17:39:58 CDT 1998) 9951 min, 36 blks S0 ∕sam1∕filede 5011 (R: Tue Sep 22 17:41:07 CDT 1998) 9950 min, 36 blks S0 ∕sam1∕filegk 5007.5 (R: Tue Sep 22 17:39:51 CDT 1998) 9951 min, 32 blks S0 ∕sam1∕filecw 5007 (R: Tue Sep 22 17:41:10 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filegr 5007 (R: Tue Sep 22 17:40:42 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filefg 5007 (R: Tue Sep 22 17:40:30 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filees 5004.5 (R: Tue Sep 22 17:38:14 CDT 1998) 9953 min, 28 blks S0 ∕sam1∕filejv 5004 (R: Tue Sep 22 17:38:57 CDT 1998) 9952 min, 28 blks S0 ∕sam1∕filelm 5002 (R: Tue Sep 22 18:38:54 CDT 1998) 9892 min, 56 blks S0 ∕sam1∕filecd 4996.5 (R: Tue Sep 22 17:38:06 CDT 1998) 9953 min, 20 blks S0 ∕sam1∕filejp 4995.5 (R: Tue Sep 22 17:39:57 CDT 1998) 9951 min, 20 blks S0 ∕sam1∕filedc 4992.5 (R: Tue Sep 22 17:37:24 CDT 1998) 9953 min, 16 blks S0 ∕sam1∕fileig 4992 (R: Tue Sep 22 17:39:06 CDT 1998) 9952 min, 16 blks S0 ∕sam1∕filelv 4986 (R: Tue Sep 22 18:38:50 CDT 1998) 9892 min, 40 blks S0 ∕sam1∕fileca 4982 (R: Tue Sep 22 17:36:54 CDT 1998) 9954 min, 5 blks S0 ∕sam1∕filehk 4981 (R: Tue Sep 22 17:41:09 CDT 1998) 9950 min, 6 blks S0 ∕sam1∕filegn 4980.5 (R: Tue Sep 22 17:40:15 CDT 1998) 9951 min, 5 blks S0 ∕sam1∕filedz ---after scan--- blocks_now_free: 0 blocks_freed: 65452 lwm_blocks: 233750 archnodrop: 0 already_offline: 647 damaged: 0 extension_inode: 0 negative_age: 0 nodrop: 0 not_regular: 7 number_in_list: 32 rearch: 1 released_files: 32 too_new_residence_time: 0 too_small: 1 total_candidates: 32 total_inodes: 704 wrong_inode_number: 14 zero_arch_status: 3 zero_inode_number: 0 zero_mode: 0 CPU time: 0 seconds. Elapsed time: 1 seconds. Releaser ends at Tue Sep 29 15:31:16 1998
The first block of lines shows the arguments with which the releaser
was invoked, the name of the .inodes
file, the low-water mark,
the size and age weight parameters, the equipment number of the
file system, the family set name of the file system, whether the releaser
was started by sam-fsd
or by the command line, whether files
should be released, and whether each inode should be logged as
encountered.
The second block of lines begins
with the heading ---before scan---
.
It shows the number of blocks
currently free in the cache and the number that would be free if the
file system were exactly at the low-water mark. The goal of
the releaser is to increase blocks_now_free
so that it is equal
to or larger than lwm_blocks
.
The third block of lines begins with the heading ---scanning---
.
This block lists the files released by the releaser and contains
information for each file in separate fields. The fields are as follows:
Field Number
Content
This field contains the release priority.
This field contains the date and time in the following format:
(
tag:
date_and_time)
.
The tag is either A
for access, M
for modify,
or R
for residency, depending on if the date that
follows represents the access, modify or residency time.
The date_and_time is the most recent of the three dates listed.
This field contains the age and size of the file. The age of the file is expressed in minutes. The size of the file is expressed in blocks. These two figures are multiplied by their respective weights and the sum taken to yield the release priority.
This field contains an S
followed by the segment number.
This is the number of the segment that was released.
This field contains the full path name of the released file.
Note that if the weight_age_access=
float,
weight_age_modify=
float or
weight_age_residence=
float directives are specified in the
releaser.cmd
file, these lines show only
the priority, size, and pathname.
The fourth block of lines begins with the heading ---after scan---
.
This block shows the statistics accumulated by the releaser
during the previous scan pass are shown. These statistics are as follows:
Statistic
Meaning
archnodrop
The number of inodes marked archnodrop
.
These files are never released because the archiver
is trying to keep them in cache.
already_offline
The number of inodes that were offline.
damaged
The number of inodes marked as damaged.
extension_inode
The number of extension inodes found. Used by volume overflow.
negative_age
The number of inodes that had an age in the future. This is usually caused by personal computers with incorrect clock settings acting as NFS clients.
nodrop
The number of inodes marked with release -n
.
For more information on marking files as never release,
see the release
(1) man page.
not_regular
The number of inodes that were not regular files.
number_in_list
The number of inodes that were on the releaser's candidate list when the releaser was finished scanning.
rearch
The number of files with a copy marked for rearchiving.
released_files
The number of files released.
too_new_residence_time
The number of inodes whose residence-change time was
within minimum residence age
of the current time as specified on
the min_residence_age=
time directive
in the releaser.cmd
file.
too_small
The number of files that were too small to be released.
total_candidates
The number of inodes found that were viable candidates for releasing.
total_inodes
The total number of inodes scanned.
wrong_inode_number
The number of inodes whose inode number did not match their offset in
the inode file.
This is usually not a concern, but
you should run samfsck
(1m) to rescue any orphan inodes.
If you have already run samfsck
(1m) and this field remains
nonzero, no further action is required.
For more information on the samfsck
(1m) command,
see the samfsck
(1m) man page.
zero_arch_status
The number of inodes that had no archive copies.
zero_inode_number
The number of inodes that had zero as their inode number.
zero_mode
The number of inodes that were unused.
CPU time
The number of CPU seconds used in the current scan.
Elapsed time
The number of wall-clock seconds used in the current scan.
When a file is created, the residency age is set to the creation time.
The residency age of a file must be at least the value set by the
min_residence_age=
time directive before the file
is considered for release.
This is to prevent a file which was
recently staged in from being released.
The default time is 10 minutes.
If the releaser selects a file as a release candidate, and immediately thereafter the file is accessed, the file might still be released by the file system even though the file has been recently accessed. This can happen because the file system only prohibits release of a file that is currently in use. It does not check the access age of the file again when it is released.