Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ presto(8) — Digital UNIX 3.2c

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prestoctl_svc(8)

dxpresto(8X)

presto(7)

prestotab(4)

prestosetup(8)

presto(8)  —  Maintenance

NAME

presto − controls and monitors the Prestoserve file system accelerator

SYNOPSIS

/usr/sbin/presto [ flags ]

DESCRIPTION

The presto command allows you to accelerate file systems, obtain Prestoserve status, and administer Prestoserve. 

If invoked with no flags, presto displays the Prestoserve state (either UP, DOWN, or ERROR), the number of bytes of nonvolatile memory the Prestoserve cache is using, how long the cache has been enabled, the write cache efficiency, and the state of the backup battery or batteries. 

When the Prestoserve state is UP, Prestoserve improves I/O performance to accelerated file systems by caching synchronous disk write operations to nonvolatile memory. 

When the Prestoserve state is DOWN, all I/O requests are passed to the appropriate disks. 

If it detects a disk error during a write back, Prestoserve enters the ERROR state and disables itself.  However, Prestoserve continues to maintain the integrity of cached data.  Some possible disk error conditions are:  the disk drive is write protected or off line, a cable problem exists, or a bad disk block exists. 

Also, if there is insufficient backup battery power, Prestoserve will enter the ERROR state. 

FLAGS

−d [filesystem...]
Disables Prestoserve and writes the Prestoserve cache data to the intended disks.  Only those file systems specified by filesystem are disabled.  You specify filesystem as a directory mount point (for example, /usr).  Do not specify a block device because some functional subsystems, such as the Advanced File System (advfs), can map more than one block device to a mount point.  If no file systems are specified, all accelerated file systems are disabled, and the Prestoserve state is set to DOWN. 

This flag does not reset Prestoserve statistics. 

The −d flag takes effect before the −u or −R flags. 

−D [filesystem...]
Similar to the −d flag, but sets the Prestoserve state to DOWN only if the specified directory is the root of a mounted file system.  Otherwise, the following message is displayed:

presto: directory is not a file system root

−FWrites the Prestoserve cache data to the intended disks, but leaves the cache data intact. 

If the flag is used and the Prestoserve state is UP, then the cache data is written to the intended disks, and the state remains UP.  If the Prestoserve state is DOWN, then there is no data to write to the disks, and the state remains DOWN.  If the state is ERROR, then as much of the cache data as possible is written to the intended disks. 

Note that unlike the −R flag, the data in the Prestoserve cache remains after it is written to the intended disks. 

−h hostname
Invokes the specified operations on the remote machine hostname by using an RPC protocol.  You can use the −h flag with other presto command flags, but the protocol does not support the −R or −L flags.  The remote machine must be running the prestoctl_svc daemon to allow the use of the −h flag.  However, the remote machine must be running prestoctl_svc with the −n flag to allow the use of the −h flag and the −u, −d, and −s administrative flags.  See prestoctl_svc(8) for more details. 

−lLists the accelerated file systems and their mount points in a format similar to the mount command.  This flag can be used with either NFS client or server machines. 

−LLists all local and remote mounted file systems and their mount points that have been accelerated.  Any unusual Prestoserve state for a file system is displayed after the mount point.  The unusual states include:

bounceioInstead of directly accessing the nonvolatile memory, the file system’s device receives the Prestoserve data only after the data is first copied to main memory. 

disabledPrestoserve acceleration is not enabled on the file system. 

errorAn error occurred using the file system, and the Prestoserve cache data has still not been written successfully to the intended disks. 

−pDisplays Prestoserve information.  The information includes the current Prestoserve state; the statistics for write, read, and total operations; and battery status.  For example:

# /usr/sbin/presto -p
dirty = 52, clean = 7, inval = 0, active = 2
       count hit rate clean hits dirty hits allocations passes
write:  1516      65%          0        989         511     15
 read:     8       0%          0          0           0      8
