test veritas logo



smartassist - smartio caching profiler tool.


# /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> [--cluster] -d <device1 device2 ...> # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> [--cluster] -d <volume1_path volume2_path ...> # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> [--cluster] -g <disk-group1 disk-group2 ...> # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> [--cluster] -m <mount-point1 mount-point2 ...> # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> --app oracle <oracle_user_name> <ORACLE_HOME> <ORACLE_SID> [<ORACLE_ASMDG>] # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> --app sybase <DB_user_name> <DB_server> <DB_name> # /etc/vx/diag.d/smartassist start [-t <time>] -o <output dir> --app db2 <DB_user_name> <DB_user_home> <DB_name> # /etc/vx/diag.d/smartassist analyze [--cluster] [-c <size>] [--cache-latency <val1>] [--data-latency <val2>] -i <dir>


The Smartassist tool (version 2.0) analyzes the I/O on the specified target in the system for specified time, and calculates the optimal cache size for the workload.

The Smartassist tool supports the following targets:
1. List of device paths 2. List of VxVM/LVM volumes paths 3. List of VxVM/LVM disk groups names 4. List of filesystem mount points 5. Oracle/Sybase/DB2 database instance 6. List of shared volumes/diskgroups of VxVM 7. List of CFS mount points

This tool works in two phases:
1. Start phase:
In start phase, the tool traces the I/O on the specified target for specified time and stores the trace output in a specified directory. In case of disk devices which have multiple paths, it is advisable to to specify all the paths to get correct results. Using VxVM/LVM volume devices in such case is more convenient. By default, the start phase runs for 3600 seconds.
2. Analayze phase:
In analyze phase, the tool parses the output generated in the start phase and uses the SmartIO algorithms to calculate optimal cache size. The optimal cache size, read hits, latency gain, performance forecast and share in cache for each target are displayed on the terminal.


The Smartassist tool runs on the following platforms: Linux           RHEL 5, RHEL 6, RHEL 7, SLES10, SLES11, SLES12 Solaris         Solaris 9, Solaris 10, Solaris 11 AIX              AIX 6.1, AIX 7.1


Latest Smartassist tool for required platform can be downloaded from the following link:


On the system, where the Smartassist tool runs, enter the following commands to unzip or untar the tool files:
# mkdir <Smartassist_path> # cd <Smartassist_path> # gunzip smartassist.tar.gz # tar xvf smartassist.tar The tool is installed in the <Smartassist_path> directory once the files are extracted.


For all platforms -
        a. Veritas DMP device as a target is not supported.
        b. Configuration involving Veritas volume sets (vset) is not supported.
        c. Mixed target types is not supported. e.g. ZFS and VxFS mount
         points, VxVM and LVM diskgroups etc.


You need the root permission to run the tool.


1. AIX
        a. Veritas Volume Manager (VxVM) is a pre-requisite.
        b. Smartassist uses vxtrace to monitor I/O on the specified targets.
        c. Supported filesystems: VxFS
        d. Supported volumes/diskgroups: VxVM 2. Linux
        a. Smartassist uses blktrace and blkparse to monitor I/O on the
         specified targets except for Oracle ODM I/O where it uses vxtrace
         to trace I/O if Oracle is configured on VxVM devices and this is
         applicable from InfoScale Storage 7.1. If Oracle database is
         configured with ODM, then target must be specified using
         --app option.
        b. Supported filesystems: VxFS, EXT4
        c. Supported volumes/diskgroups: VxVM, LVM 3. Solaris
        a. Smartassist uses dtrace to monitor I/O on the specified targets.
        b. Supported filesystems: VxFS, ZFS
        c. Supported volumes/diskgroups: VxVM


        a. It is mandatory to specify ASM diskgroup name if Oracle database
         instance is configured on ASM diskgroup. 2. SYBASE
        a. Following major versions of Sybase ASE are supported -
         15.x, 16.0 or later.
        b. Before running Smartassist start operation for Sybase database,
         export SYBASE environment variable. 3. DB2
        a. PATH variable of specified user should be set to include path
         of ’db2’ command. 4. Oracle, Sybase and DB2 are supported on all platforms. 5. Only single instance of databases are supported. NOTE: Smartassist assumes that in case of database all the arguments (eg. database name, database user etc) specified are correct. CLUSTER OPTION:
        a. Pre-requisite: Veritas Cluster Server (VCS) package.
        b. Supported targets: Shared VxVM volumes/diskgroups, CFS mount
        c. Any node in the cluster can act as initiator node for the tool.
        d. Start phase starts the IO monitoring on all nodes of the cluster.
        e. Analyze phase analyzes monitored IO on respective cluster nodes and
         copies the per node results on the initiator node.


