Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [Config] >  [config]
Private  Storage   

persistent class Config.config extends %Persistent, Config.CommonSingleMethods, Config.CommonProperties, %SYSTEM.Help

This class allows you to modify and view the [config] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Get/Modify) to modify the properties by passing in the correct parameters, or use Object sytax to open and directly manipulate the config objects.

EXAMPLE:

; Use class methods to modify properties
%SYS>s Status=##Class(Config.config).Get(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties("MaxServers")
Properties("MaxServers")=2
%SYS>s Properties("MaxServers")=3
%SYS>s Status=##Class(Config.config).Modify(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.config).Open()
%SYS>w Obj.MaxServers
3
%SYS>s Obj.MaxServers=4
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 66 33 1


Summary

Properties
BackoffDisabled CPFFile Comments ConsoleFile
Flags LargePagesDisabled LargePagesRequired LibPath
LineRecallBuffer LineRecallEntries LockSharedMemory LockTextSegment
MaxServerConn MaxServers Name SecureKernel
VMSConsoleTerminal ZFSize ZFString bbsiz
console errlog globals globals16kb
globals32kb globals4kb globals64kb globals8kb
gmheap history ijcbuff ijcnum
jrnbufs locksiz memlock netjob
nlstab overview pijdir routines
targwijsz udevtabsiz useresidentmem wijdir

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject Get
GetConsoleFileName GetList Help Modify
NoRestartOnActivate Open XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType


Parameters

• parameter PROPERTIESACTIVATENORESTART = "bbsiz,ConsoleFile,LibPath,LineRecallBuffer,LineRecallEntries,locksiz,MaxServers,netjob,targwijsz,VMSConsoleTerminal,wijdir,ZFSize,ZFString";
List of properties which do not require a restart to activate
• parameter PROPERTIESCOMBINEDINCPF = "globals,console,history,memlock,overview,zfheap";
List of properties in the CPF file which are constructed from multiple different properties in this class.
• parameter PROPERTIESMAYBEINCPF = "Asyncwij,Edstrategy,maxglorecord,Maxprocesses,SecureKernel,synctype,usedirectio,useresidentmem,wdparm,wdstrategy,wduseasyncio";
List of properties which may or may not be in the CPF file.
They have a corresponding %Boolean property to determine if they are in the file or not. For example, the property "Asyncwij" will have a %Boolean "AsyncwijPresent" property associated with it.
These properties are for InterSystems use only.
• parameter PROPERTIESNOTINCPF = "BackoffDisabled,ConsoleFile,globals2kb,globals4kb,globals8kb,globals16kb,globals32kb,globals64kb,LineRecallEntries,LineRecallBuffer,LargePagesDisabled,LargePagesRequired,LockSharedMemory,LockTextSegment,OsType,PageSizeAlt,Platform,synctypePresent,VMSConsoleTerminal,ZFString,ZFSize";
List of properties which are in the class but not in the CPF file.
These are properties which are combined with other properties to create a property in the CPF file.

Properties

• property BackoffDisabled as %Boolean [ InitialExpression = 0,Required ];
Upon failure to allocate memory, do not retry with a reduced amount. If shared memory cannot be allocated at its configured size, startup is aborted.

Makes up part of the CPF parameter memlock=

Modifying this property will require a restart of the system to make it active.
• property ConsoleFile as %SysPath(MAXLEN=256,MINLEN=0);
Location of the messages.log file.
Null means the MGR directory.
This is the second piece of the CPF parameter console=VMSConsoleTerminal,ConsoleFile

Modifying this property does not require a restart of the system to make it active.
• property LargePagesDisabled as %Boolean [ InitialExpression = 0,Required ];
If true, on platforms supporting large/huge pages, instructs the system not to use them for global and routine buffers.

Makes up part of the CPF parameter memlock=

Modifying this property will require a restart of the system to make it active.
• property LargePagesRequired as %Boolean [ InitialExpression = 0,Required ];
If true, on platforms supporting large or huge pages, requires shared memory to be allocated from them. Ignored on other platforms or if large pages are disabled by LargePagesDisabled. If true and not ignored, and memory cannot be allocated in large/huge pages, startup is aborted. Note: startup may retry with a small reduction in memory size, but the extent to which memory may be reduced is smaller than would be allowed in absence of this flag. You can disable this retry altogether with BackoffDisabled.

Makes up part of the CPF parameter memlock=

Modifying this property will require a restart of the system to make it active.
• property LibPath as %String(MAXLEN=1024);
On Unix systems this sets the LD_LIBRARY_PATH environment variable to set search paths for third-party shared libraries. Ignored on Windows and VMS.

Modifying this property does not require a restart of the system to make it active.
• property LineRecallBuffer as %Integer(MAXVAL=8192,MINVAL=0) [ InitialExpression = 2048,Required ];
The size in bytes of the command line/read line buffer.
This is the second piece of the CPF parameter history=LineRecallEntries,LineRecallBuffer

Modifying this property does not require a restart of the system to make it active.
• property LineRecallEntries as %Integer(MAXVAL=256,MINVAL=0) [ InitialExpression = 128,Required ];
The number of entries held in the command line/read line recall buffer.
This is the first piece of the CPF parameter history=LineRecallEntries,LineRecallBuffer

