系统管理指南:设备和文件系统

收集 CacheFS 统计信息

通过收集 CacheFS 统计信息,可以执行以下操作:

这些统计信息有助于确定如何平衡高速缓存大小和所需的高速缓存性能。

下表介绍 CacheFS 统计命令。

命令 

说明 

手册页 

cachefslog

指定日志文件的位置。此命令还显示当前记录统计信息的位置,并允许您停止日志记录。  

cachefslog(1M)

cachefswssize

解释日志文件,给出建议的高速缓存大小。  

cachefswssize(1M)

cachefsstat

显示有关特定 CacheFS 文件系统或所有 CacheFS 文件系统的统计信息。命令输出中提供的信息是直接从高速缓存中提取的。  

cachefsstat(1M)


注 –

可以从任何目录发出 CacheFS 统计命令。必须是超级用户才能发出 cachefswssize 命令。


在您创建日志文件时,CacheFS 统计信息将开始累积。工作会话结束时,使用 cachefslog -h 命令停止日志记录,如如何停止 CacheFS 日志记录所述。

使用 CacheFS 统计命令之前,必须执行以下操作:


注 –

以下过程是按建议的顺序介绍的。您可以不按照此顺序来执行操作。


Procedure如何设置 CacheFS 日志记录

  1. 设置日志记录。


    $ cachefslog -f log-file-path /mount-point
    
    -f

    设置日志记录。

    log-file-path

    指定日志文件的位置。日志文件是使用编辑器创建的标准文件,如 vi。

    /mount-point

    指定要为其收集统计信息的挂载点(CacheFS 文件系统)。

  2. 验证是否正确设置了日志文件。


    $ cachefslog /mount-point
    

示例 20–13 设置 CacheFS 日志记录

以下示例说明如何设置 /var/tmp/samlog 日志文件,以收集有关 /home/sam 目录的统计信息。


$ cachefslog -f /var/tmp/samlog /home/sam

  /var/tmp/samlog: /home/sam

Procedure如何查找 CacheFS 日志文件

    显示记录 CacheFS 统计信息的位置。


    $ cachefslog /mount-point
    

    其中 /mount-point 指定要查看其统计信息的 CacheFS 文件系统。

    也可以使用不带选项的 cachefslog 命令,查找特定挂载点的日志文件。


示例 20–14 查找 CacheFS 日志文件

以下示例说明设置日志文件后将看到的内容。日志文件的位置是 /var/tmp/stufflog


$ cachefslog /home/stuff

	 /var/tmp/stufflog: /home/stuff

以下示例说明没有为指定的文件系统设置日志文件。


$ cachefslog /home/zap

	not logged: /home/zap 

如何停止 CacheFS 日志记录

使用 cachefslog -h 选项可停止日志记录。


$ cachefslog -h /mount-point

以下示例说明如何停止对 /home/stuff 的日志记录。


$ cachefslog -h /home/stuff

not logged: /home/stuff

如果得到的系统响应与此处指定的响应不同,则说明未成功停止日志记录。确定使用的日志文件名和挂载点是否正确。

Procedure如何查看工作集(高速缓存)大小

可能希望检查是否需要增大高速缓存的大小。 或者,可能希望根据上次将 cachefslog 命令用于特定挂载点以来的活动,确定理想的高速缓存大小。

  1. 成为客户机系统上的超级用户。

  2. 查看当前的高速缓存大小和已记录的最大高速缓存大小。


    # cachefswssize log-file-path
    

    有关更多信息,请参见 cachefswssize(1M)


示例 20–15 查看工作集(高速缓存)大小

在以下示例中,end size 是发出 cachefswssize 命令时高速缓存的大小。high water size 是发生日志记录期间高速缓存的最大大小。


# cachefswssize /var/tmp/samlog

 

    /home/sam

	       end size:  10688k

	high water size:  10704k

 

    /

	       end size:   1736k

	high water size:   1736k

 

    /opt

	       end size:    128k

	high water size:    128k

 

    /nfs/saturn.dist

	       end size:   1472k

	high water size:   1472k

 

    /data/abc

	       end size:   7168k

	high water size:   7168k

 

    /nfs/venus.svr4

	       end size:   4688k

	high water size:   5000k

 

    /data

	       end size:   4992k

	high water size:   4992k

 

    total for cache

	   initial size: 110960k

	       end size:  30872k

	high water size:  30872k

查看 CacheFS 统计信息

下表解释了在 CacheFS 文件系统的统计信息输出中显示的术语。

表 20–2 CacheFS 统计信息术语

输出术语 

说明 

cache hit rate

高速缓存命中率与高速缓存未命中率之比,后跟实际的命中次数和未命中次数。当用户希望对一个或多个文件执行操作,而且这个或这些文件实际上位于高速缓存中时,将发生高速缓存命中。当文件不在高速缓存中时,将发生高速缓存未命中。服务器上的负载是高速缓存未命中、一致性检查和修改 (modifies) 的总和。

consistency checks

执行的一致性检查数,后跟通过次数和失败次数。 

modifies

修改操作数。例如,写入或创建。 

Procedure如何查看 CacheFS 统计信息

使用 cachefsstat 命令查看统计信息。可以随时查看统计信息。例如,不必设置日志记录,即可查看统计信息。

    查看 CacheFS 统计信息。


    $ cachefsstat /mount-point
    

    其中 /mount-point 指定要查看其统计信息的 CacheFS 文件系统。

    如果不指定挂载点,将显示所有已挂载的 CacheFS 文件系统的统计信息。


示例 20–16 查看 CacheFS 统计信息

此示例说明如何查看有关已高速缓存的文件系统 /home/sam 的统计信息。


$ cachefsstat /home/sam

	    cache hit rate: 73% (1234 hits, 450 misses)

	consistency checks: 700 (650 pass, 50 fail)

	          modifies: 321

garbage collection:  0