The HOT_RESTART feature uses a number of system tunable parameters. Each parameter has a default value which can serve as a guideline and is generally suitable for getting started with hot restart programming. All tunable parameters are static: they cannot be modified while the system is running.
Two parameters define limits for persistent memory occupation in the system's persistent memory bank:
pmm.rambankSize
is the maximum amount of persistent memory available in the
system, in bytes. The default value is one megabyte (0x100000).
See the previous section for guidelines on setting this parameter to suit
your system. If you want to run the hot restart demonstration program, you
will need to increase the value of this parameter to four megabytes (0x400000).
pmm.maxBlocks
is the maximum number of recorded persistent memory
blocks which can be allocated in the persistent memory bank. A block is a
variable-sized number of contiguous pages of RAM. Each time an actor (supervisor
or user) issues a request to store a piece of data in persistent memory, a
block of the appropriate size, rounded up to the nearest whole page, is allocated.
The default value is 30.
Two parameters control the maximum number of restartable actors and restart groups permitted in the system:
hrCtrl.maxActors
is the maximum number of hot restartable actors which can be
registered in the system. An actor is registered in the system when it is
first run, and remains registered until all the actors in its group have terminated
normally. The default value is 32. If hrCtrl.maxActors
is greater than 65536, 65536 is used instead.
hrCtrl.maxGroups
is the maximum number of restart groups which
can be present in the system at the same time. Its default value is 32.
Two parameters define the system's restart policy (see "1.2.4 Site Restart"). These parameters are quite sensitive: different values can produce very different behavior in the system. The system manages a restart counter for each restart group. Each time a group is restarted, the system increases its restart counter by one.
hrCtrl.interval
is the frequency with which a group's restart counter is decreased, in seconds. Every hrCtrl.interval
seconds, the system will decrease the group's restart counter by one (until
the counter reaches zero). The default value for hrCtrl.interval
is 3 seconds.
hrCtrl.maxBadness
is the maximum value a group's restart counter
can reach before it triggers a site restart. In other words, when a group's
restart counter reaches this value, a site restart is automatically performed.
The default value is 25. If set to zero, the system never triggers a site
restart.