Skip to main content
Previous sectionNext section

Monitoring Performance Using ^SystemPerformance

This chapter describes the ^SystemPerformance utility, a tool for collecting detailed performance data about an InterSystems IRIS® data platform instance and the platform on which it is running. You can send the report it produces to the InterSystems Worldwide Response Center (WRC) to help diagnose system problems. ^SystemPerformance is similar to Diagnostic Reports (see “Using the Diagnostic Report” in this guide), but focuses on performance data.

Note:

This utility may be updated between releases. The latest version is available on the WRC distribution site under Tools.

You can run the profiles in the Terminal (see Running the ^SystemPerformance Utility in this chapter) or schedule runs using the Task Manager in the Management Portal (see Scheduling the ^SystemPerformance Utility with Task Manager in this chapter). In addition, you can add, modify, and delete profiles using the API that is included with the utility.

Running the ^SystemPerformance Utility

The ^SystemPerformance utility lets you select one or more profiles to run. (The profiles available vary depending on the product version and any customization that has been performed.) Based on the selected profile(s), it generates a set of log files, which are placed in the output directory. By default, the output directory is the install-dir\mgr directory of the InterSystems IRIS instance; alternatively, you can specify the output directory as described in the Change Output Directory section in this chapter.

By default, ^SystemPerformance provides the following profiles:

  • 12hours — 12-hour run sampling every 10 seconds

  • 24hours — 24-hour run sampling every 10 seconds

  • 30mins — 30-minute run sampling every 1 second

  • 4hours — 4-hour run sampling every 5 seconds

  • 8hours — 8-hour run sampling every 10 seconds

  • test — 5-minute TEST run sampling every 30 seconds

To run the ^SystemPerformance utility:

  1. Enter the following command, which is case-sensitive and must be run in the %SYS namespace, in the Terminal:

    %SYS>do ^SystemPerformance
    
    Copy code to clipboard
  2. From the main menu that is displayed, enter the number of the profile you want to run, or press Enter to exit the utility:

    Current log directory: c:\intersystems\iris\mgr\
    Windows Perfmon data will be left in raw format.
    Available profiles:
         1 12hours - 12-hour run sampling every 10 seconds 
         2 24hours - 24-hour run sampling every 10 seconds 
         3 30mins  - 30-minute run sampling every 1 second 
         4 4hours  - 4-hour run sampling every 5 seconds 
         5 8hours  - 8-hour run sampling every 10 seconds 
         6 test    - 5-minute TEST run sampling every 30 seconds
     
    select profile number to run: 
    
    Copy code to clipboard
  3. After you enter the profile you want to run, the utility displays information about the data it is collecting:

    select profile number to run: 1
    Collection of this sample data will be available in 1920 seconds.
    The runid for this data is 20111007_1041_30mins.
    Copy code to clipboard

The generated log files are located in the output directory. The files are identified by the runid, which is uniquely named as follows: YYYYMMDD_HHMM_profile_name.log, where YYYYMMDD_HHMM is the year, month, day, hour, and minute the utility started to collect data; and profile_name is the name of the profile you selected.

After the utility finishes collecting data (that is, at the end of the period of time specified in the profile), you can generate a readable performance report; for information, see the Generating the ^SystemPerformance Performance Reports section in this chapter.

Abort ^SystemPerformance

If you want to stop a running profile, you can abort the collection of data and optionally delete all .log files for the profile with the $$Stop^SystemPerformance(runid) command. For example, to abort the collection of data for a report identified by the runid20111220_1327_12hours and delete all .log files written so far, enter the following command in the Terminal in the %SYS namespace:

do Stop^SystemPerformance("20111220_1327_12hours")
Copy code to clipboard

To stop the job without deleting log files and produce an HTML performance report from those log files, enter:

do Stop^SystemPerformance("20111220_1327_12hours",0)
Copy code to clipboard

For more information about this command, see $$Stop^SystemPerformance("runid") in the Run ^SystemPerformance Programmatically subsection.

Note:

You must have permission to stop jobs and delete files.

Run ^SystemPerformance Programmatically

You can run the ^SystemPerformance utility programmatically using entry points for the start, collect, preview, and stop functions as described in the following table:

Note:

You can run multiple profiles concurrently.

