daxstat - report Database Analytics Accelerator (DAX) statistics
/usr/bin/daxstat [[-T u | d] [-c processor_id] | [-d dax_id \ [-q queue_id]] | [-[x]d dax_id]] [interval [count]]
/usr/bin/daxstat -a [[-T u | d] [-c] | [-d [-q]] | \ [-[x]d]] [interval [count]]
The daxstat command reports DAX statistics. Using the first format, daxstat reports DAX statistics per-dax or per-cpu or per-queue in a tabular form. Using the second format, daxstat command reports DAX statistics aggregated into a single all-dax, all-cpu, or all-queue value in a tabular form. The first entry in the table summarizes all activity since boot. Subsequent entries in the table summarizes activity for the preceding interval.
The daxstat per-dax reports the following information:
DAX ID
Number of commands completed by DAX
Number of commands completed by the software, which DAX could not complete
Total input processed by DAX in megabytes per second (M) or gigabytes per second (G)
Total output produced by DAX in megabytes per second (M) or gigabytes per second (G)
Indicates the percentage of DAX cycles spent while processing a command
The daxstat per-dax extended reports the following information:
DAX ID
Number of commands completed by DAX
Number of commands completed by the software, which DAX could not complete
Total input processed by DAX in megabytes per second (M) or gigabytes per second (G)
Total output produced by DAX in megabytes per second (M) or gigabytes per second (G)
Indicates the percent utilization of DAX read capacity
Indicates the percent utilization of DAX of write capacity
Indicates the percent utilization of DAX capacity to process data
Indicates the percent utilization of DAX capacity to perform lookups. Lookups are DAX cycles spent in decompression and translation
Indicates the percentage of DAX cycles spent while processing a command
The daxstat per-queue reports the following information:
DAX ID
Queue ID
Number of commands completed by DAX
The daxstat per-cpu reports the following information:
CPU ID
Number of dax_submit fast trap calls
The sum of kernel and hypervisor time in seconds spent submitting DAX commands
Number of ccb_submit hyper-calls that returned success
Number of ccb_submit hyper-calls that returned an error
The following options are supported:
The output would be aggregated into a single 'all-cpu’ or 'all-dax’ or 'all-queue’ value. With this option, no dax, queue, or CPU IDs should be entered.
Displays per-cpu statistics for specified CPUs.
Displays per-dax statistics for specified DAX units. In each cycle, DAX concurrently reads data from memory, processes data, performs lookups, and writes data to memory. Each of these steps has a capacity and could be the utilization limiter. The daxstat command reports the percent capacity utilization of each step. This option also reports the percentage of cycles that DAX is busy on which includes any of the steps while processing a command.
Displays per-queue statistics for specified queues in specified DAX units.
Displays per-dax extended statistics for specified DAX units. This option is only valid when used with the –d option.
Prints a time stamp before each report, in either standard date format, d, or the internal representation of time, u. For more information, see the time(2) and date(1) man pages.
Reports once each interval second. The default interval is 1 second.
Prints only count reports. Default count is 1.
The following operands are supported:
Specifies processor_id as an individual processor number (for example, 3 ), or a range of processor numbers (for example, 1-4).
Specifies dax_id as an individual DAX unit (for example, 8), or a range of DAX units (for example, 8-15).
Specifies queue_id as an individual queue number (for example, 0), or a range of queue numbers (for example, 0-4).
The following exit values are returned:
Command successful.
An error occurred.
Invalid command line options were specified.
The following commands generate aggregated per-dax statistics over a five-second interval in two reports.
example% daxstat -ad 5 2 DAX commands fallbacks input output %busy ALL 394986995 0 1.3G 1.2G 0 ALL 36646 0 2045.4M 3410.1M 3
example% daxstat -axd 5 2 DAX commands fallbacks input output %input %output %data %lookup %busy ALL 394895412 0 200.3M 340.2M 0 0 0 0 0 ALL 37838 0 3.3G 1.1G 0 0 3 1 5Example 2 Using daxstat to Display per-cpu Statistics
The following command generates per-cpu statistics for CPUs 0 and 1 since boot.
example% daxstat -c 0-1 CPU calls time success fallbacks 0 6486811 9276154005 6486811 0 1 6553856 9272570130 6553856 0Example 3 Using daxstat to Display per-queue Statistics
The following command generates per-queue statistics for queues 0-3 in DAX unit 5 over an interval of one second in one report.
example% daxstat -d 5 -q 0-1 DAX QUEUE commands 5 0 32569344 1 37095525
See attributes(5) for descriptions of the following attributes:
|
The sum of DAX utilization might vary slightly from 100 due to rounding errors in the production of a percentage figure.
By default, the DAX driver only collects statistics for DAX units. The per-cpu and per-queue statistics are not collected. Thus, trying to display data for CPU (–c) and queue (–q), as per the examples, will show no data available to display. For more information about the DAX driver collecting DAX CPU and queue statistics, see the General Driver Parameters in Oracle Solaris 11.3 Tunable Parameters Reference Manual.