You can monitor many aspects of your Caché instance starting at the System Dashboard of the Management Portal. From the dashboard you can view performance indicators and then, for selected indicators, navigate to more detailed information. This chapter describes the following monitoring tasks:
Monitoring System Dashboard Indicators
The System Operation
> System Dashboard
page of the Management Portal groups the status of key system performance indicators into the following categories. Each category is described in one of the tables that follow.
In most cases, you can click an indicator listed in one of these categories to display a description of the indicator in the bottom detail box at the lower left corner of the page.
System Performance Indicators
||Most recently measured number of global references per second.
||Number of global references since system startup.
||Number of global Set and Kill operations since system startup.
||Number of routine loads and saves since system startup.
||Number of logical block requests since system startup.
||Number of physical block read operations since system startup.
||Number of physical block write operations since system startup.
||Most recently measured cache efficiency (Global references / (physical reads + writes)).
ECP and Shadowing Indicators
||Summary status of ECP (Enterprise Cache Protocol) application servers connected to this system.
|Application Server Traffic
||Most recently measured ECP application server traffic in bytes per second.
||Summary status of ECP data servers to which this system is connected.
|Data Server Traffic
||Most recently measured ECP data server traffic in bytes per second.
||Summary status of shadow connections on this data source.
||Summary status of shadows configured on this shadow server.
System Time Indicators
|System Up Time
||Elapsed time since this system was started.
||Date and time of last system backup.
System Usage Indicators
For more information on any of these topics, click the Help
link on the portal page displayed when you click the ... more details
Errors and Alerts Indicators
Task Manager Upcoming Tasks
||Lists the next five tasks scheduled to run.
||Name of the upcoming task.
||Time the task is scheduled to run.
||Task statusone of: scheduled, completed, running.
Monitoring System Performance
System performance metrics are described in the following tables:
System Usage Statistics
|Global references (all)
||Logical count of accesses to globals, including Sets, Kills, $Data, $Order, $Increment, $Query, and global references in expressions.
|Global update references
||Logical count of global references that are Set, Kill, or $Increment operations.
||Number of calls to a routine.
|Routine buffer loads and saves
||Total number of routine loads and saves as a result of ZLoad, ZSave, and running routines. (In a well-tuned environment, this number increases slowly, since most routine loads are satisfied by the routine cache memory without accessing the disk. Each routine load or save transfers up to 32 KB of data (64 KB for Unicode).)
|Logical block requests
||Number of database blocks read by the global database code. (In a well-tuned environment, many of these reads are satisfied without disk access.)
||Number of physical database blocks read from disk for both global and routine references.
||Number of physical database blocks written to disk for both global and routine references.
||Number of blocks written to the write image journal file.
||Number of journal records createdone for each database modification (Set , Kill, etc.) or transaction event (TStart, TCommit) or other event that is saved to the journal.
|Journal block writes
||Number of 64-KB journal blocks written to the journal file.
||Number of routine lines executed since system startup.
||Date and time stamp of the displayed statistics.
Generic (Shared) Memory Heap Usage
The column headings in the table on this page refer to the following:
Purpose for which generic memory is allocated.
Total generic (SMH) and string table memory allocated to the purpose.
Generic (SMH) and string table memory allocated to the purpose that is still available.
Generic (SMH) and string table memory allocated to the purpose that is in use.
Static memory table memory in use by the purpose.
General string table memory in use by the purpose.
Total combined memory in use by the purpose.
Shared Memory Heap Usage
||Shared memory allocated for the static memory table (SMT) and general string table (GST).
||Shared memory used for system auditing.
||Shared memory allocated/available/used for the class hash table and control blocks.
|Database Encryption Key Change
||Shared memory allocated/available/used for database encryption key changes.
||Shared memory allocated/available/used for semaphore objects.
||Shared memory allocated/available/used for the event system.
||Shared memory allocated/available/used for global mapping and subscript-level mapping (SLM).
||Shared memory allocated/available/used for license upgrades.
||Shared memory allocated/available/used for the lock system.
|National Language Support
||Shared memory allocated/available/used for National Language Support (NLS) tables.
||Shared memory allocated/available/used for the Caché Performance Monitor (^PERFMON).
||Shared memory allocated/available/used for the Process ID (PID) table.
|Routine Buffer in Use Table
||Shared memory allocated/available/used for routine buffer-in-use tables.
||Shared memory allocated/available/used for the security system.
||Shared memory allocated/available/used for shadowing.
||Shared memory allocated/available/used for shared libraries.
|TTY Hash Table
||Shared memory allocated/available/used for TTY hash tables.
|DB Name & Directory
||Shared memory allocated/available/used for database names and directories.
|iKnow Language Model Data
||Shared memory allocated/available/used for iKnow language models.
||Shared memory allocated/available/used for ECP.
||Shared memory allocated/available/used for expanding daemons.
Total memory for each column.
Hover over the column headings for a description of each column.
|Available SMT & GST
||Available memory in the static memory table (SMT) and general string table (GST).
|Total SMT & GST Allocated
||Total used and available memory in the static memory table (SMT) and general string table (GST).
|Total SMH Pages Allocated
||Total directly allocated shared memory heap (SMH) and string table allocated Shared memory, together with the total used/available memory in the static memory table (SMT) and the general string table (GST); the number of 64-KB pages is displayed parenthetically.
Caché locks are created when a Caché process issues a LOCK
command on a Caché local variable or global variable, as long as the entity is not already locked by another process. Entities need not exist in the database to lock them. The article Locking and Concurrency Control
discusses Caché locks in detail.
To display locks system-wide, navigate to the System Operation
> View Locks
page. To delete selected locks system-wide, navigate to the System Operation
> View Locks
page. In both cases, the displayed lock table lists one row for each held lock and for each waiting lock request, identifying the owner. A single row may identify multiple locks held by an owner on the same entity. For example, holding an incremented lock or holding both a Shared lock and an Exclusive lock. If more than one process holds a lock on the same entity, each owner has its own row.
||The process ID of the process holding or waiting for the lock. Contains the client system name if it is a remote lock.
||Lock mode and lock increment count. If the lock count is 1 the count is not displayed. For a list of ModeCount values, refer to the Lock Management chapter of Using Caché ObjectScript.
||Lock reference string of the lock item (does not include the database name).
||The database location of the lock item.
||The system name of where the lock is located, if it is the local system the column is blank.
||The routine line currently being executed by the process holding or waiting for the lock.
||Manage Locks only: If this lock is removable, this option along with the Remove all locks for process option (for local locks) or the Remove all locks from remote client option (for remote locks) appears in the row. Click the appropriate option to remove the lock. remove all locks for the process, or remove all locks from the remote client. If a lock you are removing is part of an open transaction, you are warned before confirming the removal.
In most cases, the only time you need to remove locks is as a result of an application problem.
You may need to enlarge the size of the lock table if your system uses a large number of locks. You can do this using the Management Portal:
In the locksiz
box, update the amount of memory allocated on your system for locks (in bytes), and click OK
The minimum is 65536
; the maximum value depends on the value of gmheap
(Generic Memory Heap Size). Increase the heap size if you need more room for the lock table. Caché rounds up the value to the next multiple of 64 KB. The default range is from 65536
and restart Caché for this information to take effect.
Caché provides the following logs for monitoring various aspects of its operation:
System Manager Directory Log Files
The following log files are available in the system manager directory, typically install-dir\mgr
. The console log and System Monitor log can be viewed using the management portal.
Caché reports general messages, startup/shutdown, license, and network errors, certain operating system errors, and the success or failure of jobs started remotely from other systems through an operator console facility, which writes them to the console log, install-dir\mgr\cconsole.log
by default. Caché System Monitor
also writes notifications to the console log.
If the console log or System Monitor log is larger than 1 MB, only the most recent 1 MB portion is displayed by the Management Portal. Click the Show entire file
link to display the entire file, which may require some time if the file is very large.
If you have trouble starting Caché, use any text editor or text viewer to view the console log.
Caché Monitor scans the console log at regular intervals for entries of the configured minimum severity and generates corresponding notifications, which it writes to the alerts log, install-dir\mgr\alerts.log
, by default. Caché Monitor can be configured to send email notifications instead; see the Using Caché Monitor
chapter of this guide for more information.
If the System Monitor log is larger than 1 MB, only the most recent 1 MB portion is displayed by the Management Portal. Click the Show entire file
link to display the entire file, which may require some time if the file is very large.
The initialization log, cboot.log
, contains information about the initialization of the Caché instance.
The journal history log, journal.log
, contains a list of all journal files maintained by the Caché instance and is used by all journal-related functions, utilities, and APIs to locate journal files. See the Journaling
chapter of the Caché Data Integrity Guide
for information about journaling.
files are plain text files and can be viewed using any text editor or viewer.
Application and ODBC Error Logs
Caché sets aside a small portion of its shared memory to log items of interest. This table, which can contain important diagnostic information, is referred to by several different names, including the Caché system error log, errlog, SYSLOG, and the syslog table.
The view the system error log, choose one of the following methods:
For a guide to using the Caché system error log, including sample output and a detailed description of the output fields, see SYSLOG - what it really is and what it means
by a member of the InterSystems Product Specialist group on InterSystems Developer Community.