class %SYSTEM.Config.SharedMemoryHeap
extends %SYSTEM.Help
The %SYSTEM.Config.SharedMemoryHeap class provides an interface to return amount of Shared Memory Heap used by Cache system.
It also provides API to get available Shared Memory Heap and recommended Shared Memory Heap parameter for configuration.
parameter DOMAIN = "%Utility";
Default Localization Domain
classmethod FreeCount()
as %String
Return amount of available Shared Memory Heap in Cache System.
This returns a string in total,pages,smt,genstrtab,smtmastused 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.
final classmethod GetUsageSummary()
as %String
Return the total SMH memory used, SMH pages used and configured SMH memory.
It returns a string in with following information, they are separated by ','.:
Total SMH memory used.
Total SMH pages used.
Total SMH memory configured.
classmethod MaxCount()
as %Integer
Return amount (in bytes) of configured Shared Memory Heap in Cache including 5 MB reserved at Startup for Shadowing.
final classmethod RecommendedSize(NumberOfProcess As %Integer = 0)
as %Integer
Return recommended amount of Shared Memory Heap to be configured in kilobytes.
This does not include the memory reserved for Shadowing:
1 cpu 5MB, 2 cpus 8MB, + 2MB for others [based on $System.Util.NumberOfCPUs()]
NumberOfProcess is the number of maximum process you want to calculate on. Omit this parameter or zero will use value in ^|"%SYS"|SYS("LASTMAXPID").
The calculation is based on the current memory usage of the system.
Total current used memory + ReserveExtra + Lock Table Size * 1.5 + 1 MB if LineByLine Monitor is not running.
The ReserveExtra is number of CPU * 2 MB + 1MB.
classmethod UsageQueryClose(ByRef qHandle As %Binary)
as %Status
classmethod UsageQueryExecute(ByRef qHandle As %Binary, ConsumerID As %Integer = -1)
as %Status
classmethod UsageQueryFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0)
as %Status
classmethod WebListClose(ByRef qHandle As %Binary)
as %Status
classmethod WebListExecute(ByRef qHandle As %Binary)
as %Status
classmethod WebListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0)
as %Status
query UsageQuery(ConsumerID As %Integer = -1)
Selects
Description As %String, Allocated SMH/ST As %Integer, SMH/ST Available As %Integer, SMH/ST Used As %Integer, SMT Used As %Integer, GST Used As %Integer, All Used As %Integer
Return Usage of Shared Memory Heap for each Consumer.
query WebList()
Selects
Description As %String, Allocated SMH/ST As %Integer, SMH/ST Available As %Integer, SMH/ST Used As %Integer, SMT Used As %Integer, GST Used As %Integer, All Used As %Integer
Return Usage of Shared Memory Heap for each Consumer.