Skip to main content

%SYSTEM.Config.SharedMemoryHeap

Class %SYSTEM.Config.SharedMemoryHeap Extends %SYSTEM.Help [ System = 4 ]

The %SYSTEM.Config.SharedMemoryHeap class provides an interface to return amount of shared memory heap used by InterSystems IRIS instance.
It also provides API to get available shared memory heap and recommended shared nemory heap parameter for configuration.

Parameters

DOMAIN

Parameter DOMAIN = "%Utility";

Default Localization Domain

Methods

DisplayUsage

ClassMethod DisplayUsage() As %Status [ Final, Internal ]

Print out the shared memory heap usage in InterSystems IRIS instance.

FreeCount

ClassMethod FreeCount() As %String [ CodeMode = expression ]

Return available shared memory heap in bytes

This returns a string in total,pages,smt,genstrtab format.
total - total shared memory heap available including pages,smt,genstrtab.
pages - total available shared memory heap pages(in bytes).
smt - total available memory in SMT table.
genstrtab - total available memory in General String Table.

GetConfigSize

ClassMethod GetConfigSize(ConsumerID As %Integer = 0, NumProcess As %Integer = 0) As %Integer [ CodeMode = expression, Internal ]

Return recommended configuration size for specific consumer. The NumProcess argument is for CIDPIDTable consumer to esitmate the memory required for specific maximum number of processes.

GetDescription

ClassMethod GetDescription(ConsumerID As %Integer = 0) As %String [ CodeMode = expression, Internal ]

Get description for the specific Consumer.

GetFreePage

ClassMethod GetFreePage() As %Integer [ CodeMode = expression, Internal ]

Get number of current available SMH pages.

GetMaxConsumerID

ClassMethod GetMaxConsumerID() As %Integer [ Internal ]

Return defined MaxConsumerID value.

GetMaxPage

ClassMethod GetMaxPage() As %Integer [ CodeMode = expression, Internal ]

Return number of pages of shared memory heap configured

GetPageSize

ClassMethod GetPageSize() As %Integer [ CodeMode = expression, Internal ]

Return amount size (in bytes) of each shared memory heap page.

GetStageThreshold

ClassMethod GetStageThreshold(Stage As %Integer = 1) As %Integer [ CodeMode = expression, Internal ]

Get threshold for specific Surrender stage. The threshold is number of SMH pages.

GetSurrenderStage

ClassMethod GetSurrenderStage() As %Integer [ CodeMode = expression, Internal ]

Get current Surrender stage.

JobCoalesceThreshold

ClassMethod JobCoalesceThreshold(NewValue As %Integer) As %Integer [ CodeMode = expression, Internal ]

Get/Set threshold for job to coalesce string table. It returns current value before new value is set. If NewValue is not specified threshold is not changed.

DaemonLogThreshold

ClassMethod DaemonLogThreshold(NewValue As %Integer) As %Integer [ CodeMode = expression, Internal ]

Get/Set threshold for clean daemon to log coalescing messages. It returns current value before new value is set. If NewValue is not specified threshold is not changed.

GetUsage

ClassMethod GetUsage(ConsumerID As %Integer = 0) As %String [ CodeMode = expression, Internal ]

Return the current amount of used SMH memory for specific consumer. It returns a string with following information, they are separated by ','.: Total SMH pages allocated. Total SMT memory used. Total GST memory used. Total memory used within the allocated SMH pages.

GetUsageSummary

ClassMethod GetUsageSummary() As %String [ Final ]

Return the total SMH memory used, SMH pages allocated and configured SMH memory. It returns a string with following information, they are separated by ',' and all the units are in byte.:
Total SMH memory used.
Total SMH pages allocated.
Total SMH memory configured.

MaxCount

ClassMethod MaxCount() As %Integer [ CodeMode = expression ]

Return configured shared memory heap in bytes.

RecommendedSize

ClassMethod RecommendedSize(NumberOfProcess As %Integer = 0) As %Integer [ Deprecated, Final ]

Returns a recommended amount of shared memory heap to be configured in kilobytes. This is based on the current utilization of shared memory heap but does not accurately predict future needs.

SetStageThreshold

ClassMethod SetStageThreshold(Stage As %Integer = 1, NewVal As %Integer) As %Integer [ CodeMode = expression, Internal ]

Set threshold for specific Surrender stage. The threshold is number of SMH pages.

Surrender

ClassMethod Surrender(ConsumerID As %Integer = -1, Stage As %Integer = 1) As %Status [ CodeMode = expression, Internal ]

This function start Surrender SMH memory for specific or all consumers. ConsumerID = -1 for all consumers. The stage could be 1 or 2.

UsageQueryExecute

ClassMethod UsageQueryExecute(ByRef qHandle As %Binary, ConsumerID As %Integer = -1) As %Status [ Internal ]

Return Usage of shared memory heap for each consumer.

UsageQueryClose

ClassMethod UsageQueryClose(ByRef qHandle As %Binary) As %Status [ Internal, PlaceAfter = UsageQueryExecute ]

UsageQueryFetch

ClassMethod UsageQueryFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ Internal, PlaceAfter = UsageQueryExecute ]

WebListExecute

ClassMethod WebListExecute(ByRef qHandle As %Binary) As %Status [ Internal ]

Return Usage of shared memory heap for each consumer.

WebListClose

ClassMethod WebListClose(ByRef qHandle As %Binary) As %Status [ Internal, PlaceAfter = UsageQueryExecute ]

WebListFetch

ClassMethod WebListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ Internal, PlaceAfter = UsageQueryExecute ]