Command Description
$$run^SystemPerformance("profile")
Starts the specified profile. If successful, returns the runid; if unsuccessful, returns 0.
$$literun^SystemPerformance("profile")
Same as $$run^SystemPerformance("profile"), except that it does not include operating-system data.
Note:
This command is intended for servers that are running multiple instances of InterSystems IRIS, where the operating-system data would be duplicated.
$$Collect^SystemPerformance("runid")
Produces a readable HTML performance report file for the specified runid. If successful, returns 1 and the report filename; if unsuccessful, returns 0 followed by a carat and the reason for the failure.
$$Preview^SystemPerformance("runid")
Produces a readable HTML interim (incomplete) performance report file for the specified runid. If successful, returns 1 followed by a carat and the file location. If unsuccessful, returns 0 followed by a carat and the reason for the failure.
$$Stop^SystemPerformance("runid",[0])
Stops (aborts) ^SystemPerformance from collecting data for a specified runid and by default deletes the associated .log files produced by the utility. To stop data collection without deleting the .log files and produce an HTML performance report from those log files, include the 0 parameter following the runid.
If unsuccessful, the function returns 0 followed by a carat and the reason for the failure; if successful, it returns: 1:2:3:4_1:2:3:4. The “successful ” status is made up of two parts separated by an underscore: OS-specific and InterSystems IRIS-specific; within each part, colon-separated values specify:
  1. Number of jobs successfully stopped
  2. Number of jobs that failed to stop
  3. Number of files successfully deleted
  4. Number of files not deleted
$$waittime^SystemPerformance("runid") Reports the time until the final HTML file for the specified runid will be complete. If the runid is finished, returns ready now, otherwise returns a string of the form XX hours YY minutes ZZ seconds.

In the following example the runid, which is created by the ^SystemPerformance utility, is obtained programmatically, then tested to determine if a full or interim report has been generated. A full report has not been created because the profile has not finished (“0^not ready” is returned), but an interim report has been created (“1” is returned). Based on this information, you know that an HTML file has been generated.

%SYS>set runid=$$run^SystemPerformance("30mins")
 
%SYS>set status=$$Collect^SystemPerformance(runid)
SystemPerformance run 20181004_123815_30mins is not yet ready for collection.
 
%SYS>write status
0^not ready
 
%SYS>set status=$$Preview^SystemPerformance(runid)
 
%SYS>write status
1^c:\intersystems\iris\mgr\USER_IRIS_20181004_123815_30mins_P1.html
%SYS>
Copy code to clipboard

Generating ^SystemPerformance Performance Reports

The ^SystemPerformance utility automatically generates a full (complete) readable HTML performance report from the log files produced by the ^SystemPerformance utility. You can also use the Preview^SystemPerformance entry point to produces an interim (incomplete) report using the data that is being collected by the profile you selected when you ran the ^SystemPerformance utility.

The generated report files are located in the output directory which is, by default, the install-dir\mgr directory of the InterSystems IRIS instance. The files are uniquely identified by names, which are in the following format: hostname_instance_runid.html, where hostname is the hostname of the system on which the instance of InterSystems IRIS is running; instance is the name of the instance for which performance data has been collected; and runid is the unique identifier generated when the ^SystemPerformance utility was run. If the report is an interim report, _Pn is appended to the file name, where P identifies it as a preliminary report and n is the number of the preliminary report.

Scheduling the ^SystemPerformance Utility with Task Manager

This section provides examples using the Task Manager (System Operation > Task Manager) in the Management Portal to schedule ^SystemPerformance to run. For general instructions for how to schedule a task, see the procedure described in Schedule Task Manager in the “Managing InterSystems IRIS” chapter of System Administration Guide.

Note:

The examples describe only the fields that are required. You can edit other fields as desired.

Example 1: Weekly 24-Hour Run

In this example, a task is created to schedule the ^SystemPerformance utility to run a profile named 24hours (which collects performance data for 24 hours) every Thursday at 09:00:

  1. From the Task Manager page of the Management Portal (System Operation > Task Manager), choose the New Task option to start the Task Scheduler Wizard. Then enter the following information in the specified fields:

    • Task name — enter 24HourRun.

    • Description — enter Start 24-hour ^SystemPerformance Run.

    • Namespace to run task in — select %SYS from the drop-down list.

    • Task type — select RunLegacyTask from the drop-down list.

      In the ExecuteCode text box, enter the following code:

      do run^SystemPerformance("24hours")
      Copy code to clipboard
    • Output file — leave blank; the task has no output (see Change Output Directory for information on customizing the ^SystemPerformance output directory).

  2. Click Next. Then enter the following information in the specified fields:

    • How often ... — choose Weekly from the drop-down list.

      Select the Thursday check box.

    • Start Date — enter the start date in the text box.

      Click Run once at this time: and enter 09:00:00 in the text box.

  3. Click Finish.

