AWS::Batch::JobDefinition LinuxParameters
Linux-specific modifications that are applied to the container, such as details for device mappings.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Devices" :
[ Device, ... ]
, "InitProcessEnabled" :Boolean
, "MaxSwap" :Integer
, "SharedMemorySize" :Integer
, "Swappiness" :Integer
, "Tmpfs" :[ Tmpfs, ... ]
}
YAML
Devices:
- Device
InitProcessEnabled:Boolean
MaxSwap:Integer
SharedMemorySize:Integer
Swappiness:Integer
Tmpfs:- Tmpfs
Properties
Devices
-
Any of the host devices to expose to the container. This parameter maps to
Devices
in the Create a containersection of the Docker Remote API and the --device
option to docker run. Note
This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.
Required: No
Type: Array of Device
Update requires: No interruption
InitProcessEnabled
-
If true, run an
init
process inside the container that forwards signals and reaps processes. This parameter maps to the--init
option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
Required: No
Type: Boolean
Update requires: No interruption
MaxSwap
-
The total amount of swap memory (in MiB) a container can use. This parameter is translated to the
--memory-swap
option to docker runwhere the value is the sum of the container memory plus the maxSwap
value. For more information, see--memory-swap
detailsin the Docker documentation. If a
maxSwap
value of0
is specified, the container doesn't use swap. Accepted values are0
or any positive integer. If themaxSwap
parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. AmaxSwap
value must be set for theswappiness
parameter to be used.Note
This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.
Required: No
Type: Integer
Update requires: No interruption
-
The value for the size (in MiB) of the
/dev/shm
volume. This parameter maps to the--shm-size
option to docker run. Note
This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.
Required: No
Type: Integer
Update requires: No interruption
Swappiness
-
You can use this parameter to tune a container's memory swappiness behavior. A
swappiness
value of0
causes swapping to not occur unless absolutely necessary. Aswappiness
value of100
causes pages to be swapped aggressively. Valid values are whole numbers between0
and100
. If theswappiness
parameter isn't specified, a default value of60
is used. If a value isn't specified formaxSwap
, then this parameter is ignored. IfmaxSwap
is set to 0, the container doesn't use swap. This parameter maps to the--memory-swappiness
option to docker run. Consider the following when you use a per-container swap configuration.
-
Swap space must be enabled and allocated on the container instance for the containers to use.
Note
By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?
-
The swap space parameters are only supported for job definitions using EC2 resources.
-
If the
maxSwap
andswappiness
parameters are omitted from a job definition, each container has a defaultswappiness
value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.
Note
This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.
Required: No
Type: Integer
Update requires: No interruption
-
Tmpfs
-
The container path, mount options, and size (in MiB) of the
tmpfs
mount. This parameter maps to the--tmpfs
option to docker run. Note
This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.
Required: No
Update requires: No interruption