Modifying this property does not require a restart of the system to make it active.
• property LockSharedMemory as %Boolean [ InitialExpression = 0,Required ];
On platforms that support it, requests control structures, global and routine buffers to be locked in physical memory. When using large or huge pages for shared memory, there is no need to set this property since they are automatically locked in physical memory.

Makes up part of the CPF parameter memlock=.

Modifying this property will require a restart of the system to make it active.
• property LockTextSegment as %Boolean [ InitialExpression = 0,Required ];
On some UNIX platforms, requests the text segment (executable image) to be locked in physical memory.

Makes up part of the CPF parameter memlock=

Modifying this property will require a restart of the system to make it active.
• property MaxServerConn as %Integer(MAXVAL=254,MINVAL=0) [ InitialExpression = 1,Required ];
Maximum number of clients that can access this server simultaneously.


Modifying this property will require a restart of the system to make it active.
• property MaxServers as %Integer(MAXVAL=254,MINVAL=0) [ InitialExpression = 2,Required ];
Maximum number of ECP servers that can be accessed from this system.


Modifying this property does not require a restart of the system to make it active if memory is available in the shared memory heap.
• property SecureKernel as %Boolean [ InitialExpression = 0,Required ];
Enable Secure-Kernel.
Modifying this property will require a restart of the system to make it active.
• property VMSConsoleTerminal as %SysPath(MAXLEN=256,MINLEN=0);
Location of the VMS console terminal.
This is the first piece of the CPF parameter console=VMSConsoleTerminal,ConsoleFile

Modifying this property does not require a restart of the system to make it active.
• property ZFSize as %Integer(MAXVAL=270336,MINVAL=0) [ InitialExpression = 0,Required ];
The total number of bytes allocated in virtual memory for $ZF input and output parameters, including strings.
This is the second piece of the CPF parameter zfheap=ZFString,ZFSize

Modifying this property does not require a restart of the system to make it active.
• property ZFString as %Integer(MAXVAL=32767,MINVAL=0) [ InitialExpression = 0,Required ];
Number of bytes allocated for the each output byte array or string parameter on the $ZF heap.
This is the First piece of the CPF parameter zfheap=ZFString,ZFSize

Modifying this property does not require a restart of the system to make it active.
• property bbsiz as %Integer(MAXVAL=2147483647,MINVAL=128) [ InitialExpression = 262144,Required ];
Maximum amount of memory a process can use (in KB).


Modifying this property does not require a restart of the system to make it active.
• property console as %String(MAXLEN=300) [ InitialExpression = ",",ReadOnly ];
CPF file representation of console=VMSConsoleTerminal,ConsoleFile.
• property errlog as %Integer(MINVAL=10) [ InitialExpression = 500,Required ];
Maximum number of entries you want to store in the SYSLOG log file.
The log file will expire old entries when this limit is reached.

Modifying this property will require a restart of the system to make it active.
• property globals as %String [ InitialExpression = "0,0,0,0,0,0",ReadOnly ];
List of configured sizes (in MBytes) for the global caches.
Element #1 corresponds to 2KB blocks (deprecated, always 0 now).
Element #2 corresponds to 4KB blocks.
Element #3 corresponds to 8KB blocks.
Element #4 corresponds to 16KB blocks.
Element #5 corresponds to 32KB blocks.
Element #6 corresponds to 64KB blocks.
• property globals16kb as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of 16KB buffers in MB.


Modifying this property will require a restart of the system to make it active.
• property globals32kb as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of 32KB buffers in MB.


Modifying this property will require a restart of the system to make it active.
• property globals4kb as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of 4KB buffers in MB.


Modifying this property will require a restart of the system to make it active.
• property globals64kb as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of 64KB buffers in MB.


Modifying this property will require a restart of the system to make it active.
• property globals8kb as %Integer(MINVAL=0) [ InitialExpression = 0 ];
Number of 8KB buffers in MB.


Modifying this property will require a restart of the system to make it active.
• property gmheap as %Integer(MAXVAL=1073741760,MINVAL=2048) [ InitialExpression = 37568,Required ];
Generic Memory Heap Size (in KB).
This is the place from where the Lock table, the NLS tables and the PID table are allocated. The absolute minimum value is 2048KB. If you specify a big Lock Table, the minimum value will increase so that there's always room for it. If you are using an Asian locale you may want to add an extra MB (1024KB).

Modifying this property will require a restart of the system to make it active.
• property history as %String [ InitialExpression = "64,2048",ReadOnly ];
CPF file representation of history=LineRecallEntries,LineRecallBuffer.
• property ijcbuff as %Integer(MAXVAL=8192,MINVAL=512) [ InitialExpression = 512,Required ];
Number of bytes allocated for each InterJob Communication Device.


Modifying this property will require a restart of the system to make it active.
• property ijcnum as %Integer(MAXVAL=256,MINVAL=0) [ InitialExpression = 16,Required ];
The number of InterJob Communication devices.