1. Go to the <Smartassist_path> directory. 2. Specify the targets that you want to trace the I/O for, the time span
in seconds, and the directory to save the output.
For start phase, the arguments vary for different targets as follows-
a. list of device paths:
                # ./smartassist start [-t <time>] -o <output dir> [--cluster] -d <device1 device2 ...> b. list of VxVM/LVM volumes paths:
                # ./smartassist start [-t <time>] -o <output dir> [--cluster] -d <volume1_path volume2_path ...> c. list of VxVM/LVM disk group names
                # ./smartassist start [-t <time>] -o <output dir> [--cluster] -g <disk-group1 disk-group2 ...> d. file system mount point:
                # ./smartassist start [-t <time>] -o <output dir> [--cluster] -m <mount-point1 mount-point2 ...> e. Oracle/Sybase/DB2 database instance:
                # ./smartassist start [-t <time>] -o <output dir> --app oracle <oracle_user_name> <ORACLE_HOME> <ORACLE_SID> [<ORACLE_ASMDG>]
                # ./smartassist start [-t <time>] -o <output dir> --app sybase <DB_user_name> <DB_server> <DB_name>
                # ./smartassist start [-t <time>] -o <output dir> --app db2 <DB_user_name> <DB_user_home> <DB_name>
3. Enter the following command to analyze the output:
                 where val1 and val2 are in milliseconds.


--cluster Used to indicate that smartassist should perform its operation (start/analyze) across CVM cluster. This is optional.


-t Specifies the duration to run the Smartassist tool. The duration displayed is in seconds. The default value is 3600 seconds. This is optional.
-d Specifies virtual (volumes) or physical devices (disks) as targets for Smartassist tool.
-o Provides information about the directory in which the traced data is stored.
--app Specifies database instance as a target for Smartassist tool.
It accepts different arguments depending upon the database type as mentioned below:
1. Oracle:
  Specifies Oracle database username.
  Specifies user’s home directory name.
ORACLE_SID Specifies Oracle database instance name.
  Specifies Oracle ASM diskgroup name. It should be specified when Oracle is configured on the ASM disk group. This is optional.
2. Sybase:
  Specifies Sybase database user/login name.
DB_server Specifies Sybase dataserver name.
DB_name Specifies Sybase database name.
3. DB2:
  Specifies DB2 database user name.
  Specifies DB2 database user home directory.
DB_name Specifies DB2 database name.
-g Specifies disk group or volume group as a target for Smartassist tool.
-m Specifies file system mount point as a target for Smartassist tool. Note: The -d, -app, -g, and -m options are mutually exclusive.


-i Specifies input directory name.
-c Specifies user specified cache size. This is optional.
  Specifies cache device latency. The default value is 0.05 milliseconds. This is optional.
  Specifies data device latency. The default value is 5 milliseconds. This is optional.


You want run the tool on DB2 database instance (dtbs2) for 2 hours (7200 sec) and store the traced output in the /tmp/smdata directory.
Enter the following command to start Smartassist:

Enter the following command to analyze the traced output:

# ./smartassist analyze -i /tmp/smdata

You can also specify cache size, cache-latency, disk-latency analyze as:

The output of the above command is displayed as follows:
        SF SmartAssist tool
        Details of Sampled Data:
        Duration                : 2.00 Hours
        No. Of Reads            : 146364
        Caching device latency  : 0.50 ms
        Data device latency     : 5.00 ms
        DB2 Database User       : db2inst3
        DB2 Database Name       : dtbs2
        Statistics for User specified Cache Size:
        Cache Size              : 2.000000 GB
        Read Hits               : 146071
        Read Hit(%)             : 99.80 %
        Average Latency gain    : 4.49 ms
        Latency gain(%)         : 89.82 %
        Forecast                : 9.82x times faster reads
        Optimal Cache Size suggested for the workload:
        Cache Size              : 0.01 GB
        Read Hits               : 145533
        Read Hit(%)             : 99.43 %
        Average Latency gain    : 4.49 ms
        Latency gain(%)         : 89.77 %
        Forecast                : 9.77x times faster reads
        Per volume breakup:
        Device                  Share in Cache
        /dev/dm-1        0.01 GB ----------------------------------------------------------


Veritas InfoScale SmartIO for Solid-State Drives Solutions Guide

VxVM 7.3.1 smartassist(1M)