Example 2: Daily 2–Minute Run

In this example, a task is created to schedule the ^SystemPerformance utility to run a profile named 2mins (which collects performance data for two minutes) every day at 12:00:

  1. From the Task Manager page of the Management Portal (System Operation > Task Manager), choose the New Task option to start the Task Scheduler Wizard. Then enter the following information in the specified fields:

    • Task name — enter 2MinRun.

    • Description — enter Start 2-minute ^SystemPerformance Run.

    • Namespace to run task in — select %SYS from the drop-down list.

    • Task type — select RunLegacyTask from the drop-down list.

      In the ExecuteCode text box, enter the following code:

      do run^SystemPerformance("2mins")
      Copy code to clipboard
    • Output file — leave blank; the task has no output (see Change Output Directory for information on customizing the ^SystemPerformance output directory).

  2. Click Next. Then enter the following information in the specified fields:

    • How often ... — choose Daily from the drop-down list.

    • Start Date — enter the start date in the text box.

      Click Run once at this time: and enter 12:00:00 in the text box.

  3. Click Finish.

Customizing the ^SystemPerformance Utility

This section describes the tasks you can accomplish with the API:

Change Output Directory

The default output directory for both the log files and the resulting HTML report file is the install-dir\mgr of the InterSystems IRIS instance for which you are running the ^SystemPerformance utility. You can change the default directory using the commands described in the following table.

Note:

These commands do not affect currently running profiles, whether or not the HTML report files have been produced; that is, no files associated with currently running profiles are moved to the new output directory.

Command Description
do setlogdir^SystemPerformance("directory")
Sets the pathname of output directory to directory; if the does not exist, it is created.
Note:
If you do not specify an absolute pathname (for example, C:\Reports), the directory is assumed to be relative to the install-dir\mgr directory.
set x = $$getlogdir^SystemPerformance()
Sets variable x equal to the output directory pathname.
do clrlogdir^SystemPerformance()
Resets the output directory pathname to the default directory (install-dir\mgr).

Get Version Information

You can find the current version of the ^SystemPerformance utility using the following commands:

  • write $$version^SystemPerformance()

  • set ver=$$version^SystemPerformance()

Manipulate Profiles

You can use the APIs described in the following sections to manipulate the profile definitions.

Create New Profiles

You can create a new profile with the following API command:

set rc=$$addprofile^SystemPerformance("profilename","description",interval,count)
Copy code to clipboard

You must specify:

profilename A name for the profile, which must be unique and cannot contain spaces or white-space characters.
description A description of the profile that is displayed in the ^SystemPerformance menu.
interval The frequency with which to run each sample, in seconds (in the range of 1 second to 300 seconds). An interval of 1 second is only allowed if the profile duration is an hour or less.
count The number of times to run the profile.

The function returns a 1 if successful and a 0 if unsuccessful. This is followed by a carat and then the reason for any errors.

For example, to create a profile named 2minrun that runs a sampling every 10 seconds until it runs 12 samplings (for a total of 120 seconds, or two minutes), enter the following:

set rc=$$addprofile^SystemPerformance("2minrun","A 2-minute run sampling every 10 seconds",10,12)
Copy code to clipboard

The next time you run the ^SystemPerformance utility, the list of profiles includes the following profile name and description:

2minrun     A 2-minute run sampling every 10 seconds
Copy code to clipboard
Generate Profile

Alternatively, you can quickly generate new profiles (with a meaningful name and description) with the following API command:

set rc=$$genprofile^SystemPerformance("duration"[,interval])
Copy code to clipboard

Where:

duration How long the profile should run. The valid formats are "hh:mm", "hh:", or mm
interval (optional) The frequency with which to run each sample, in seconds (in the range of 1 second to 300 seconds). An interval of 1 second is only allowed if the profile duration is an hour or less.

The function returns a 1 if successful. If unsuccessful, it returns a 0 followed by a carat and the reason for any errors.