Modifying this property will require a restart of the system to make it active.
• property jrnbufs as %Integer(MAXVAL=1024,MINVAL=8) [ InitialExpression = 64,Required ];
Size of journal buffer pool in MBs. Modifying this property will require a restart of the system to make it active. The maximum value is 1024 and the minimum, 16 on Unicode platforms or 8 otherwise.
• property locksiz as %Integer(MAXVAL=1099511562240,MINVAL=196608) [ InitialExpression = 16 * 1024 * 1024,Required ];
The amount of memory allocated on your system for locks, in bytes.
The maximum value depends on the gmheap size and not exceeding gmheap size. Memory is allocated in multiples of 64k (65536 bytes) chunks. If you enter a value which is not on a 64k boundary, the value will be rounded to the next higher 64k boundry. Increase the gmheap size if you need more room for the Lock Table.

Modifying this property does not require a restart of the system to make it active.
• property memlock as %Integer [ InitialExpression = 0,ReadOnly ];
When checked, this allows you to lock control structures in memory to improve access time.
CPF file representation of memlock=
• property netjob as %Boolean [ InitialExpression = 1,Required ];
Allows jobs from remote connections to run on your server.


Modifying this property does not require a restart of the system to make it active.
• property nlstab as %Integer(MAXVAL=64,MINVAL=0) [ InitialExpression = 50,Required ];
Enter the maximum number of collation tables. This instructs InterSystems IRIS to reserve space for that many tables at startup.

Modifying this property will require a restart of the system to make it active.
• property overview as %String [ InitialExpression = "Windows (Intel)~Windows",ReadOnly ];
• property pijdir as %SysPath(MAXLEN=256,MINLEN=0);
Directory to store the cluster image journal.


Modifying this property will require a restart of the system to make it active.
• property routines as %String [ InitialExpression = 0,Required ];
Number of MB allocated for caching routine buffers.


Modifying this property will require a restart of the system to make it active.
• property targwijsz as %Integer(MINVAL=0) [ InitialExpression = 0,Required ];
When targwijsz is non-zero it is the desired size of the WIJ file in MB. The maximum effective value is the size of the buffer pool. While it would not hurt to have a larger WIJ, it does not help anything. The minimum value is 100MB. When the size of the global buffer pool is less than 100MB at startup the WIJ is sized to hold the entire buffer pool; the minimum size of the WIJ at startup is either 100MB or the size required to hold the entire buffer pool (which is slightly larger than the actual size of the buffer pool). If an existing WIJ is larger than the specified target, the size of the WIJ is not reduced.

When the target size is larger than the size of the existing WIJ, the system will expand the WIJ while the write daemon is idle up to the specified target (but not to exceed the actual size of the WIJ needed to hold the entire buffer pool). The system can expand the WIJ past the target size if that becomes necessary to complete a write cycle.

Leaving this value set to 0 is fine. The system will grow the WIJ as needed based on activity. Generally the WIJ quickly reaches whatever size is needed to support the activity level/the size of the buffer pool. The purpose of setting a target size is that if space has been reserved for the WIJ, setting a target allows the WIJ to grow to occupy that space early on in the life of the system. Since user activity can be blocked if the WIJ is too small (the WIJ will try to expand if this happens), setting the target may lead to a better user experience after startup. If the target is set to 0, the WIJ may quickly expand as needed however users may be blocked at times when this happens until the WIJ reaches the size required by the system.
• property udevtabsiz as %Integer(MAXVAL=65535,MINVAL=0) [ InitialExpression = 24576,Required ];
Maximum size in bytes of the device table.


Modifying this property will require a restart of the system to make it active.
• property useresidentmem as %String(MAXLEN=128,MINLEN=0);
VMS system resident memory name.


Modifying this property will require a restart of the system to make it active.
• property wijdir as %SysPath(MAXLEN=256,MINLEN=0);
Enter the directory for the Write Image Journal file into this text box.


Modifying this property does not require an instance restart to activate the change except on cluster members.

Methods

• classmethod GetConsoleFileName(ByRef Status As %Status) as %String
Get the console.log file name being used by the system.
This will always return a filename. If a %Status error is returned, the name of the file returned will be $zu(12)_messages.log. Note that this will return the messages.log file the system currently has open, not the one which is defined in the CPF file and not yet activated.
• classmethod Modify(ByRef Properties As %String, ByRef CPFFile As %String = "", Flags As %Integer = $$$CPFSave+$$$CPFWrite+$$$CPFActivate) as %Status
Modify a sections properties in a CPF file.

Parameters:
Properties (byref) - List of the properties to modify in Properties(Name)=Value format. See the subclass for a list of valid properties. If a specific property is not passed in the properties array, the value is not modified.
CPFFile (byref) - Name of the CPF file to use, Default=current active CPF file. The file must have a .CPF file extension if specified.
Flags - Bit string of options to perform if the object is later saved with the %Save() method. See the Open method for values.

Return values:
CPFFile (byref) - Name of the CPF file the modification was made in.
• classmethod NoRestartOnActivate(Property As %String) as %Boolean
Answers the question "Does the property require a restart?"

Indices

•index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey,Unique];


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.