This document describes the statistics that are written to data files by older and more recent versions of the GemStone server statmonitor application, and by GBS tools, and presented for further analysis using VSD.
The statmonitor data files that are produced by the GemStone server contain the specific statistics that are available for that product and version, and for the processes that were configured to be collected by that execution of statmonitor. While most of the GemStone server statistics are common across versions, statistics are added and sometimes removed between versions. This reference does not distinguish specific details for each statistic.
Similar descriptions of the meanings of statistics is available in VSD itself, using the Statistics Definition window. See the VSD Main Window Main > Show Statistics Defintions menu item.
Note
This statistical reference include statistics that are generated by version GemStone/S 64 bit 3.5.x and some older versions. Any specific statmonitor data file will not include all these statistics, and a small number of statistics may be renamed between versions, or have changes in specific use. The most reliable source for statisticsal information is VSD's Statistics Information window.
This section lists statistics that are generated by the GemStone/S 64 Bit and the 32-bit GemStone/S server. This includes statistics for the following process types:
Some statistics are platform-specific, and have platforms listed. Note that no host statistics are available for the Macintosh.
The number of aborts executed by a Gem process (or by an application linked to a Gem) since the Gem was most recently started.
A boolean that indicates if the session is currently performing an abort operation.
Number of C Heap tranlog buffers in stone for which tranlog writes are in progress.
The number of dirty pages written from the shared page cache to disk to satisfy a checkpoint.
The number of dirty pages written from the shared page cache to disk by Stone’s AIO page server during normal operation.
The number of internal AIO buffers that are currently empty. The stone will block when starting a tranlog write unless at least 3 buffers are empty.
The current I/O rate being used by the page server, expressed in I/O operations per second. The page server will perform no more than this number of I/O operations per second on average.
The current maximum I/O rate being used by the page server, expressed in I/O operations per second. The page server will perform no more than this number of I/O operations per second on average.
Total number of write errors detected by this page server, including write errors that succeeded on retry.
The number of milliseconds the process has been sleeping for some reason not tracked by any other stat.
The lowest page ID for which the GC reclaim gems will temporarily ignore because a full backup is in progress. Pages with IDs less than this value will be reclaimed normally. Page IDs equal to or greater than this value will not be reclaimed. The session performing the full backup will increase this value as the full backup progresses.
Obsolete statistics; the number of backup record pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of bitlist pages in the cache because of a write done by a Gem or by the Stone, respectively. A bitlist page is a form of a bit array.
The number of bitmap pages read by the process since it was last started. These page reads are actual disk reads and not reads from the shared page cache.
The number of temporary bitmap pages allocated in private heap memory to store bitmap structures.
The number of bitmap internal pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of bitmap leaf pages in the cache because of a write done by a Gem or by the Stone, respectively.
Number of times the shared page cache monitor statistics thread has scanned the entire shared page cache.
The size (in KB) of the C heap area; that is, the total size of results of UtlMalloc for which UtlFree has not been called. This statistic is computed only in slow or fastdebug executables.
The number of checkpoints that have been written since the Stone repository monitor was last started. Writing a checkpoint implies that all of the data and meta information needed to recover the data corresponding to the commit record associated with the checkpoint have been written to the disk(s) containing the extent(s) that make up the repository. Thus, the last checkpoint in the transaction log determines how much data in the log must be recovered when there is a system crash.
In full logging mode, the checkpoints are controlled completely by the STN_CHECKPOINT_INTERVAL configuration parameter. In partial logging mode, a checkpoint may be written more often if the size of the transaction exceeds the value set by the configuration parameter STN_TRAN_LOG_LIMIT. If partial logging is in use, a rapidly increasing CheckpointCount indicates that STN_TRAN_LOG_LIMIT may be set too small.
This internal statistic indicates the state of the checkpoint process:
6 — dispose alloc pages shadowed
These values are provided for information only and are subject to change without notice.
The current number of slots being recovered which were owned by a process which shutdown cleanly.
The total number of slots the shared cache monitor has recovered because a client process shutdown cleanly.
Approximate real time in milliseconds that the clean slot recovery thread in the shared page cache monitor has spent doing work.
A boolean indicating if the page server's client Gem is currently performing an abort operation.
The number of Lost OT root signals sent from the stone to the page server's client.
The number of pages that have been transmitted by a page server to its client. This statistic is implemented only for cache slots used by a page server.
The number of pages that have been transmitted by a client to its page server. This statistic is implemented only for cache slots used by a page server.
The process ID of the client process associated with a Gem or page server process.
The number of SigAborts sent from the stone to the page server's client.
The shared page cache frame ID that the page server clock hand currently references.
The total size in bytes of copies of GsNMethods that are in the code generation area and ready for execution, as of the end of mark/sweep.
Total size in kilobytes of copies of GsMethods that are in the code generation area and ready for execution, as of the end of mark/sweep.
Total number of times the gem has cleared all method send caches in code gen. (2x)
The number of commits executed by a Gem process (or application linked to a Gem) since the Gem was most recently started.
The number of times sessions from the commit queue were added to the run queue.
The number of sessions from the commit queue which were added to the run queue.
The number of times a session in commit queue was not ready for token and not ready for service.
The number of times the session at head of commit queue was not ready to receive the commit token.
The number of times a session in commit queue was not in serialization.
The number of times the stone was ready to assign the commit token to a session in the commit queue but no session was not ready to receive the token.
The number of times a session in commit queue was waiting for SymbolGem to commit.
The current setting of the STN_COMMIT_QUEUE_THRESHOLD configuration parameter. This setting determines how large the commit queue must be before the stone will defer commit record disposal. A value of -1 indicates this feature is disabled and commit record disposal will never be deferred.
The number of outstanding commit records that are currently being maintained by the system. A number larger than the STN_SIGNAL_ABORT_CR_BACKLOG configuration option indicates that there is a process in a transaction that is preventing the Stone from reclaiming (garbage collecting) the resources associated with those commit records. Large values are usually accompanied by continuing growth in the size of the repository.
The number of times the stone deferred commit record disposal because the number of sessions in the commit queue exceeded the STN_COMMIT_QUEUE_THRESHOLD setting.
An internal statistic used to analyze the commit record disposal routines.
The number of commit record pages read by the process since it was started.
The number of commit record pages in the cache because of a write done by a Gem or by the Stone, respectively.
Number of times stone has released a session's reference to a commit record due to an abnormal event. Routine events that cause commit records to be released such as commit, abort, and logout are not included in this statistic.
The number of commit records not in stone’s CR cache at the time they were disposed.
The number of commit records read by the session before it requested the commit token during a commit operation.
Number of commit records read by the session after it has requested but not yet received the commit token.
The number of commit records read while processing a commit and the gem is waiting for the commit token (2x)
The number of commit records read while processing a commit and the Gem has the commit token.
Number of commits, excluding reclaim commits by GcGems, since the start of the currently open epoch.
The session ID of the gem holding the commit token. If no gem is holding the commit token, the value will be zero.
Obsolete, this page kind is no longer used. The number of compressed log pages in the cache because of a write done by a Gem or by the Stone, respectively.
Total number of times the session executed the ''System continueTransaction'' method.
The number of count bag interior pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of count bag leaf pages in the cache because of a write done by a Gem or by the Stone, respectively.
These statistics are obsolete; the page kind is no longer used.
The current number of slots being recovered which were owned by a crashed process.
The total number of slots the shared cache monitor has recovered because a client process shutdown abnormally.
Approximate real time in milliseconds that the crashed slot recovery thread in the shared page cache monitor has spent doing work.
Number of times a commit record page was not found in the stone's commit record cache at commit record disposal time.
The number of milliseconds the process has been faulting in data pages.
The number of data pages read by the process since it was last started. These page reads are actual disk reads and not reads from the shared page cache.
The number of data pages in the cache because of a write done by a Gem or by the Stone, respectively.
The same as DeadNotReclaimedObjs, but in units of 1000s of objects. This statistic is present for server versions that did not support a sufficiently large value range.
DeadNotReclaimedObjs is the number of objects that have been determined to be dead (current sessions have indicated they do not have a reference to the objects) but have not yet been reclaimed.
The total number of dead objects reclaimed since the Stone repository monitor process was last started. For a system in “steady state” for a particular application, look for a uniform discovery rate per garbage collection epoch. Increasing the duration of the epoch should increase this value, but that could also cause larger swings in the amount of free space in the repository.
Total size of data decompressed before decompression, expressed in kilobytes.
Total size of data decompressed after decompression, expressed in kilobytes.
The number of pending commit operations for which the checkpoint will allow itself to be deferred before it completes.
The total number of objects with DependencyMap changes committed by this session.
The number of modified committed objects in the temporary object memory dirty list.
The number of times the page server has swept the cache for dirty pages or frames to add to the free list.
This statistic is 1 when a user has requested that Epoch garbage collection be started manually, and is otherwise zero.
The number of times that the Epoch garbage collection process was run by the Admin GcGem since the Admin GcGem was started. For a system in steady state, look for uniform periods between runs or a uniform run rate.
The duration of the last completed epoch garbage collection operation in seconds.
The number of new objects that were created during the last epoch. In some versions, in units of 1024.
The number of possible dead objects found by the last Epoch garbage collection. In some versions, in units of 1024.
The number of objects scanned by the last Epoch garbage collection. In some versions, in units of 1024.
The number of objects in the ExportSet. The ExportSet is a collection of objects for which the Gem process has handed out an Oop to GemBuilder or Topaz. Objects in the ExportSet are prevented from being automatically garbage collected in the Gem’s temporary object memory. The ExportSet is used to guarantee referential integrity for objects only referenced by an application, that is, objects that have no references to them within the Gem.
The application program is responsible for timely removal of objects from the ExportSet. The contents of the ExportSet can be examined using hidden set methods defined in class System. In general, the smaller the size of the ExportSet, the better the performance is likely to be. There are a couple of reasons for this relationship. The ExportSet is one of the root sets used for garbage collection. The larger the ExportSet, the more likely it is that objects that would otherwise be considered garbage are being retained. One threshold for performance is when the size of the export set exceeds 2K objects. When its size is smaller than 2K objects, the export set is stored as a single disk page. When its size is larger than 2K, the export set occupies more than one page and is likely to cause additional I/O.
The number of objects in the ExportSet that cannot drop out of temporary object memory nor be garbage collected by in-memory collection of temporary objects. Will include any objects represented in ExportedSetSize that are not committed. Can be less than ExportedSetSize if ((System gemConfigurationAt:GemDropCommittedExportedObjs) == true).
The cumulative number of file flush operations performed on any extent by the process. Note that extents residing on raw partitions do not require flushing. On UNIX systems, file flushes are performed by calling the fsync() function. During a checkpoint, each extent is flushed once, except for the primary extent which is flushed twice. Most extent flushes are performed by the AIO page servers.
Total amount of real time in milliseconds the stone has spent increasing the size of the repository by growing the extent(s).
Average amount of real time in microseconds it takes the stone to perform a single grow operation on an extent.
Number of times the stone has increased the size of the repository by growing the extent(s).
Number of session logouts for which stone forced the disconnect of OOB socket.
The number of bitmap fragment pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of frames added to the free list since the session (for Gems), shared page cache, or Stone started.
The number of times the process acquired a page frame in the shared page cache by scanning the cache entries. The process tries to find free frames this way instead of taking them from the free list when the number free is below the value set by the GEM_FREE_FRAME_LIMIT configuration option. While scanning for free frames under those conditions is desirable from a system perspective, it represents additional overhead for the particular session.
The number of times the process acquired a page frame in the shared page cache from the list of free frames.
The number of frames that the process will add or remove from the shared free frame list in a single operation. A value of zero indicates that free frames are not cached and will be added or removed from the shared free frame list one at a time.
The number of unused page frames in the shared page cache. This statistic gives some indication of the utilization of the cache, but it is not tunable. This statistic is valid (non-zero) only for the shared page cache monitor process slot.
When the number of free frames in the shared page cache is less than the FreeFrameLimit, the Gem scans the cache for a free frame rather than use one from the free frame list, so that the Stone process can use the remaining free frames.
The number of free OOPs in the free list that have not been allocated to a Gem and committed. In some versions, in units of 1024.
The size of the free page pool for the repository. Free space in the repository is calculated at 16 KB (for GemStone/S 64 Bit) for each page in the free pool.
The number of pages in the freePool that the Stone maintains for its own use.
Number of free PCEs (Page Cache Entries) currently in the free PCE cache of the process. The capacity of the free PCE cache is equal to the capacity of the free frame cache.
The state of a garbage collection task in the Admin GcGem or a user performing a garbage collection operation. Values are defined as follows:
0 - Garbage collection not active
7 - Write possible dead objects to tranlog
The lowest page ID for which the GC reclaim gems will temporarily ignore because a garbage collection operation is in progress. Pages with IDs less than this value will be reclaimed normally. Page IDs equal to or greater than this value will not be reclaimed. The session performing the garbage collection will increase this value as the operation progresses
Number of keep-alive packets received from the GCI client on a remote host.
The numeric identifier of the last command executed by this gem on behalf of its RPC client. Not used by linked gems.
Approximate total number of real milliseconds spent executing requests from the GCI client. Not used by linked gems.
Approximate number of real milliseconds spent executing the last command from this gem's RPC client. Not used by linked gems.
Indicates the state of the garbage collection lock and why it is being held:
GcVoteState tracks the progress of a number of phases within garbage collection. Possible values are:
1 - Processing possible dead symbols (in older versions: voting on possible dead set).
2 - Waiting for all gems to vote (in older versions: vote complete, waiting for WSUS).
3 - Gems have finished voting (in older versions:WSUS in progress).
4 - Write-set-union sweep in progress (in older versions: WSUS complete).
5 - Write-set-union sweep completed.
Note that all of these phases must complete before the PossibleDead objects can be “promoted” to DeadNotReclaimed objects. The Admin GcGem is responsible for performing the possible dead write set union sweep, and must be running for this to occur.
For details about the voting phase of garbage collection, refer to the System Administration Guide for your version of GemStone.
The number of objects in the write set union used to finalize possible dead objects. All objects in the WSU must be scanned to determine if any objects reference one or more possible dead objects.
The total number of sweeps of the possible dead write set union that have been done by the Admin GcGem since it started.
A boolean that indicates whether the Gem, or in GS/64 v3.5 and later the page server, holds the commit token.
The total number of Gems using the shared page cache whose process slot you are viewing. This is useful for distinguishing Gems using a local shared page cache from those using a remote shared page cache.
The value of the session's GEM_TEMPOBJ_CACHE_SIZE_KB configuration parameter.
The total number of pages in the shared cache that are dirty but not yet eligible for asynchronous writing to the disk because they have not yet been committed. If this value is very large, then very large transactions may be filling the cache. Otherwise, if the Stone repository monitor is running on this cache, the Stone’s private page cache size may be too small. This statistic is available only for the shared page cache monitor’s slot (currently Slot 0).
User-defined statistics that can be written and read by any Gem on any Gem server; that is, these statistics are stored in the shared page cache of the Stone, rather than that of the machine on which the Gem is running. There are 48 global cache statistic slots available.
The number of messages processed by the Stone on behalf of Gems. This statistic can help determine how busy the Stone is.
The session identifier of the Gem for which the Stone is currently processing a message.
Used to monitor the status of certain index operations:
1 - Identity index audit in progress.
2 - Equality index audit - auditing root terms.
3 - Equality index audit - auditing NSC counts.
4 - Equality index audit - auditing btree counts.
5 - IndexManager>>removeAllIndexes in progress.
The ProgressCount statistic is also used to indicate the progress of some of these operations. When it is used, it starts at the number of path terms to be checked and is decremented each time the audit of a path term has completed.
The number of invalid (i.e. empty) pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of milliseconds the process has been faulting in kernel pages.
The numeric index of the last message sent to the page server by its client.
A code indicating the reason the stone released the commit record reference for a session as follows:
2 - Logout processing when the logout was not requested.
The session ID of the last session for which the stone released the commit record reference due to an abnormal event.
The number of the last error processed by the session. Fatal errors are not reported in this statistic.
An internal code which indicates the reason for the last Mark/Sweep operation.
An internal code which indicates the reason for the last scavenge operation.
The session ID of the last session that reported a fatal error to the stone.
The session ID of the last session that was sent a stop session message.
The session ID of the last session that was forcibly logged off by the stone.
The process ID of the last local session to which the stone sent a SIGTERM signal to the gem process.
The session ID of the last local session to which the stone sent a SIGTERM signal to the gem process.
The session ID of the last remote session to which the stone sent a SIGTERM signal to the page server process.
The process ID of the last remote session to which the stone sent a SIGTERM signal to the page server process.
Number of milliseconds the shared page cache monitor statistics thread slept after the last complete scan of the cache.
Number of milliseconds the shared page cache monitor statistics thread last slept while in the loop that computes cache statistics. The thread will sleep for a short interval each time it scans 100,000 cache frames.
The size of the SMC (Shared Memory Communication) queue when it was last processed by the stone.
The number of page cache entries that the process has allocated for collision chains.
The number of times that a page was moved from private cache to the shared cache because the private cache was full.
The maximum number of page cache entries that the process will allocate before performing a reclaim.
The number of page cache entry reclaim operations performed by the process.
The number of stale page cache entries that the process has removed from its private page cache lookup table. Stale PCEs occur when a reference to page in the shared cache becomes invalid because the page is removed from the cache by another process.
The number of valid page cache entries removed by a reclaim operation.
The total number of pages in the shared cache that are dirty and eligible for asynchronous writing to the disk. The Stone’s AIO page server will write these pages to the disk. This statistic is available only for the shared page cache monitor’s slot (currently Slot 0).
The number of times a page lookup found the page in the shared page cache. No I/O was required to access the page.
The number of times a page was not found in the shared cache and a read operation was required to get the page.
The number of Gem session processes waiting for a commit to complete so that their lock request can be serviced.
The number of sessions waiting for the Application object lock with the given number. (System waitForApplicationWriteLock:queue:autoRelease:)
The number of milliseconds the process has been waiting for a user lock.
The number of sessions waiting for transaction log writing to be not saturated. This queue holds mostly committing sessions.
Number of times the stone's login log thread has flushed writes to the login log file.
The number of lower priority sessions waiting for transaction log writing to be not saturated. This queue holds primarily sessions logging resourceIds such as possibleDead or notDead.
The number of physical write operations performed on the transaction logs since the Stone repository monitor process was last started. The minimum write to a transaction log is 512 bytes (one log record). The maximum number of bytes written in a single I/O to the transaction log is 64K. The implication for performance tuning is that to achieve the best throughput (in transactions per second) you would like to have as few as possible writes to the transaction logs. The technique for achieving this is to tune the size of the transactions so that each transaction writes one or more completely filled 64K records.
The number of log records that have been written to the transaction logs since the Stone repository monitor process was last started. The size of a log record is 512 bytes.
The record ID of the last transaction log record read by the log sender process.
The size of the queue that holds sessions waiting for space to become available in a transaction log. This queue should be empty or nearly so unless the space for logging transactions has been exhausted.
An integer value indicating the most recent reason deferred sending a LostOtRoot signal to a session. The codes are defined as follows:
0 - none - no LostOtRoot signals have been deferred.
1 - the session was executing a garbage collection primitive (markForCollection, etc).
2 - the session held the commit token or was waiting in the commit queue.
3 - the session was blocked on an internal stone queue.
4 - the session was waiting in the run queue or the SMC queue.
The total number of times Stone has deferred sending a LostOtRoot signal to a session.
The session ID of the last session for which the stone deferred the sending of a LostOtRoot signal.
The number of Lost OT Root signals the Stone has sent to this session, although the session may be in a sleep or I/O wait state and not yet aware of having received the signal. (See LostOtsReceived (Gem), above.)
The current number of light weight processes that exist in the process.
The total number of light weight processes that have ever contributed to the process's statistics.
Approximate real time in milliseconds that the main shared page cache monitor thread has spent doing work.
The maximum (high water) size of the process's image in kilobytes.
Maximum number of sessions that can concurrently vote on possible dead objects at the end of an MFC (markForCollection) or Epoch garbage collection.
Memory allocated for remSet, in-memory oopMap and map entries, at end of mark/sweep. (31x)
The number of bytes allocated for remSet, in-memory oopMap, and map entries.
Memory in use for remSet, in-memory oopMap and in-use map entries, at end of mark/sweep. (31x)
The number of bytes occupied by remSet, in-memory oopMap, and in-use map entries.
The number of messages sent to the Stone while the gem is processing its part of the commit.
The number of messages sent to the Stone while the Stone is processing its part of the commit.
The number of messages sent to the Stone while waiting for the commit token.
The number of messages sent from a session process to the Stone repository monitor.
The number of messages sent from a session to the stone during critical region of commit.
MilliSecPerIoSample is used as a parameter to implement the configurable I/O limit for GemStone processes. Because a process’s I/O rate currently is sampled every five I/O operations, this statistic is computed as 1000/(ioLimit ∗ 5). A value of 1 means that the process has no I/O limit. If the time in milliseconds since the last sample equals or exceeds MilliSecPerIoSample, the process can perform another I/O operation; if not, the process sleeps. MilliSecPerIoSample is particularly useful in limiting I/O rate of a process that is executing a long-running operation. If you want to calculate the current I/O limit, it is given by 1000/(MilliSecPerIoSample ∗ 5).
The number of times the process has had a page fault that did not need disk access.
Number of times that a per-class lookup cache was grown to larger table size.
The number of threads actively working on a multi-threaded task in a Gem executable.
The maximum number of threads currently configured for a multi-threaded task in a Gem executable. Set by the method that initiated the operation.
Can be set by a session to control the maximum number of active threads working on the task. Value must be between 0 and 100. When a non-zero value is set, the controller thread attempts to keep the percentCpuActive stat below this value by limiting the number of threads working on the task.
Can be set by a session to control the maximum number of active threads working on the task. Must be less than or equal to MtMaxThreads.
The number of socket write operations attempted in stone NetWrite thread.
Used memory in the new generation at the end of mark/sweep or scavenge. (31x)
The number of new objects committed by the most recent transaction committed by this process.
Number of newly created objects that were committed but not added to the tranlog because they are reachable from the NotTranloggedGlobals root object.
The number of symbol creation requests by a session to the symbol creation Gem.
The number of milliseconds that the page server will sleep during the next sleep period. This value is adjusted to regulate the IO rate of the page server.
The number of cache warmer gem processes currently operating on the shared cache.
The number of live ephemerons remaining at the end of the last mark/sweep garbage collection.
Number of sessions queued to have entries written to the stone's login log file.
The number of requests from other threads in the stone main thread input list.
The number of tasks in the NetRead thread work list, produced by NetPoll action functions and not yet processed by the NetRead thread.
The number of uncompleted requests in the input list to the stone NetWrite thread.
The number of instances of SoftReference in temporary object memory found during an attempt to clear SoftReferences. This counter remains at zero until temporary object space grows to at least GEM_SOFTREF_CLEANUP_PERCENT_MEM.
The number of instances of SoftReference in temporary object memory with non-nil, non-special values, that were found during an attempt to clear SoftReferences. This counter remains at zero until temporary object space grows to at least GEM_SOFTREF_CLEANUP_PERCENT_MEM.
Number of processes on this shared page cache that are currently sleeping while waiting to acquire a spin lock.
The number of references contained in copies of committed objects that were stubbed (converted to a Pom objectId) by in-memory mark/sweep.
The number of in-memory references that were stubbed (converted to a Pom objectId) by in-memory scavenge.
The number of times that the in-memory garbage collector has cleared the value instance variable in instances of SoftReference.
The number of sessions that the stone has requested to vote on possible dead objects.
Number of writes to the cache warmer working set file performed since the system was started.
On AIX and HPUX only, the number of times object memory was grown or shrunk by allocating a new virtual memory region with mmap(). Always zero on other platforms.
The number of committed objects copied into VM memory since the start of this session.
The portion of ObjectsRead that occurred during fetch and store traversals.
Total size in bytes of committed objects copied into VM memory since start of session.
The number of committed objects in VM memory that have been re-read from the page cache after transaction boundaries, since the start of this session.
The number of object table pages read by the process since it was last started. These page reads are actual disk reads and not reads from the shared page cache.
The number of objects committed by the most recent transaction committed by this process.
The total number of objects (new and modified objects) reachable from the NotTranloggedGlobals root object which the session has committed.
The session ID of a session referencing the oldest commit record. Note that more than one session may reference a commit record, which prevents it from being reclaimed. A value of 0 (in recent versions of GemStone/S 64 Bit) or -1 indicates that the oldest commit record is not referenced by any session.
The session ID of a session that is not in a transaction that is currently referencing the oldest commit record, which may be preventing it from being reclaimed. Note that more than one session may reference a commit record. A value of 0 (in recent versions of GemStone/S 64 Bit) or -1 indicates that the oldest commit record is not referenced by any session.
Used memory in the old generation at the start of mark/sweep. (2x, 31x)
The number of used bytes in the old generation at the end of mark/sweep. In some versions, in units of 1024.
The total number of temporary object memory bytes flushed to Pom during commit attempts for this session. In some versions, in units of 1024.
The highest number of object identifiers allocated by the system. In some versions, in units of 1024.
The portion of DataPageReads+ObjectTablePageReads that occurred during fetch and store traversals.
The number of pages read by the process that were not object table, data, or bitmap pages since the process was started. These page reads are actual disk reads and not reads from the shared page cache.
The number of object table internal pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of object table leaf pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of times a page disposal had to be deferred. This deferral can be caused by an asynchronous operation (checkpoint) being in progress on the page or by the page being attached or locked.
The number of page I/O (page read or page write) calls done by the process since it was last started. Each I/O call may read or write more than one page.
The average duration of a page I/O (page read or page write) call in microseconds.
The average duration of a page I/O (page read or page write) call in microseconds. The average is computed for the last ten I/O operations, and is updated every ten I/O operations.
The average duration of an I/O call (page read or page write) in microseconds. The average is computed for the last 100 I/O operations, and is updated every ten I/O operations.
The number of times that the process located a page. The page may have been read from disk or found in the cache.
Current value of the STN_PAGE_MGR_MAX_WAIT_TIME configuration option.
Number of times the page manager session waited for service from the stone longer than STN_PAGE_MGR_MAX_WAIT_TIME milliseconds.
A boolean value: true if the page manager session is compressing the list of pages that it sends to remote cache page servers, false otherwise.
Number of times the page manager session has retried removing one or more pages from the shared page caches because the first attempt to remove the pages failed.
The total number of pages that the Page Manager was unable to remove from one or more shared page caches.
The current number of pages that could not be removed from shared page caches by the page manager on the first attempt and are waiting to be retried.
The total number of pages that the Page Manager session received from the Stone to remove from shared page caches.
The total number of pages that the Page Manager has successfully removed from all shared page caches.
The time threshold in seconds used by the page manager to decide if a message should be printed to its log file indicating that a remote cache page server was slow to respond.
Number of seconds the page manager session will wait to receive a response from a remote cache page server.
The total number of times that the Page Manager has attempted to remove pages from shared page caches.
The total number of pages that the Page Manager has attempted to remove from shared page caches. This statistic includes pages processed by page removal retry operations, which occur whenever a page cannot be removed from a shared page cache on the first attempt.
The maximum number of pages the Stone will return to the page manager session in a single batch.
The minimum batch size of pages that the page manager will process. The page manager will request pages to process from the Stone only if the Stone cache statistic PagesWaitingForRemovalInStoneCount exceeds this value.
The number of times that the Page Manager called poll() or select() to determine which cache page servers have completed removing pages from their shared caches. This statistic represents the value during the most recent page disposal operation and is not cumulative. It varies between zero (when there are no remote shared caches on the system) and the number of remote shared page caches.
The total amount of real time in milliseconds that the page manager has spent waiting to receive data from remote cache page servers.
Number of times a commit on stone host could not find a free entry in the page push list.
The number of pages read by the process since it was last started. These page reads are actual disk reads and not reads from the shared page cache. Note that a single operation may read more than one page.
The number of pages read while the Gem is processing its part of the commit.
The number of pages read while the Stone is processing its part of the commit.
Number of pages added to the shared cache by this process which were read from disk.
Number of pages added to the shared cache by this process which were copied from a mid-level shared page cache.
Number of pages added to the shared cache by this process which were copied from the primary shared page cache.
Number of pages added to the shared cache by this process which were newly created. For gems and the stone, the pages were created by the process. For page servers, the pages were created by gem connected to the page server.
The total number of page servers attached to the shared cache.
Number of pages present in the shared cache which were created in a remote shared page cache.
Number of pages present in the shared cache which were created in the primary shared page cache.
Number of pages present in the shared cache which were read from disk.
Number of pages present in the shared cache which were copied from a mid-level shared page cache.
Number of pages present in the shared cache which were copied from the primary shared page cache.
The amount of reclaim work that is pending, that is, the backlog waiting for the Reclaim GcGem to reclaim.
Threshold for page manager to process the backlog described by PagesWaitingForRemovalInStoneCount. (2x)
The number of pages needing to be removed from the cache that were not found in the cache. This statistic is updated by the cache page server on remote caches, or by the page manager on the Stone’s shared page cache.
Number of pages the cache page server or Page Manager gem was unable to remove from the cache. Requests to remove pages come from the stone.
The number of pages successfully removed from the cache by the cache page server or the Page Manager at the Stone’s request. This statistic is updated by the cache page server on remote caches, or by the page manager on the Stone’s shared page cache.
The total number of pages successfully removed from the cache by the cache page server or the Page Manager at the stone's request.
Number of deferred persistent pages waiting to be processed by the Page Manager gem.
The number of pages in the Stone that are waiting to be removed from the shared page cache by the Page Manager.
Number of persistent pages waiting to be processed by the Page Manager gem.
Number of temporary pages waiting to be processed by the Page Manager gem.
The size of the queue that holds sessions waiting to be allocated free pages. This queue should be empty or nearly so unless the repository is below its free space threshold.
The number of pages written by the process since it was last started. These page writes are actual disk writes and not just writes into the shared page cache. Unless a large data load is in process, the number should be low for all processes except the Stone’s AIO page server process.
Number of PCEs (Page Cache Entries) this process added to the free PCE list.
Number of PCEs (Page Cache Entries) this process removed from the free PCE list.
Number of objects in perm gen that were changed by another process at the last transaction boundary.
Total number of objects in perm gen that were changed by another process during the life of the session.
The number of used bytes in the perm generation at the end of mark/sweep. Perm generation holds copies of Classes. In some versions, in units of 1024.
The total number of pages made persistent (committed) by the session. This statistic is updated during commit processing.
The number of persistent pages (pages already checkpointed) that have been disposed of while in the Stone’s private cache.
The number of remote sessions in the Page Server Wait Queue. This queue is used to finalize sessions which are logging out.
The number of pages the process has pinned (locked) in the shared cache. Pages may be pinned by more than one process at the same time.
The number of pages that the process has pinned (locked) in its private page cache.
The number of used bytes in the pom generation at the end of mark/sweep. Pom generation holds clean copies of committed objects. In some versions, in units of 1024.
Number of poorly filled data pages committed by this gem. This statistic is only updated during a commit.
The number of objects previously marked as dereferenced in the repository, but for which sessions currently in a transaction might have created a reference in their object space. An object is not declared (“promoted to”) dead until each active session verifies the absence of such references during its next commit or abort. In some versions, in units of 1024.
The number of symbols found to be not referenced in a markForCollection.
The count of pages written out by the page server during post-checkpoint processing.
The number of bitmap pages removed from the shared page cache by this page server.
The number of commit record pages removed from the shared page cache by this page server.
The number of data pages removed from the shared page cache by this page server.
The number of object table pages removed from the shared page cache by this page server.
The number of pages removed from the shared cache by this page server that were not data, object table, commit record, or bitmap pages.
The primitive number currently being executed by the session, or 0 if the session is not in a primitive. The session only sets this value for long-running primitives. A non-zero value also indicates the session is immune from termination due to the STN_GEM_TIMEOUT mechanism.
Note: the PrimitiveNumber stat is set to 9999 if the session has executed System class >> disableStoneGemTimeout.
The number of poorly filled pages that are pending, that is, the backlog waiting for the ReclaimGem reclaim task.
Number of processes attached to the shared cache that are spinning while attempting to acquire a queue lock.
The operating system processId for the process associated with this shared page cache process slot.
This statistic identifies the process kind (Gem, Stone, page server, or shared page cache monitor).
You can use this statistic to monitor the progress of certain Repository methods that may run for extended periods.
Pages in the page push list that had a new lifetime in stone's cache by the time the pusher thread processed that page in the list.
Pages in the page push list that were no longer in stone's cache by the time the pusher thread processed that page in the list.
Poorly filled data pages in the page push list that were skipped by a page pusher thread.
Pages sent to a mid cache by a page pusher thread in a HostAgent on the stone host.
The number of sessions waiting for the RcRetry object lock. (System class >> waitForRcWriteLock:)
Shows the number of sessions waiting for an rc commit to complete so that their rc retry can be serviced.
The average number of milliseconds to service a read I/O, including both time spent in the I/O queue and time performing the read.
The total number of times the gem rebuilt its list of scavengeable pages while processing a commit.
The number of active processes attached to the shared page cache. This statistic is computed every half second and has decays quickly.
Pages received by a page receiver thread and ignored because the were already in the mid cache, or because a read of the page was in progress.
Pages received by a page receiver thread and ignored because the mid cache was full.
Pages received by a page receiver thread and ignored because a read of that page was in progress.
The number of reclaims performed by a Reclaim GcGem process since the Stone repository monitor was last started.
The number of pages reclaimed by a Reclaim GcGem process since the Stone repository monitor process was last started. The count indicates the number of pages that have been or will soon be placed back into the repository’s pool of free pages.
The number of symbols that have been reclaimed since the stone was started.
The time in seconds spent by the main recovery thread waiting for free frames in the shared page cache. Recovery performance may be improved by increasing the size of the shared page cache.
The number of logEntryBuffers used to hold records for sessions not yet committed.
The time in seconds that the reader thread spent waiting for the main recovery thread to catch up processing the log buffers.
The time in seconds spent by the main recovery thread waiting for oops to be reclaimed. Recovery performance may be improved by adding more reclaim gems.
The difference in commit time (restoreLogCommitTime - originalCommitTime), gives a relative idea of how hot a hot standby is.
The block ID of the transaction log currently being replayed during system recovery or restore.
The file ID of the transaction log currently being replayed during system recovery or restore.
The total number of processes which attempted to connect to the shared page cache but were rejected because the maximum number of processes had already attached.
The number of remote caches for which stone has detected loss of connection
The number of remote caches that require service from the Page Manager. Caches need service when they are starting or shutting down.
RemoteMidLevelCacheCount is the total number of remote shared page caches being used as mid-level caches.
The total number of remote shared page caches attached to the system.
Current setting of the STN_MAX_REMOTE_CACHES configuration parameter
These statistics are obsolete; the page kind is no longer used.
Number of times the stone was able to send a response to the client gem or page server without using the semaphore.
Number of times the stone sent a response to the client gem or page server using the semaphore.
The number of root 4.0 pages in the cache because of a write done by a Gem or by the Stone, respectively.
The number of root pages in the cache because of a write done by a Gem or by the Stone, respectively.
On Linux, the data resident set size. On other platforms, the combined data and stack resident set size.
The number of Gem session processes waiting for service from the Stone repository monitor.
Number of times statmonitor did not record statistics as a scheduled point in time.
Number of times an in-memory GC scavenge operation could not be completed because old space was full. The scavenge will be promoted to a mark/sweep GC.
Number of times a scavenge operation was promoted to a Mark/Sweep operation.
The session ID of the session that is performing a full backup; 0 if a full backup is not in progress.
These are computed by user code to define statistics associated with a session. There are 48 session cache statistic slots available.
The sessionId of the session holding the GcLock. A value of 1 indicates that the lock is held by Stone recovery or restore; 0 means that the lock is not issued.
The number of data pages added to the reclaim list due to commits by this Gem. This statistic is only updated during a commit.
The number of times the Stone has signaled this session to abort, that it has received and recognized.
The number of times the Stone has signaled this session to abort, although the session may be in a sleep or I/O wait state and not yet aware of having received the signal. (See SigAbortsReceived (Gem), above.)
The total number of operating system signals this process has received.
Total number of times the Gem slept while waiting to dispose of a temporary page. Each tick of the counter represents 5 milliseconds of sleep. If you encounter excessive counts, please report them to GemStone Technical Support.
The total number of slots for which the shared cache monitor has attempted recovery because a client process shutdown abnormally.
The maximum number of processes that can concurrently attach to the shared page cache.
The current setting of the SHR_SPIN_LOCK_COUNT parameter. It determines how many times a process will attempt to acquire a spin lock before sleeping on a semaphore.
The number of times the process was forced to sleep on a semaphore while attempting to acquire the free frame list spin lock.
The number of times the process was forced to sleep on a semaphore while attempting to acquire the free page cache entry spin lock.
The number of times the process was forced to sleep on a semaphore while attempting to acquire a hash table spin lock.
The number of times a process was forced to sleep on a semaphore waiting for the NewSymbols spinLock.
The number of times the process was forced to sleep on a semaphore while attempting to acquire a shared counter spin lock.
The number of times the process was forced to sleep on a semaphore while attempting to acquire a page frame spin lock.
Number of times a session was forced to sleep on a semaphore waiting for the Smc spinLock. The SMC queue allows sessions to communicate with the Stone via shared memory. (2x)
Approximate real time in milliseconds that the statistics thread in the shared page cache monitor has spent doing work.
Number of AIO requests completed after one call to aio_suspend(). (2x)
Number of AIO requests that were completed without sleeping. The AIO thread in stone will sleep for a short time if aio_suspend() returns prematurely several times. (2x)
Number of AIO requested completed without calling aio_suspend(). (2x)
The number of aio_write() operations for which either aio_error() or aio_return() reported that the AIO failed.
Number of times that aio_suspend() was called to complete the last AIO request. (2x)
Total real time in milliseconds that the main thread spent executing the aio_write() call. aio_write() is used to initiate asynchronous writes to the tranlog and should not block.
Value of the STN_NUM_AIO_WRITE_THREADS Stone configuration parameter, which determines how many threads are dedicating to writing to the tranlog.
Total number of times the aio_suspend() call indicated an AIO completed, but the aio_error() call returned EINPROGRESS, indicating the AIO is not complete. (2x)
Total number of times the aio_suspend() timer expired because no completed AIO requests were found. (2x)
Number of times a tranlog write was delayed because all tranlog write threads were busy.
Total number of times the AIO wait thread performed a blocking write because an async IO was cancelled. (2x)
Number of real milliseconds the AIO wait thread in stone spent blocked by the fsync() call when flushing data to the tranlog.
Total number of times the AIO wait thread in stone went to sleep while waiting for an AIO to complete. (2x)
Time in microseconds that it took the AIO thread to complete the last AIO request. (2x)
The number of times the Stone’s AIO wait thread waited on semaphore for more work.
Approximate total real time in milliseconds that the AIO wait thread spent waiting for asynchronous I/O requests to complete.
Total number of times the aio_write() call returned a status of EAGAIN to the main thread in stone. (2x)
The number of aio_write() calls by the Stone main thread which failed with other than EAGAIN. Stat should normally be zero.
Number of tranlog write threads in the Stone process that are currently idle.
Current setting of the STN_CR_BACKLOG_THRESHOLD Stone configuration parameter.
The total number of times the Stone retrieved the lock set and passed it to a remote gem.
The total number of times the Stone has executed its service loop. If this number remains unchanged for a significant period (for example, ten seconds or so), the Stone has hung.
The total number of times the Stone went to sleep waiting for a network event to occur. This state occurs when StnLoopState is set to 17.
Current setting of the STN_LOOP_NO_WORK_THRESHOLD stone configuration parameter.
Number of times the stone has executed its main service loop and found no work to perform. This counter is reset to zero each time the stone performs work.
Number of times the stone has executed its main service loop since sleeping. This counter is reset to zero each time the stone sleeps while waiting for work.
An integer that identifies where, in the Stone control loop, the Stone process is currently executing. For a meaningful statistic, set your sample rate to faster than a second. For state definitions, consult GemStone technical support.
The number of times the stone main thread waited for free AIO buffers to become available.
Number of requests sent to the stone when the stone was sleeping and was awoken.
Number of requests sent to the stone when the stone was already awake.
Current value of the STN_REMOTE_CACHE_PGSVR_TIMEOUT stone configuration parameter. (2x)
Current value of the STN_SMC_SPIN_LOCK_COUNT stone configuration parameter.
Current setting of the STN_TRAN_Q_TO_RUN_Q_THRESHOLD stone configuration parameter.
This internal statistic is used to determine the state of the Stone’s commit processing.
The number of times the process swapped out of memory to disk.
The number of sessions waiting for a Symbol creation request to be processed.
Number of time the system returned the same timestamp consecutively.
The number of milliseconds the process has been using the CPU to execute system calls.
The minimum number of unused page frames the free frame page server(s) will attempt to kee/p in the cache. The free frame count can still fall below this value if the cache contains mostly dirty pages, which free frame page servers cannot preempt.
The percent of dirty pages that AIO page servers try to maintain in the shared cache. If the dirty pages are below this target then the I/O rate will be limited on the next scan. If the dirty pages are above this target then the I/O rate will be set to AioRateMax.
The approximate percentage of the total reserved temporary object memory for this session which is in use. Sessions are likely to encounter an out of memory error if this value approaches or exceeds 100%. This statistic is only updated at the end of a mark/sweep operation.
TempOopsAllocated is the number of oops allocated to a session, but not yet committed.
TempPagesAllocated is the number of pages allocated to a session, but not yet committed.
The number of temporary pages (pages allocated since the last checkpoint) that have been disposed.
The number of milliseconds the process has been faulting in text pages.
Number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.
The number of threads owned by the process that are executing on the CPU.
The total amount of real time in milliseconds that the Stone has spent disposing commit records. Commit records disposed during repository startup are not included in this statistic.
The cumulative number of milliseconds that the Gem or Stone has spent scanning the shared page cache for a free frame since the session (for Gems) or Stone started.
Real time in milliseconds spent by the stone processing requests from the page manager session for lists of pages to remove from shared page caches.
The real time in milliseconds spent in in-memory garbage collector mark/sweeps.
The cumulative amount of real time in milliseconds that a session or Stone has spent reading network data from a page server.
The cumulative amount of real time in milliseconds that a session or Stone has spent writing network data to a page server.
Real time in milliseconds spent by the stone processing the list of pages from the page manager session which were removed from shared page caches.
The total time spent by the Stone retrieving the lock set and passing it to a remote gem.
The elapsed real time in milliseconds the Stone spent performing page disposal operations.
The total real time the gem spent updating its unions while waiting for the commit token.
Approximate total number of real milliseconds spent executing user action code.
The real number of milliseconds the process spent waiting for the read of another process to complete.
Time the last epoch garbage collection operation was completed by the Admin GcGem, expressed in seconds since January 1, 1970, 00:00:00 UTC.Time to end of the currently open epoch is computed from here.
The number of milliseconds of real time the Stone has spent performing commit processing, not including time taken by asynchronous writes to the transaction log.
The total amount of real time in milliseconds the page server has spent reading pages from disk.
The total amount of real time in milliseconds the page server has spent performing read requests for its client. This statistic includes time reading pages from disk and time searching the shared page cache for pages.
The cumulative amount of time in milliseconds that the Gem session process has spent doing the processing for commits while it has the commit token.
The cumulative amount of time in milliseconds that the Gem session process has waited for the Stone repository monitor to complete commits by this session.
The cumulative amount of time in milliseconds that the Gem session process has spent waiting for its turn to commit, that is, the time waiting for the commit token and the Stone’s processing time for serialization.
The total real time in milliseconds that the process has spent waiting for I/O calls that read or write pages to complete. Only page I/O is included in this statistic. Other types of I/O (such as transaction log writes by the Stone process) are not included.
The total time the session spent waiting for a response from the Stone.
Cumulative elapsed time in milliseconds waiting for symbol creation requests to be processed.
The elapsed time in milliseconds that the statmonitor spent collecting and writing the statistics.
The number of abort operations, including read-only commits, performed system-wide since the Stone was started.
Total number of bitmap pages read by all processes currently attached to the shared page cache.
Total number of commit record pages read into the shared page cache by all processes since the cache was created.
The total number of commits (excluding read-only commits) performed by all processes since the Stone repository monitor was last started.
Total number of data pages read by all processes currently attached to the shared page cache.
Total number of frames added to the free list by all processes currently attached to the shared page cache. In some versions, in units of 1024.
Total number of frames found by scanning the cache for all processes currently attached to the shared page cache.
Total number of frames taken from the free list by all processes currently attached to the shared page cache. In some versions, in units of 1024.
Total number of free frames present in the free frame caches of all processes currently attached to the shared page cache.
Total number of local page cache hits for all processes currently attached to the shared page cache. In some versions, in units of 1024.
Total number of local page cache misses for all processes currently attached to the shared page cache. In some versions, in units of 1024.
Total number of miscellaneous pages read by all processes currently attached to the shared page cache.
Total number of pages present in the shared page cache which are of a page kind other than object table, data, bitmap or commit record.
Total number of object table pages read by all processes currently attached to the shared page cache.
Total number of pages read by all processes currently attached to the shared page cache.
Total number of pages which were read from disk and added to the shared page cache by all processes since the cache was created.
Total number of pages which were copied from a mid-level shared cache and added to the shared page cache by all processes since the cache was created.
Total number of pages which were copied from the primary shared cache and added to the shared page cache by all processes since the cache was created.
Total number of pages which were newly created and added to the shared page cache by all processes since the cache was created.
Total number of pages written by all processes currently attached to the shared page cache.
Total number of PCEs (Page Cache Entries) added to the free list by all processes currently attached to the shared page cache. In some versions, in units of 1024.
Total number of free PCEs (Page Cache Entries) present in the free PCE caches of all processes currently attached to the shared page cache.
Total number of PCEs (Page Cache Entries) removed from the free list by all processes currently attached to the shared page cache. In some versions, in units of 1024.
he total number of processes currently connected to the cache, including crashed processes that have not yet had their cache slot recovered.
The total number of stop session requests initiated by a gem or by the stone.
Total number of SigAbort signals the stone has sent to sessions since the stone has been running.
Total number of times the stone has sent a SIGTERM signal to a gem process.
Total number of times the stone has sent a SIGTERM signal to a page server process.
Total number of PageRead operations avoided by all processes currently attached to the shared page cache.
Total number of ephemerons whose key has been garbage collected. Only updated at the end of a mark/sweep GC.
The number of tranlog buffers written to the tranlogs. (3.4 and later)
The file id of the transaction log to which the most recent tranlog entry was written.
The number of pwritev calls made by stone to write to the transaction logs since stone was last started. (3.4 and later)
Total number of KB written to the tranlog by stone on behalf of this session.
The kind of tranlog record last written to the tranlog by stone on behalf of this session.
Total number of physical tranlog records written to the tranlog by stone by this session.
A flag indicating if all configured tranlog partitions or directories are full; 1 means full.
Indicates if the session is in a transaction. Possible values are:
1 indicates the session is in a transaction.
0 indicates that the session is not in a transaction, but allows a consistent view for
reads. Session is subject to sigAbort or lostOT
Total number of free commit record page entries in the stone's internal commit record cache.
Total number of commit record page entries allocated in the stone's internal commit record cache.
The total number of times the gem updated its unions while waiting for the commit token. This count will be at least one for every commit.
The number of voluntary context switches done by the process. Note that this counter is always 0 on HP-UX.
The number of objects that the Gem process removed from the possible dead set the last time that it voted on the possible dead.
The total number of objects that have been voted 'not-dead' by all Gem processes thus far in the voting cycle. In some versions, in units of 1024.
The number of milliseconds the process has been waiting for a CPU due to latency.
The sessionId of a session which the system is waiting for to complete the voting on possible dead objects. A zero value indicates that it is not waiting.
The number of PageRead operations avoided by waiting for read already in progress by another process.
Number of times the working set was cleared at a transaction boundary because a large number of objects in the working set were changed by another session.
Number of objects in the working set that were changed by another process at the last transaction boundary.
Total number of objects in the working set that were changed by another process during the life of the session.
This section lists statistics that are generated when statmonitor on Linux is started using options that specify to include system statistics. This list includes statistics for the operating system, processor, network, and disks.
Note
The set of system statitics that can be collected varies by server product and version.
The amount of memory that has been used more recently and usually not reclaimed unless absolutely necessary.
The number of kilobytes of swap space have actually been written to. Swap space must be reserved before it can be allocated.
The amount of memory presently allocated on the system, including memory allocated by processes that has not yet been used.
The amount of memory in the huge pages pool for which a commitment to allocate from the pool has been made, but no allocation has yet been made.
The amount of memory in the huge pages pool above the value in /proc/sys/vm/nr_hugepages.
The amount of memory which has been less recently used. It is more eligible to be reclaimed for other purposes.
The amount of memory used by the kernel for caching data structures that may be reclaimed.
The amount of memory used by the kernel for caching data structures that cannot be reclaimed.
The amont of memory that has been locked using mlock(2) or similar calls. Locked memory cannot be swapped.
The amount of memory used by NFS pages sent to the server, but not yet committed to stable storage.
The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.
The number of outbound packets that could not be transmitted because of errors.
The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.
The percentage of the total available time that has been used to execute user or system code.
The percentage of the total available time that has been spent waiting for disk I/O to complete.
The percentage of the total available time that has been used to execute user code in low priority mode.
The percentage of the total available time that has been used to execute tasks which do not belong to any other category.
The percentage of the total available time that has been used to execute system (i.e. kernel) code.
The number of processes in the computer at the time of data collection. Notice that this is an instantaneous count, not an average over the time interval. Each process represents the running of a program.
The amount of memory enabled for sharing between multiple processes via shmat(2) and mmap(2) with the MAP_SHARED attribute set.
This section lists statistics that are generated when statmonitor on Solaris on SPARC or Solaris on x86 is started using options that specify to include system statistics. This list includes statistics for the operating system, processor, network, and disks.
Note
The set of system statitics that can be collected varies by server product and version.
The average number of operations being performed on a system I/O device.
Operations go into the active queue when they are taken from the wait queue because the system bus and device are ready. They leave it when the device completes the operation.
The average milliseconds and operation stays in the queue. Its calculated by dividing the queue length by total number of operations taken out of the queue.
Operations go into the active queue when they are taken from the wait queue because the system bus and device are ready. They leave it when the device completes the operation.
The average active queue service time in milliseconds. Its calculated by dividing the time the queue was busy by total number of operations taken out of the queue.
Operations go into the active queue when they are taken from the wait queue because the system bus and device are ready. They leave it when the device completes the operation.
A percentage that represents how much of the queue is being used. Its calculated by dividing the time the queue was busy by the total time available.
Operations go into the active queue when they are taken from the wait queue because the system bus and device are ready. They leave it when the device completes the operation.
The number of megabytes of swap space have actually been written to. Swap space must be reserved before it can be allocated.
The total number pages that contain heap, stack, or other changeable data that have been removed from memory and added to the free list.
The total number pages that contain heap, stack, or other changeable data that have been allocated in memory and possibly copied from disk.
The total number pages that contain heap, stack, or other changeable data that have been removed from memory and copied to disk.
The total number of times TCP connections failed to be established. At the lowest level this means that they have made a direct transition to the CLOSED state from the SYN-SENT state or the SYN-RCVD state, or a direct transition to the LISTEN state from the SYN-RCVD state.
The total number of times a client socket has explicitly connected to a listening server socket.At the lowest level this means that a socket has made a direct transition to the SYN-SENT state from the CLOSED state.
Current number of established TCP socket connections on the machine. At the lowest leve this means that a socket's current state is either ESTABLISHED or CLOSE-WAIT.
The total number of times a listening server socket has accepted a connection from a client. At the lowest level this means that a socket has made a direct transition to the SYN-RCVD state from the LISTEN state.
The total number of times established TCP connections have been closed.At the lowest level this means a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state.
The number of times this thread has lost the CPU to another thread. Thread switches can occur either inside of a single process or across processes. A thread switch may be caused either by one thread asking another for information, or by a thread being preempted by another, higher priority thread becoming ready to run.
The total number of times a private copy of a shared page needed to be made due to a write to the shared page.
The total number readonly pages that contain code or data that have been removed from memory and returned to the free list.
The total number readonly pages that contain code or data that have been copied from disk to memory.
The total number readonly pages that contain code or data that have been removed from memory and will need to be paged in when used again.
The total number of times a thread entering a mutex had to wait for the mutex to be unlocked.
The total number of times readers failed to obtain a readers/writer locks on their first try. When this happens the reader has to wait for the current writer to release the lock.
The total number of times writers failed to obtain a readers/writer locks on their first try. When this happens the writer has to wait for all the current readers or the single writer to release the lock.
The total number of pages, that contained the contents of a file due to the file being read from a file system, that have been removed from memory and put on the free list.
The total number of pages that contain the contents of a file due to the file being read from a file system.
The total number of pages, that contained the contents of a file due to the file being read from a file system, that have been removed from memory and copied to disk.
The total number of half open connections dropped. Non-zero values usually indicate a SYN flood attack.
The total number of connection refused due to the help open listen queue (q0) being full.
The total number of hat faults. You only get these on systems with software memory management units.
The total number of interrupts as threads. This does not include clock interrupts.
The total number of times a probe needed to be sent out due to a keep alive timer expiring.
The total number of times a page fault required disk io to get the page. A page fault occurs when a process refers to a virtual memory page that has been paged out.
The total number of page reclaims done from the free list. These reclaims are much cheaper than those that need to go to disk.
The total number of times pages have been brought into memory from disk by the operating system's memory manager.
The total number of times pages have been flushed from memory to disk by the operating system's memory manager.
The total number of page reclaims; both from the free list and from disk. Page reclaims are caused by a reference to a page that has been stolen from a process by the page daemon.
The total number of pages that have been added to the free list be either the pager daemon or automatically.
The total number of pages that have been brought into memory from disk by the operating system's memory manager.
The total number of pages that have been flushed from memory to disk by the operating system's memory manager.
The total number pages examined by the pageout daemon. When the amount of free memory gets below a certain size, the daemon start to look for inactive memory pages to steal from processes. A high scan rate is a good indication of needing more memory.
The total number of swapped out pages that have been brought back into memory from disk.
The total number of pages that have been moved from memory to disk due to a swap out operation.
The percentage of the total available time that has been used to execute user or system code.
The percentage of the total available time that has been spent waiting for disk I/O to complete.
The percentage of the total available time that has been spent waiting for paging and swapping to complete.
The percentage of the total available time that has been used to execute system (i.e. kernel) code.
The percentage of the total available time that has been spent waiting for I/O, paging, or swapping.
The total number of physical block I/O write operations, both synchronous and asynchronous.
The number of processes in the computer at the time of data collection. Notice that this is an instantaneous count, not an average over the time interval. Each process represents the running of a program.
The total number of times memory has been accessed in a way that was not allowed. This results in a segementation violation and in most cases a core dump.
The total number of TCP data bytes received in duplicate segments. Incoming data may be duplicated when an acknowledgment is lost or delayed and the other end retransmits a segment that actually arrived correctly the first time. This situation can be a sign that the remote systems are retransmitting too quickly and needs tuning or a patch.
The total number of TCP data bytes received in the wrong order. If this value is high compared to (ReceivedInorderBytes > ReceivedInorderBytes) then it could be a sign of routing problems.
The total number of TCP data bytes received in partially duplicated segments. Incoming data may be duplicated when an acknowledgment is lost or delayed and the other end retransmits a segment that actually arrived correctly the first time. This situation can be a sign that the remote systems are retransmitting too quickly and needs tuning or a patch.
The total number of errors that have occured on the I/O device that are recoverable.
The total number of bytes resent in TCP data segments. If this value is more than 30% of (SentTcpBytes > SentTcpBytes) you may have some bad network hardware, a congested route that is dropping packets, or and operating system that needs a patch.
The total number of times the system scheduler has removed a thread from the run queue because it was waiting for a resource.
The total number of TCP segments that have been received, including those received in error. This count includes segments received on currently established connections.
The total number of retransmitted TCP segments, that is, segments transmitted containing one or more previously transmitted bytes. If this value is more than 30% of (SegmentsSent > SegmentsSent) you may have some bad network hardware, a congested route that is dropping packets, or an operating system that needs a patch.
The total number of TCP segments that are sent, including those on current connections, but excluding those containing only retransmitted bytes.
The total number of times a process that had been swapped out to disk is brought back into memory.
The total number of times an idle process has been swapped out from memory to disk. If this ever happens its a sign that free memory stayed low long enough to trigger swapping.
The total number of minor page faults in kernel code. Minor page faults do not require disk access.
The total number of context switches from one thread to another on the computer. Thread switches can occur either inside of a single process or across processes. A thread switch may be caused either by one thread asking another for information, or by a thread being preempted by another, higher priority thread becoming ready to run.
The total number of times a thread was forced to give up the cpu even though it was still ready to run.
The number of megabytes of swap space that are free. If this value goes to zero new processes can no longer be created.
The total number of minor page faults in non-kernel code. Minor page faults do not require disk access.
The average number of operations in the driver's wait queue for a system I/O device. Operations go into the wait queue when they are performed on the I/O device and leave it when both the system bus and device are ready to activate the operation.
The average milliseconds and operation stays in the queue. Its calculated by dividing the queue length by total number of operations taken out of the queue. Operations go into the wait queue when they are performed on the I/O device and leave it when both the system bus and device are ready to activate the operation.
The average wait queue service time in milliseconds. Its calculated by dividing the time the queue was busy by total number of operations taken out of the queue. Operations go into the wait queue when they are performed on the I/O device and leave it when both the system bus and device are ready to activate the operation.
A percentage that represents how much of the queue is being used. Its calculated by dividing the time the queue was busy by the total time available. Operations go into the wait queue when they are performed on the I/O device and leave it when both the system bus and device are ready to activate the operation.
This section lists statistics that are generated when statmonitor on AIX is started using options that specify to include system statistics. This list includes statistics for the operating system, processor, network, and disks.
Note
The set of system statitics that can be collected varies by server product and version. Not all statistics may be generated by statmonitor in any particlar version of GemStone.
Number of bytes of memory available without paging. From the memavailable member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of backtracks. From the backtrks member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The number of bytes received on the network interface, including framing characters.
The number of bytes sent on the network interface, including framing characters.
Count of pages in use for the client segment. From the numclseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of pages pinned for the client segment. From the numclsegpin member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of packet collisions that have happened on the network interface.
Current number of established TCP socket connections on the machine. At the lowest leve this means that a socket's current state is either ESTABLISHED or CLOSE-WAIT.
The total number of read operations on the disk. If this counter is always 0 then 'diskperf -y' needs to be run.
The total number of write operations on the disk. If this is always 0 then 'diskperf -y' needs to be run.
Count of exec filled pages. From the exfills member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of extend XPT waits. From the extendwts member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of free frame waits. From the freewts member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages in the free list. From the numfrb member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of free large memory pages. From the lgpg_numfrb member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Size in bytes of a large memory page on this host. From the lgpg_size member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Total number of large memory pages. From the lgpg_cnt member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of large memory pages in use. From the lgpg_inuse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
High water number of large memory pages used. From the lgpg_hi member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The average number of threads ready to run over the last fifteen minutes.
Number of pages loaded to the hypervisor for CMO. From the nloaned member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of lock misses. From the lockexct member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The maximum number of pages that may be used for client pages. From the maxclient member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The threshold of free pages above which the page-stealing algorithm will stop stealing pages to replenish the free list. From the maxfree member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The threshold of free pages below which the page-stealing algorithm may steal computational pages as well as file buffer pages. If the free page list is larger than this value, then the page-stealing algorithm will only steal file buffer pages. From the maxperm member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The maximum data transfer rate of the disk in megabytes per second. This statistic is obsolete.
Number of pages mguard failed to remove. From the memgrd_fail_pgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages mguard successfully removed. From the memgrd_succ_pgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The threshold of free pages below which the page-stealing algorithm will begin to steal pages to replenish the free list. From the minfree member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The threshold of free pages below which the page-stealing algorithm may steal computational and file buffer pages regardless of the repaging rate. From the minperm member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The MTU (maximum transmission unit) size of the network in bytes. This is the maximum packet size that the network can handle.
Number of nonremovable pages for DR. From the normlmbmem member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages on SCBs not marked V_SYSTEM. From the nonsys_pgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of client frames. From the numclient member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages used to cache files. From the numperm member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The number of outbound packets that could not be transmitted because of errors.
The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.
Maximum number of page ahead pages. From the maxpgahead member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Minimum number of page ahead pages. From the minpgahead member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of Page Faults by the threads executing in this process. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This will not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.
The total number of times pages have been brought into memory from disk by the operating system's memory manager.
The total number of times pages have been flushed from memory to disk by the operating system's memory manager.
Count of file buffer remote page outs. From the numremote member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of file buffer page outs. From the numpout member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of page reclaims; both from the free list and from disk.
Page reclaims are caused by a reference to a page that has been stolen from a process by the page daemon.
Number of free paging space blocks. From the psfreeblks member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of pages that have been brought into memory from disk by the operating system's memory manager.
The total number of pages that have been flushed from memory to disk by the operating system's memory manager.
Number of computational pages repaged. From the nrepaged member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of file buffer pages repaged. From the nrepaged member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of computational pages replaced. From the nreplaced member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of file buffer pages replaced. From the nreplaced member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of pending I/O waits. From the pendiowts member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The percentage of the total available time that has been used to execute user or system code.
The percentage of the total available time that has been spent sleeping.
The percentage of the total available time that has been spent waiting for disk I/O to complete.
The percentage of the total available time that has been used to execute system (i.e. kernel) code.
The percentage of the total available time that has been used to execute user code.
Count of pages in use for the persistent segment. From the numpseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of pages pinned for the persistent segment. From the numpsegpin member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages available for pinning. From the pfavail member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages available for pinning by applications. From the pfpinavail member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The number of processes in the computer at the time of data collection. Notice that this is an instantaneous count, not an average over the time interval. Each process represents the running of a program.
The real memory size in 4K pages. From the memsizepgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of remote allocations. From the numralloc member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of repaged computational frames. From the rpgcnt member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of repaged files frames. From the rpgcnt member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of times the system scheduler has put a thread in its run queue.
The total number of times the system scheduler has swapped out an idle process.
Max index + 1 of sids ever used. From the hisid member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Threshold of free memory pages below which the operating system may send SIGDANGER to processes. From the npswarn member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Threshold of free memory pages below which the operating system may send SIGKILL to processes. From the npskill member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of soft pages in use for the working segment. From the soft_clseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of soft pages in use for the working segment. From the soft_pseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of soft pages in use for the working segment. From the soft_wseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of special dataseg id's. From the numspecsegs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of free special dataseg id's. From the numspecfree member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Highwater count of special dataseg id's. From the specsegshi member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages on SCBs marked V_SYSTEM. From the system_pgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of system reserved blocks. From the pfrsvdblks member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The total number of context switches from one thread to another on the computer. Thread switches can occur either inside of a single process or across processes. A thread switch may be caused either by one thread asking another for information, or by a thread being preempted by another, higher priority thread becoming ready to run.
True number of free 4K memory pages. From the true_numfrb member of the vminfo64 struct returned by the vmgetinfo() AIX function.
True total number of logical and physical 4K memory pages. From the true_memsizepgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Number of pages not on SCBs. From the unmngd_pgs member of the vminfo64 struct returned by the vmgetinfo() AIX function.
The number of virtual pages accessed. From the numvpages member of the vminfo64 struct returned by the vmgetinfo() AIX function.
Count of pages in use for the working segment. From the numwseguse member of the vminfo64 struct returned by the vmgetinfo() AIX function.
This section lists statistics that are generated when statmonitor on the Mac is started using options that specify to include system statistics. This list includes statistics for the operating system, processor, network, and disks.
Note
Mac system statistics are only available in GemStone/S 64 Bit v3.5 and later.
The total number of Page Faults by the threads executing in this process. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This will not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.
The total number of pages that have been brought into memory from disk by the operating system's memory manager.
The total number of pages that have been flushed from memory to disk by the operating system's memory manager.
The total number of swapped out pages that have been brought back into memory from disk.
The total number of pages that have been moved from memory to disk due to a swap out operation.
The percentage of the total available time that has been used to execute user or system code.
The percentage of the total available time that has been used to execute system (i.e. kernel) code.
The number of processes in the computer at the time of data collection. Notice that this is an instantaneous count, not an average over the time interval. Each process represents the running of a program.
This section lists statistics that are generated when GBS is configured to write statistics.
Note
The set of GBS statistics varies by version. Not all statistics may be generated in any particular version of GBS.
The number of bytes sent cumulatively by store traversal calls
The number of accesses to the GciCallProtect semaphore (a GbxCInterface shared variable)
The amount of time spent sampling manager and session main statistics
The number of times GciNbEnd() was called when the result wasn't ready and no progress was made
The total number of objects (with or without a value buffer) received by traversal call
The number of times the sessionProtect semaphore has been invoked