Note:

The maximum duration is 24 hours (86400 seconds); if you specify a longer duration, ^SystemPerformance reduces it to 24 hours. The duration must be double-quoted only if it contains a colon (:); the colon denotes hours.

The minimum interval, if specified, is 2 seconds, unless the duration (that is, interval * count) is less than one hour, in which case the minimum interval is 1 second. If you specify an invalid interval, ^SystemPerformance increases it to the required minimum. If the interval is not specified, it defaults to 10 seconds.

For example, to generate a profile named 12hours (with a generated profile name and description) that runs samples every 5 minutes (300 seconds) over 12 hours, enter the following:

set rc=$$genprofile^SystemPerformance("12:",300)
Copy code to clipboard

In addition, to generate a profile named 90mins that runs samples every 10 seconds for 90 minutes, enter the following:

set rc=$$genprofile^SystemPerformance(90)
Copy code to clipboard

The next time you run the ^SystemPerformance utility, the list of profiles includes the following profile names and descriptions:

12hours     A 12 hour run sampling every 300 seconds
90mins      A 90 minute run sampling every 10 seconds
Copy code to clipboard

Edit Profiles

You can edit an existing profile (except for the predefined “test” profile) with the following API command:

set rc=$$editprofile^SystemPerformance("profilename","description",[interval],[count])
Copy code to clipboard

Where:

profilename The name of the existing profile you want to edit.
description A description of the profile that is displayed in the ^SystemPerformance menu.
interval (optional) The frequency with which to run each sample, in seconds (in the range of 1 second to 300 seconds). An interval of 1 second is only allowed if the profile duration is an hour or less.
count (optional) The number of times to run the profile.

The function returns a 1 if successful and a 0 if unsuccessful. This is followed by a carat and then the reason for any errors.

Note:

The arguments are positional; if, for example, to edit the count argument (and keep the value specified in the interval argument), you must include the comma separator, as follows: set rc=$$editprofile^SystemPerformance("2minrun","A 5-minute run sampling every 30 seconds",,50).

If the duration exceeds 24 hours (86400 seconds), it is automatically reduced to 24 hours.

For example, to modify the 2minrun profile to run a sampling every 30 seconds until it runs 10 samplings (for a total of 300 seconds, or five minutes), enter the following:

set rc=$$editprofile^SystemPerformance("2minrun","A 5-minute run sampling every 30 seconds",30,10)
Copy code to clipboard

The next time you run the ^SystemPerformance utility, the list of profiles includes the following profile name and description:

2minrun     A 5-minute run sampling every 30 seconds
Copy code to clipboard

Copy Profiles

You can copy an existing profile to a file with a different name with the following API command:

set rc=$$copyprofile^SystemPerformance("sourceprofilename","targetprofilename")
Copy code to clipboard

You must specify:

sourceprofilename The name of an existing profile
targetprofilename The name of the profile you want to create. This must be double-quoted.

The function returns a 1 if successful. If unsuccessful, it returns a 0 followed by a carat and the reason for any errors.

where sourceprofilename is the name of an existing profile, and targetprofilename must be unique and cannot contain spaces or white-space characters.

For example, to make a copy of the 2minrun profile, enter the following:

set rc=$$copyprofile^SystemPerformance("2minrun","5minrun")
Copy code to clipboard

The next time you run the ^SystemPerformance utility, the list of profiles includes the following profile names and description:s

2minrun     A 2-minute run sampling every 30 seconds
5minrun     A 2-minute run sampling every 30 seconds
Copy code to clipboard

You can now edit the new profile as described in Edit Profiles in this section of the guide.

Delete Profiles

You can delete existing profiles (except for the predefined “test” profile) with the following API command:

set rc=$$delprofile^SystemPerformance("profilename")
Copy code to clipboard

You must specify:

profilename The name of the profile you want to delete. This must be double-quoted.

The function returns a 1 if successful. If unsuccessful, it returns a 0 followed by a carat and the reason for any errors.

For example, to delete the 2minrun profile, enter the following:

set rc=$$delprofile^SystemPerformance("2minrun")
Copy code to clipboard

The next time you run the ^SystemPerformance utility, the list of profiles does not include 2minrun profile.

Performance Reports Created by ^SystemPerformance Utility

The ^SystemPerformance utility generates platform-specific reports as described in this chapter. The report is divided into sections, as illustrated in the following listing:

Configuration

IRISTEST3 on machine testsystem

Customer: InterSystems Development
License : 123456

InterSystems IRIS Version String: InterSystems IRIS for Windows (x86-32) 2018.1 (Build 508) Fri Jan 26 2018 17:51:22 EDT
--------------------------------------------------------------
Profile

Profile run "test" started at 10:07 on Jun 01 2016.
Run over 10 intervals of 30 seconds.
--------------------------------------------------------------
license

Product=Enterprise
License Type=Concurrent User
Server=Multi
Platform=Heterogeneous
Licensed Users=1000
Licensed CPUs=16
.
.
.
--------------------------------------------------------------
End of InterSystems IRIS Performance Data Report

The tables in this section describe the sections of each platform-specific report. The sections are listed alphabetically in each table to help you find a specific section more easily. Data that is collected only once is flagged with an asterisk (*). The rest of the data is collected throughout the profile run.

For descriptions of the platform-specific data, see the following tables:

Note:

In all of the following tables, data marked with * is collected once per run.

InterSystems IRIS Performance Data Report for Microsoft Windows Platforms
Section Description
%SS
Four samples taken over the course of the run using the ALL^%SS command.
Configuration *
InterSystems IRIS instance name and hostname from the server, the full InterSystems IRIS version string, the licensed customer name, and the license order number.
cpf file *
A copy of the currently active configuration file.
irisstat -c
Four samples taken at even intervals over the course of the run using the command .\bin\irisstat -s -p-1 -c-1 -e1 -m8 -n2 -N127. Following is a brief description of each argument:
  • -p-1: samples the process table to include process and global state information.
  • -c-1: samples the Counters section of shared memory to display journal, lock, disk, and resource usage statistics.
  • -e1: the SYSLOG error table.
  • -m8: the file table, which includes all IRIS.DAT files and their attributes.
  • -n2: the network structures table, including local-to-remote database mappings.
  • -N127: ECP statistics for both client and server connections.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide.
irisstat -D
Eight samples taken at even intervals over the course of the run using the command iris stat cache --f1 -D10,100. Following is a brief description of each argument:
  • -fl: basic flags.
  • -D10,100: sampling of block collisions every 100 milliseconds over a total sample period of 10 seconds.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide. For information about monitoring block collisions using the ^BLKCOL utility, see the “Monitoring Block Collisions Using ^BLKCOL” chapter of this guide.
license *
InterSystems IRIS license usage information using Decode^%LICENSE and counts^%LICENSE.
mgstat
InterSystems IRIS-specific data taken over the course of the run using the ^mgstat utility. See the Monitoring Performance Using ^mgstat section of the Monitoring Guide.
perfmon
Output from the Microsoft Windows perfmon utility.
The default presentation of Microsoft Windows perfmon data is raw format. The format can be switched to processed, which removes the repeated server name and splits the datetime column into separate columns, to improve readability.
The following functions allow the querying and updating of the flag that determines whether the perfmon data is manipulated or not:
set rc=$$setperfmonpostproc^SystemPerformance(<onoroff>)
where onoroff can be 1 (on) or 0 (off), or the non-case-sensitive words "on" or "off".
A return code of 1 indicates successful update of the flag, 0 indicates a failed update, and -1 indicates a non-Windows platform.
To determine the current format (raw or processed):
set status=$$getperfmonpostproc^SystemPerformance()
A return code of 1 indicates processed format, 0 indicates raw format.
In addition, the current status of the flag is reported prior to the profile menu display in the interactive run of ^SystemPerformance.
By default, perfmon monitors the counter definitions specified in the default pbctrs.txt file. To monitor previously defined perfmon counters, import the definition into ^SystemPerformance using:
write $$importctrs^SystemPerformance(WindowsCtrName [,SystemPerformanceCtrName [,SystemPerformanceFileName]])
A return code of 0 indicates success and a negative number followed by a reason string indicates failure. Duplicate SystemPerformance counter names are not allowed. If necessary, ^SystemPerformance generates both the internal counter name and file name.
To change the default SystemPerformance counter definition to an exiting definition, use:
write $$setctrdefault(SystemPerformanceCtrName)
Return code of 1 indicates success and 0 followed by a reason string indicates failure. If an invalid counter is specified, the builtin defaualt is set.
To reset the default SystemPerformance counter definition, use:
do clrctrdefault^SystemPerformance()
To associate a specific SystemPerformance counter definition with an existing profile, use:
write $$addctrtoprofile(ProfileName,SystemPerformanceCtrName)
Return code of 1 indicates success and 0 followed by a reason string indicates failure. If either the profile or the counter definition do not exist, the command is not run.
Profile *
Information about the ^SystemPerformance profile that created this log.
tasklist *
Output from the tasklisk -V command; a list of all processes running on the system at the start of the profile run.
Windows info *
Output from the systeminfo command, including the Windows version (excluding hotfix information) and hardware information; for example, processor count, memory installed, and memory used.
InterSystems IRIS Performance Data Report for Apple macOS Platforms
Section Description
%SS
Four samples taken over the course of the run using the ALL^%SS command.
Configuration *
InterSystems IRIS instance name and hostname from the server, the full InterSystems IRIS version string, the licensed customer name, and the license order number.
cpf file *
A copy of the currently active configuration file.
irisstat -c
Four samples taken at even intervals over the course of the run using the command iris stat cache -p-1 -c-1 -e1 -m8 -n2 -N127. Following is a brief description of each argument:
  • -p-1: samples the process table to include process and global state information.
  • -c-1: samples the Counters section of shared memory to display journal, lock, disk, and resource usage statistics.
  • -e1: the SYSLOG error table.
  • -m8: the file table, which includes all IRIS.DAT files and their attributes.
  • -n2: the network structures table, including local-to-remote database mappings.
  • -N127: ECP statistics for both client and server connections.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide.