total:  1524      65%          0        989         511     23
state = UP, size = 0x7e000 bytes
statistics interval: 00:00:13  (13 seconds)
write cache efficiency: 66%
All batteries are ok

The current Prestoserve statistics account for all Prestoserve buffers.  A dirty buffer contains a disk block image that has not been written to disk.  A clean buffer contains a valid disk block image that has been written to disk.  An inval buffer does not presently contain a disk block image.  An active buffer is currently in transition to disk, meaning that a write operation has started but has not completed on that buffer. 

For each Prestoserve cache read or write operation, Prestoserve increments a counter:

•The clean hits counter shows the number of hits (block matches) on the clean buffers. 

•The dirty hits counter shows the number of hits on the dirty buffers.  Each dirty hit represents a physical disk write that was avoided entirely. 

•The allocations counter shows the number of new buffers that had to be allocated for disk block images. 

•The passes counter shows the number of I/O operations that Prestoserve passed directly to the real device driver. 

In addition, for each Prestoserve cache read or write operation, the presto −p command displays the count, which is the sum of the four counters explained previously; the hit rate percentage, which is the ratio of clean hits and dirty hits to the total count and which indicates the effectiveness of the Prestoserve cache; and the write cache efficiency percentage, which is computed from the ratio of write dirty hits to the number of writes copied into the Prestoserve cache. 

The presto −p command also displays information about the Prestoserve battery state.  The command displays the battery state as OK, low, or disabled. 

Some processors support chargeable batteries and use self tests to determine if a battery needs charging.  If you use the presto −p command on a machine that supports chargeable batteries and is running Prestoserve locally, the battery state can also be in self test or is charging.  Note that if you use the −p flag with the −h flag (or if you use the dxpresto command, batteries that are being self tested or charged will be displayed as disabled. 

−RWrites as much of the Prestoserve cache data as possible to disk, discards the data it could not write, purges all the Prestoserve buffers, and sets the Prestoserve state to DOWN. 

Unlike the −d flag, the −R flag discards the Prestoserve cache data that could not be written to disk.  The flag is useful when Prestoserve cache data is not needed or if you cannot get Prestoserve out of the ERROR state.  You should note that, because the −R flag destroys Prestoserve cache data, it should be used carefully. 

The −R flag takes effect before the −u flag. 

−s size
Sets the size of the Prestoserve cache to size bytes.  The size can be specified using the decimal or hexadecimal conventions.  For example, both 262144 and 0x40000 represent 256 Kbytes. 

If the −s flag is used and the current Prestoserve state is UP, the state is set to DOWN, the Prestoserve cache is resized, and the state is set to UP. 

You may want to use the −s flag to determine how Prestoserve performs with a reduced amount of nonvolatile memory.  Note that the size of the Prestoserve cache cannot be larger than the default maximum size.  If you specify a size that is larger than the default maximum size, the default maximum size is used. 

−u [filesystem...]
Sets Prestoserve state to UP, and enables acceleration.

Only those file systems specified by filesystem are enabled.  You specify filesystem as a directory mount point (for example, /usr).  Do not specify a block device because some functional subsystems, such as the Advanced File System (advfs), can map more than one block device to a mount point.  If no file systems are specified, all local writable file systems that are mounted will have Prestoserve enabled.  File systems that are presently accelerated will remain accelerated. 

If Prestoserve state was ERROR, Prestoserve attempts to write any blocks that are in the cache to disk to ensure that the previous error condition has been corrected. 

−U [filesystem...]
Similar to the −u flag, but sets the Prestoserve state to UP only if the specified directory is the root of a mounted file system.  Otherwise, the following message is displayed:

presto: directory is not a file system root

−vSpecifies verbose mode.  This flag prints extra information to standard output.  The information can be used for debugging purposes. 

FILES

/dev/pr0

RELATED INFORMATION

prestoctl_svc(8), dxpresto(8X), presto(7), prestotab(4), prestosetup(8)

Guide to Prestoserve

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026