NAME
lfs_cleanerd —
garbage collect a
log-structured file system
SYNOPSIS
lfs_cleanerd |
[-bcDdfmqs]
[-i
segment-number]
[-l
load-threshhold]
[-n
number-of-segments]
[-r
report-frequency]
[-t
timeout] node |
DESCRIPTION
The
lfs_cleanerd command starts a daemon process which
garbage-collects the log-structured file system residing at the point named by
node in the global file system namespace. This command
is normally executed by
mount_lfs(8) when the
log-structured file system is mounted. The daemon will exit within a few
minutes of when the file system it was cleaning is unmounted.
Garbage collection on a log-structured file system is done by scanning the file
system's segments for active, i.e. referenced, data and copying it to new
segments. When all of the active data in a given segment has been copied to a
new segment that segment can be marked as empty, thus reclaiming the space
taken by the inactive data which was in it.
The following options are available:
-
-
- -b
- Use bytes written, rather than segments read, when
determining how many segments to clean at once.
-
-
- -c
- Coalescing mode. For each live inode, check to see if it
has too many blocks that are not contiguous, and if it does, rewrite it.
After a single pass through the filesystem the cleaner will exit. This
option has been reported to corrupt file data; do not use it.
-
-
- -D
- Stay in the foreground, do not become a daemon process.
Does not print additional debugging information (in contrast to
-d).
-
-
- -d
- Run in debug mode. Do not become a daemon process, and
print debugging information. More -d s give more
detailed debugging information.
-
-
- -f
- Use filesystem idle time as the criterion for aggressive
cleaning, instead of system load.
-
-
- -i
segment-number
- Invalidate the segment with segment number
segment-number. This option is used by
resize_lfs(8), and
should not be specified on the command line.
-
-
- -l
load-threshhold
- Clean more aggressively when the system load is below the
given threshhold. The default threshhold is 0.2.
-
-
- -m
- Does nothing. This option is present for historical
compatibility.
-
-
- -n
number-of-segments
- Clean this number of segments at a time: that is, pass this
many segments' blocks through a single call to lfs_markv, or, if
-b was also given, pass this many segments' worth of
blocks through a single call to lfs_markv.
-
-
- -q
- Quit after cleaning once.
-
-
- -r
report-frequency
- Give an efficiency report after every
report-frequency times through the main loop.
-
-
- -s
- When cleaning the file system, send only a few blocks
through lfs_markv at a time. Don't use this option.
-
-
- -t
timeout
- Poll the filesystem every timeout
seconds, looking for opportunities to clean. The default is 300, that is,
five minutes. Note that lfs_cleanerd will be
automatically awakened when the filesystem is active, so it is not usually
necessary to set timeout to a low value.
SEE ALSO
lfs_bmapv(2),
lfs_markv(2),
lfs_segwait(2),
mount_lfs(8)
HISTORY
The
lfs_cleanerd utility first appeared in
4.4BSD.