irisstat -D
Eight samples taken at even intervals over the course of the run using the command iris stat cache --f1 -D10,100. Following is a brief description of each argument:
  • -fl: basic flags.
  • -D10,100: sampling of block collisions every 100 milliseconds over a total sample period of 10 seconds.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide. For information about monitoring block collisions using the ^BLKCOL utility, see the “Monitoring Block Collisions Using ^BLKCOL” chapter of this guide.
ipcs *
Interprocess communication configuration information, including shared memory, semaphores, and message queues; output from ipcs -a command.
license *
InterSystems IRIS license usage information using Decode^%LICENSE and counts^%LICENSE.
MacOS Info *
OS version and hardware information. Output from the sw_vers, uname -a, mount, and netstat commands.
mgstat
InterSystems IRIS-specific data taken over the course of the run using the ^mgstat utility. See the Monitoring Performance Using ^mgstat section of the Monitoring Guide.
Profile *
Information about the ^SystemPerformance profile that created this log.
ps: Four samples taken at even intervals over the course of the run using the command ps -eflv.
sar -d Disk (block) device throughput and latency statistics.
sar -g Page out rates.
sar -n DEV Network device throughput.
sar -n EDEV Network device error rates.
sar -p Page in and page fault rates.
sar -u CPU usage statistics.
sysctl -a * Kernel and system parameter settings.
vm_stat * memory page information.
InterSystems IRIS Performance Data Report for IBM AIX® Platforms
Section Description
%SS
Four samples taken over the course of the run using the ALL^%SS command.
AIX info *
Output from the oslevel. uname -a, prtconf, and lspv commands
Configuration *
InterSystems IRIS instance name and hostname from the server, the full InterSystems IRIS version string, the licensed customer name, and the license order number.
cpf file *
A copy of the currently active configuration file.
cpu type *
Information on processors installed and whether or not SMT is enabled; output from lsattr -El proc0.
irisstat -c
Four samples taken at even intervals over the course of the run using the command iris stat cache -p-1 -c-1 -e1 -m8 -n2 -N127. Following is a brief description of each argument:
  • -p-1: samples the process table to include process and global state information.
  • -c-1: samples the Counters section of shared memory to display journal, lock, disk, and resource usage statistics.
  • -e1: the SYSLOG error table.
  • -m8: the file table, which includes all IRIS.DAT files and their attributes.
  • -n2: the network structures table, including local-to-remote database mappings.
  • -N127: ECP statistics for both client and server connections.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide.
irisstat -D
Eight samples taken at even intervals over the course of the run using the command iris stat cache --f1 -D10,100. Following is a brief description of each argument:
  • -fl: basic flags.
  • -D10,100: sampling of block collisions every 100 milliseconds over a total sample period of 10 seconds.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide. For information about monitoring block collisions using the ^BLKCOL utility, see the “Monitoring Block Collisions Using ^BLKCOL” chapter of this guide.
