Forum Discussion
How are memory and disk allocated to different modules on bigip appliance?
hi, when doing "Resource Provisioning", the memory and disk space are auto allocated to LTM and ASM are shown as below. The amount of Memory and disk is minimum requirement, right? When a huge number of virtual server will be created later, will appliance auto allocate more spare memory and disk to the module? And what is he management module responsible for? Is it responsible for packet forwarding? should we set "Provisioning" to "Medium" or "Large" if the throughput is larger than 1Gbps? Can someone please advise? thanks in advance!
mgmt module is like control plane (not data plane like ltm, asm. gtm/dns modules).
it handles config storing, ha config sync and other typical control plane roles.
it doesnt do packet forwarding or storing ltm session tables.you can monitor mgmt memory usage using free of OTHER entry in statistics minus non TMM from resource provisioning.
bigip doesnt automatically increase mgmt memory size so youll need to monitor it.mgmt large is just extra 500MB according to https://my.f5.com/manage/s/article/K26427018
so it's considered small for today hardware ram size- Herman2024
Cirrostratus
hi zamroni777 thank you so much for your kind advice! As shown on the screenshot about module memory statistics ? Is TMM memory shared by LTM, GTM... besides the amount allocated to each module under "Resource Provisioning"? Please advise, thanks in advance!
gtm is not within tmm.
you can view it in Resource provisioning page.
HI Herman,
Part 1
=======On a Big-IP appliance, the memory and disk space allocated to different modules can be managed through the "Resource Provisioning" feature, allowing you to specify how much of the system's resources each module should use, with options like "Minimum," "Nominal," or "Dedicated" allocation depending on your needs; essentially, you can set specific amounts of memory and disk space for each module based on its anticipated usage, with the system automatically adjusting resource allocation accordingly.
Key points about resource allocation on a Big-IP appliance:
Module-specific allocation:
Each licensed module on the Big-IP system can be assigned a specific amount of memory and disk space.Allocation settings:
You can choose between "Minimum" (least amount of resources), "Nominal" (balanced allocation based on module needs), or "Dedicated" (all available resources allocated to a single module).
Flexible resource management:
Especially with vCMP guests, you can fine-tune the resource allocation for each guest based on the specific modules it is running and the traffic it is handling.How to check memory and disk usage for modules:
Configuration Utility:
Access the "System > Resource Provisioning" section within the Big-IP configuration utility to view and adjust resource allocation for each module.
Command line:
Use commands like df -h to check available disk space on different mounted volumes and monitor disk usage.Part 2
=======Management provisioning allocates additional memory for the BIG-IP Linux host system. There are three default settings: Small (default), Medium, and Large.
When you use the Configuration utility to configure the Provisioning setting for Management (MGMT), the system allocates additional memory to the control plane using the following default values. These values are in addition to the base memory allocation for Management (MGMT):
Small memory allocation is 0 MB.
Medium memory allocation is 200 MB.
Large memory allocation is 500 MB.
You can also use the TMOS Shell (tmsh) to modify the system database variable provision.extramb to use a custom allocation of additional memory for Management (MGMT). For example, you can configure an additional memory value other than Small, Medium, or Large. Any additional memory configured for Management (MGMT) (control plane) is deducted from TMM (data plane).Recommendations
Before you modify BIG-IP system provisioning or add more memory to an existing Management setting, review the available system memory.
For large configurations containing more than 2000 configured objects, for Management (MGMT), in the Provisioning column, select Large.
For units with at least two provisioned modules (LTM+ASM+other, LTM+APM+other, and LTM+AVR+other), running on BIG-IP 14.1 or later and medium-large configurations (500+ configuration objects), select Large.
For units running on BIG IP 15.x or later, select Large.
For units provisioned with three or more software modules and running on BIG IP 15.x or later, set <numeric value>to 2048 (or even 4096 if enough resources are available), using command as previously described in step 3 of the "Modify the provisioned memory value using tmsh".
- Herman2024
Cirrostratus
hi F5_Design_Engineer , thanks a lot for your advice. Is the memory for TMM is shared by LTM, GTM besides the amount allocated to each module under "Resource Provisioning"? What is the cli command to allocate more memory or disk space to a specific software module? please advise, thanks in advance!
Hi Herman,
First you need to list the different provision related DB variables value.
I would highly recommend to test these commands only in a TEST LAB setup, do not play the settings on a PRODUCTION F5, till you are not sure of the outcomes.
Once you get the proper SYS DB variable value for your resource provisioning, then you can work on modifying that particular variable and it may cause your system unstable or crash or reboot.First identify the right DB variable of your requirement before modifying it .
And search more details on that DB variable and consequences of changing it.
root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision
Display all 184 items? (y/n) yConfiguration Items:
provision.1nic provision.cpu.urldb provision.enforce provision.memory.gtm.host provision.noautoreboot provisioned.cpu.sslo provisioned.disk.tam provisioned.memory.gtm.host
provision.1nicautoconfig provision.cpu.vcmp provision.extramb provision.memory.host provision.pending provisioned.cpu.swg provisioned.disk.tmos provisioned.memory.host
provision.action provision.disk.afm provision.initialized provision.memory.ilx provision.restjavad.extramb provisioned.cpu.tam provisioned.disk.urldb provisioned.memory.ilx
provision.afm.extramb provision.disk.am provision.managementeth provision.memory.ilx.host provision.sadc provisioned.cpu.tmos provisioned.disk.vcmp provisioned.memory.ilx.host
provision.cpu.afm provision.disk.apm provision.memory.afm provision.memory.lc provision.tmmcount provisioned.cpu.urldb provisioned.memory.afm provisioned.memory.lc
provision.cpu.am provision.disk.asm provision.memory.afm.host provision.memory.lc.host provision.tmmcountactual provisioned.cpu.vcmp provisioned.memory.afm.host provisioned.memory.lc.host
provision.cpu.apm provision.disk.avr provision.memory.am provision.memory.ltm provision.tomcat.extramb provisioned.disk.afm provisioned.memory.am provisioned.memory.ltm
provision.cpu.asm provision.disk.cgnat provision.memory.am.host provision.memory.ltm.host provision.wocplugincount provisioned.disk.am provisioned.memory.am.host provisioned.memory.ltm.host
provision.cpu.avr provision.disk.dos provision.memory.apm provision.memory.pem provisioned.cpu.afm provisioned.disk.apm provisioned.memory.apm provisioned.memory.pem
provision.cpu.cgnat provision.disk.em provision.memory.apm.host provision.memory.pem.host provisioned.cpu.am provisioned.disk.asm provisioned.memory.apm.host provisioned.memory.pem.host
provision.cpu.dos provision.disk.fps provision.memory.asm provision.memory.sslo provisioned.cpu.apm provisioned.disk.avr provisioned.memory.asm provisioned.memory.sslo
provision.cpu.em provision.disk.gtm provision.memory.asm.host provision.memory.sslo.host provisioned.cpu.asm provisioned.disk.cgnat provisioned.memory.asm.host provisioned.memory.sslo.host
provision.cpu.fps provision.disk.host provision.memory.avr provision.memory.swg provisioned.cpu.avr provisioned.disk.dos provisioned.memory.avr provisioned.memory.swg
provision.cpu.gtm provision.disk.ilx provision.memory.avr.host provision.memory.swg.host provisioned.cpu.cgnat provisioned.disk.em provisioned.memory.avr.host provisioned.memory.swg.host
provision.cpu.host provision.disk.lc provision.memory.cgnat provision.memory.tam provisioned.cpu.dos provisioned.disk.fps provisioned.memory.cgnat provisioned.memory.tam
provision.cpu.ilx provision.disk.ltm provision.memory.cgnat.host provision.memory.tam.host provisioned.cpu.em provisioned.disk.gtm provisioned.memory.cgnat.host provisioned.memory.tam.host
provision.cpu.lc provision.disk.pem provision.memory.dos provision.memory.tmos provisioned.cpu.fps provisioned.disk.host provisioned.memory.dos provisioned.memory.tmos
provision.cpu.ltm provision.disk.sslo provision.memory.dos.host provision.memory.tmos.host provisioned.cpu.gtm provisioned.disk.ilx provisioned.memory.dos.host provisioned.memory.tmos.host
provision.cpu.pem provision.disk.swg provision.memory.em provision.memory.ui provisioned.cpu.host provisioned.disk.lc provisioned.memory.em provisioned.memory.ui
provision.cpu.sslo provision.disk.tam provision.memory.em.host provision.memory.urldb provisioned.cpu.ilx provisioned.disk.ltm provisioned.memory.em.host provisioned.memory.urldb
provision.cpu.swg provision.disk.tmos provision.memory.fps provision.memory.urldb.host provisioned.cpu.lc provisioned.disk.pem provisioned.memory.fps provisioned.memory.urldb.host
provision.cpu.tam provision.disk.urldb provision.memory.fps.host provision.memory.vcmp provisioned.cpu.ltm provisioned.disk.sslo provisioned.memory.fps.host provisioned.memory.vcmp
provision.cpu.tmos provision.disk.vcmp provision.memory.gtm provision.memory.vcmp.host provisioned.cpu.pem provisioned.disk.swg provisioned.memory.gtm provisioned.memory.vcmp.hostroot@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.cpu.asm
sys db provision.cpu.asm {
value "0"
}root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.memo
Configuration Items:
provision.memory.afm provision.memory.apm.host provision.memory.cgnat provision.memory.em.host provision.memory.host provision.memory.ltm provision.memory.sslo.host provision.memory.tmos provision.memory.vcmp
provision.memory.afm.host provision.memory.asm provision.memory.cgnat.host provision.memory.fps provision.memory.ilx provision.memory.ltm.host provision.memory.swg provision.memory.tmos.host provision.memory.vcmp.host
provision.memory.am provision.memory.asm.host provision.memory.dos provision.memory.fps.host provision.memory.ilx.host provision.memory.pem provision.memory.swg.host provision.memory.ui
provision.memory.am.host provision.memory.avr provision.memory.dos.host provision.memory.gtm provision.memory.lc provision.memory.pem.host provision.memory.tam provision.memory.urldb
provision.memory.apm provision.memory.avr.host provision.memory.em provision.memory.gtm.host provision.memory.lc.host provision.memory.sslo provision.memory.tam.host provision.memory.urldb.hostroot@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.memory.ltm
Configuration Items:
provision.memory.ltm provision.memory.ltm.host
root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.memory.ltm
Display all 2568 items? (y/n) nOptions:
all-properties non-default-properties one-line |
Properties:
default-value scf-config value value-range {
root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.memory.ltm
sys db provision.memory.ltm {
value "0"
}
root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list sys db provision.memory.ltm.host
sys db provision.memory.ltm.host {
value "0"
}
root@(TEST-F5-01)(cfg-sync In Sync)(Active)(/Common)(tmos)#
for example and just for reference purposeModify Management provisioning using tmsh
You can modify Management (mgmt) provisioning from the command line where Small equals 0 MB, Medium equals 200 MB, and Large equals 500 MB.
Important: Reprovisioning will cause the system to reboot, causing an outage.
- Open the TMOS Shell (tmsh).tmsh
- Type tmsh modify sys db provision.extramb value 500
Important: Provisioning the mgmt plane to large and performing a ConfigSync might cause an outage on the peer unit. See K31326690 for more information on this issue.
To increase Tomcat memory run the following:
1. tmsh modify /sys db provision.tomcat.extramb value 256
To view change run this command:
2.tmsh list sys db provision.tomcat.extramb
3.bigstart restart tomcatAdditional Information
Note: Restjavad may need increased memory also since this is used in-conjunction with the GUI to make rest calls in the background when making configuration changes to the database.
Giving restjavad extra memory. This is a two-step process.
- Update memory allocated to the control plane using TMUI. System :
Note: Resource Provisioning. The line for Management has a drop-down box forSmall,Medium, or Large.
2. Run the following two commands, in sequence:
tmsh modify sys db restjavad.useextramb value true
bigstart restart restjavad
Check this article for more details:
- Update memory allocated to the control plane using TMUI. System :
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com