The Memory Gremlin consumes a set amount of memory, or as much as is available (whichever is lower), and holds onto it for the duration of the attack. The Gremlin allocates blocks of memory with malloc until it reaches the desired amount, deallocating the memory with free upon attack completion.
|MB||-m int||False||0.0.1||The number of megabytes to allocate.|
|GB||-g float||False||0.0.1||The number of gigabytes to allocate.|
|Percentage||-p <0-100>||False||2.8.30||The percentage of total memory to allocate.|
|Allocation Strategy||-s absolute | total||False||2.24.0|
|Length||-l int||False||0.0.1||The length of the attack (seconds).|
--allocation-strategy=absolute (the default from the CLI), Memory attacks are additive and are allocated from available memory. For example, if the pre-attack memory utilization is 500 MB and you initiate an Memory Attack of 500 MB (magnitude), Gremlin will attempt to allocate an additional 500 MB of memory bringing the utilization to approximately 1000 MB (1 GB). Use
--allocation-strategy=total to change this behavior. In the prior example, Gremlin will not allocate any memory if the system is already at 500 MB and
When running a memory attack on Linux hosts or Kubernetes, the Gremlin process may be terminated by the system's Out of Memory Manager (OOMKiller). Please see this knowledge base article for additional information.