This class allows you to modify and view the [config] section of the CPF file through programatic APIs. More...
Static Public Member Functions | |
_.Library.String | GetConsoleFileName (_.Library.Status Status) |
Get the console.log file name being used by the system. More... | |
_.Library.Status | Modify (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags) |
Modify a sections properties in a CPF file. More... | |
_.Library.Boolean | NoRestartOnActivate (_.Library.String Property) |
Answers the question "Does the property require a restart?". | |
![]() | |
_.Library.Status | Get (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags) |
Get a sections properties from a CPF file. More... | |
_.Library.Status | GetList (_.Library.String CPFFile, _.Library.Integer Flags) |
Returns the properties from a section in a CPF file by value in $list format More... | |
_.Library.ObjectHandle | Open (_.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags) |
Open an instance of an section object in a CPF file. More... | |
Public Attributes | |
BackoffDisabled | |
Upon failure to allocate memory, do not retry with a reduced amount. More... | |
ConsoleFile | |
Location of the messages.log file. More... | |
LargePagesDisabled | |
If true, on platforms supporting large/huge pages, instructs the system not. More... | |
LargePagesRequired | |
If true, on platforms supporting large or huge pages, requires shared memory to. More... | |
LibPath | |
On Unix systems this sets the LD_LIBRARY_PATH environment variable to set. More... | |
LockSharedMemory | |
On platforms that support it, requests control structures, global and routine. More... | |
LockTextSegment | |
On some UNIX platforms, requests the text segment (executable image) to be. More... | |
MaxServerConn | |
Maximum number of clients that can access this server simultaneously. More... | |
MaxServers | |
Maximum number of ECP servers that can be accessed from this system. More... | |
PythonPath | |
Non instance relative sys.path element to be added to sys.path for all Embedded Python methods and Shell() More... | |
PythonRuntimeLibrary | |
Absolute path & file name of the python runtime library that you want Embedded Python to use to override the More... | |
VMSConsoleTerminal | |
Location of the VMS console terminal. More... | |
ZFSize | |
The total number of bytes allocated in virtual memory for $ZF input and output parameters, including strings. More... | |
ZFString | |
Number of bytes allocated for the each output byte array or string parameter on the $ZF heap. More... | |
bbsiz | |
Maximum amount of memory in KB that a process can use for local variables. More... | |
console | |
CPF file representation of console=VMSConsoleTerminal,ConsoleFile. More... | |
errlog | |
Maximum number of entries you want to store in the SYSLOG log file. More... | |
globals | |
List of configured sizes (in MBytes) for the global caches. More... | |
globals16kb | |
Number of 16KB buffers in MB. More... | |
globals32kb | |
Number of 32KB buffers in MB. More... | |
globals4kb | |
Number of 4KB buffers in MB. More... | |
globals64kb | |
Number of 64KB buffers in MB. More... | |
globals8kb | |
Number of 8KB buffers in MB. More... | |
gmheap | |
Shared Memory Heap Size in KB. More... | |
history | |
The number of entries held in the command line/read line recall buffer. More... | |
ijcbuff | |
Number of bytes allocated for each InterJob Communication Device. More... | |
ijcnum | |
The number of InterJob Communication devices. More... | |
jrnbufs | |
Size of journal buffer pool in MBs. More... | |
locksiz | |
An upper bound on the amount of shared memory heap (see. More... | |
memlock | |
When checked, this allows you to lock control structures in memory to improve access time. More... | |
netjob | |
Allows jobs from remote connections to run on your server. More... | |
nlstab | |
Enter the maximum number of collation tables. More... | |
overview | |
More... | |
pijdir | |
Directory to store the cluster image journal. More... | |
routines | |
Number of MB allocated for caching routine buffers. More... | |
targwijsz | |
When targwijsz is non-zero it is the desired size of the WIJ file in MB. More... | |
udevtabsiz | |
Maximum size in bytes of the device table. More... | |
useresidentmem | |
VMS system resident memory name. More... | |
wijdir | |
Enter the directory for the Write Image Journal file into this text box. More... | |
![]() | |
CPFFile | |
CPF file which the object maps to. More... | |
Comments | |
Embedded comments in the CPF file. More... | |
Flags | |
Flags governing how the object is processed when Save() is called. More... | |
Name | |
Name of the object instance. More... | |
Static Public Attributes | |
PROPERTIESACTIVATENORESTART = None | |
List of properties which do not require a restart to activate. | |
PROPERTIESCOMBINEDINCPF = None | |
List of properties in the CPF file which are constructed from multiple different. More... | |
PROPERTIESMAYBEINCPF = None | |
List of properties which may or may not be in the CPF file. More... | |
PROPERTIESNOTINCPF = None | |
List of properties which are in the class but not in the CPF file. More... | |
![]() | |
DOMAIN = None | |
This class contains properties which are included by classes which manipulate sections in the CPF file. More... | |
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 syntax 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)
|
static |
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.
|
static |
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 <METHOD>Open</METHOD> method for values.
Return values:
CPFFile (byref) - Name of the CPF file the modification was made in.
Reimplemented from CommonSingleMethods.
|
static |
List of properties in the CPF file which are constructed from multiple different.
properties in this class.
|
static |
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.
|
static |
BackoffDisabled |
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.
ConsoleFile |
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.
LargePagesDisabled |
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.
LargePagesRequired |
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 <PROPERTY>LargePagesDisabled</PROPERTY>. 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 <PROPERTY>BackoffDisabled</PROPERTY>.
Makes up part of the CPF parameter memlock=
Modifying this property will require a restart of the system to make it active.
LibPath |
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.
LockSharedMemory |
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.
LockTextSegment |
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.
MaxServerConn |
Maximum number of clients that can access this server simultaneously.
Modifying this property will require a restart of the system to make it active.
MaxServers |
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.
PythonPath |
Non instance relative sys.path element to be added to sys.path for all Embedded Python methods and Shell()
Also see iris_site.py (in the instance directory) and Embedded Python documentation for other ways to affect sys.path.
Modifying this property does not require a restart of the system to make it active.
PythonRuntimeLibrary |
Absolute path & file name of the python runtime library that you want Embedded Python to use to override the
default Embedded Python that Intersystems tests with.
Example on Ubuntu 22:
/lib/x86_64-linux-gnu/libpython3.11.so.1.0
Modifying this property does not require a restart of the system to make it active.
VMSConsoleTerminal |
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.
ZFSize |
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.
ZFString |
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.
bbsiz |
Maximum amount of memory in KB that a process can use for local variables.
and similar process-private application memory. This is the value of the $zstorage system special variable when a process starts up.
-1 means "unlimited" (limited only by the implementation maximum of ~2TB).
Modifying this property does not require a restart of the system to make it active.
console |
errlog |
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.
globals |
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.
If all values are zero, as they are by default, the system selects a value based on physical memory. This is designed so that newly installed system can perform reasonably well, and it is intended to be changed.
globals16kb |
Number of 16KB buffers in MB.
Modifying this property will require a restart of the system to make it active.
globals32kb |
Number of 32KB buffers in MB.
Modifying this property will require a restart of the system to make it active.
globals4kb |
Number of 4KB buffers in MB.
Modifying this property will require a restart of the system to make it active.
globals64kb |
Number of 64KB buffers in MB.
Modifying this property will require a restart of the system to make it active.
globals8kb |
Number of 8KB buffers in MB.
Modifying this property will require a restart of the system to make it active.
gmheap |
Shared Memory Heap Size in KB.
The shared memory heap is a pool of memory within the large shared memory segment allocated at startup. It is used by many subsystems that require dynamic shared memory reservations (from within this fixed-size heap), including the lock table, dejournaling, NLS tables, and more.
A value of 0 (the default) allows the system to choose a value based on the sizing info inferred from other parameters, and is designed to be sufficient for most systems. Small non-zero values are subject to internal lower limits.
Modifying this property requires a restart of the system to make it active.
history |
The number of entries held in the command line/read line recall buffer.
Modifying this property does not require a restart of the system to make it active.
ijcbuff |
Number of bytes allocated for each InterJob Communication Device.
Modifying this property will require a restart of the system to make it active.
ijcnum |
The number of InterJob Communication devices.
Modifying this property will require a restart of the system to make it active.
jrnbufs |
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.
locksiz |
An upper bound on the amount of shared memory heap (see.
<PROPERTY>gmheap</PROPERTY>) that is allowed to be consumed by the lock table as a result of application-level locks. A value of 0 is appropriate for most systems, and allows the lock table to grow unlimited up to the available shared memory heap space as the application demands (lock memory can be freed to the Shared Memory Heap if it's no longer used). If a different value is selected, it acts as an upper limit in bytes.
Modifying this property does not require a restart of the system to make it active.
memlock |
When checked, this allows you to lock control structures in memory to improve access time.
CPF file representation of memlock=
netjob |
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.
nlstab |
Enter the maximum number of collation tables.
This instructs InterSystems IRIS to reserve space for that many tables at startup.<sp>
Modifying this property will require a restart of the system to make it active.
overview |
pijdir |
Directory to store the cluster image journal.
Modifying this property will require a restart of the system to make it active.
routines |
Number of MB allocated for caching routine buffers.
Modifying this property will require a restart of the system to make it active.
targwijsz |
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.
udevtabsiz |
Maximum size in bytes of the device table.
Modifying this property will require a restart of the system to make it active.
useresidentmem |
VMS system resident memory name.
Modifying this property will require a restart of the system to make it active.
wijdir |
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.