df -k *
Information about mounted file systems, including mount points, logical volumes, and free space; output from df -k command.
filesystems *
Current /etc/filesystems file.
ioo -a * Current values of I/O tunable parameters; output from ioo -a command.
Included only if the user initiating the ^SystemPerformance profile run has root access.
iostat -DIT
Long listing of extended disk/device statistics with sample time for IBM AIX® 5.3 and newer; output from iostat -DIT command.
Information varies for releases before IBM AIX® 5.3.
ipcs *
Interprocess communication configuration information, including shared memory, semaphores, and message queues; output from ipcs -a command.
license *
InterSystems IRIS license usage information using Decode^%LICENSE and counts^%LICENSE.
mount *
Information on all file systems and their mount options.
mgstat
InterSystems IRIS-specific data taken over the course of the run using the ^mgstat utility. See the Monitoring Performance Using ^mgstat section of the Monitoring Guide.
Profile *
Information about the ^SystemPerformance profile that created this log.
ps: Four samples taken at even intervals over the course of the run using the command ps aux.
sar -d
Included only if the user initiating the^SystemPerformance profile run has root access and /usr/sbin/sar exists.
sar -r
Included only if the user initiating the^SystemPerformance profile run has root access and /usr/sbin/sar exists.
sar -u
CPU statistics that includes micropartitioning information if used.
Included only if the user initiating the^SystemPerformance profile run has root access and /usr/sbin/sar exists.
vmo –a
Current values of virtual memory tunable parameters; output from vmo -a command.
Included only if the user initiating the^SystemPerformance profile run has root access.
vmstat -s *
Absolute counts of virtual memory statistics, including total page ins and page outs.
vmstat -t
Virtual memory and CPU (paging, queuing, and CPU) statistics with timestamps.
vmstat -v *
Samples virtual memory statistics, including free pages, pbuf usage, and fsbuf usage.
InterSystems IRIS Performance Data Report for Red Hat Linux/SuSE Linux Platforms
Section Description
%SS
Four samples taken over the course of the run using the ALL^%SS command.
Configuration *
InterSystems IRIS instance name and hostname from the server, the full InterSystems IRIS version string, the licensed customer name, and the license order number.
cpf file *
A copy of the currently active configuration file.
irisstat -c
Four samples taken at even intervals over the course of the run using the command iris stat cache -p-1 -c-1 -e1 -m8 -n2 -N127. Following is a brief description of each argument:
  • -p-1: samples the process table to include process and global state information.
  • -c-1: samples the Counters section of shared memory to display journal, lock, disk, and resource usage statistics.
  • -e1: the SYSLOG error table.
  • -m8: the file table, which includes all IRIS.DAT files and their attributes.
  • -n2: the network structures table, including local-to-remote database mappings.
  • -N127: ECP statistics for both client and server connections.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide.
irisstat -D
Eight samples taken at even intervals over the course of the run using the command iris stat cache --f1 -D10,100. Following is a brief description of each argument:
  • -fl: basic flags.
  • -D10,100: sampling of block collisions every 100 milliseconds over a total sample period of 10 seconds.
For more information about the irisstat utility, see the “Monitoring InterSystems IRIS Using the irisstat Utility” appendix of this guide. For information about monitoring block collisions using the ^BLKCOL utility, see the “Monitoring Block Collisions Using ^BLKCOL” chapter of this guide.
df -k *
Information about mounted file systems, including mount points, logical volumes, and free space; output from df -k command.
free -m
Memory usage statistics in MB (-m).
iostat
CPU and disk throughput.
license *
InterSystems IRIS license usage information using Decode^%LICENSE and counts^%LICENSE.
mgstat
InterSystems IRIS-specific data taken over the course of the run using the ^mgstat utility. See the Monitoring Performance Using ^mgstat section of the Monitoring Guide.
Profile *
Information about the ^SystemPerformance profile that created this log.
ps: Four samples taken at even intervals over the course of the run using the command ps -efly.
sar -d
Disk (block) device throughput and latency statistics.
sar -u
CPU usage statistics include iowait percentage.
vmstat -n
CPU, queuing, paging statistics. Only one header is printed (-n) .