Getting the above error message at random times when we spin up the DB image in K8. Current fs.aio-max-nr is 65536 and I can increase it to 1048576 bytes(it will require approvals so might take time) as per the error message but in the logs I can also see
Total Memory: 267322101760 bytes
does this mean it is requesting 256GB of memory? will this also be the cause of issue where I have to restrict the total memory ? This issue is not happening in local.
Error Log:
Status: 0x0000000b
Message: Unable to create a new asynchronous I/O context. Please increase sysctl fs.aio-max-nr
Stack:
IP Function
---------------- --------------------------------------
00005614fad23aac <unknown>
00005614fad234f2 <unknown>
00005614fac7f9c6 <unknown>
00005614facadeeb <unknown>
00005614facadce6 <unknown>
00005614fac8f2b6 <unknown>
00005614fac7acba <unknown>
00005614fac6c6cd <unknown>
00007f3a84f4613a __libc_start_main+0xea
00005614fac686a9 <unknown>
Process: 9 - sqlservr
Thread: 9
Instance Id: f47ec617-67c890cedfad
Crash Id: 95dd4ad6-a45a-491d-9697-c96b2b1d61ea
Build stamp: f8febda9e3f4d6e777e8f6cc8c4dfe9244bbbfed85351be1347c0415ed74d370
Distribution: Amazon Linux 2
Processors: 32
Total Memory: 267322101760 bytes
Timestamp: Thu Mar 2 17:32:45 2023
Last errno: 11
Last errno text: Resource temporarily unavailable
Capturing a dump of 9
sqlservr: utils.cpp:561: uintptr_t GetEndOfLibOSVmRange(): Assertion `GetGlobals()->GetStatics()->IsLibOSVmmRangeEndValid()' failed.
pod template via Jenkins DSL:
- name: 'mssql-2019'
image: 'docker-image-ms-sql:2019'
tty: true
imagePullPolicy: Always
resources:
requests:
memory: '8Gi'
cpu: '4'
ports:
- name: mssql
containerPort: 1433
hostPort: 1433
env:
- name: MSSQL_PID
value: "Enterprise"
- name: MSSQL_ENABLE_HADR
value: "0"
- name: MSSQL_MEMORY_LIMIT_MB
value: "6144"
- name: ACCEPT_EULA
value: "Y"
Ran our 2019 ms-sql in K8 and expected the image to run without issues but instead it crashed with the above error message. This happens randomly like 1 in 10 attempts.
Thanks in advance.