ConceptsResource limits
What follows an OOM kill
After an OOM kill, the result is different for an instance, a deploy, a job and a datastore.
An OOM kill comes from the kernel. Ferry reports it in a different place for each type of container.
The result and the message
| Container | What occurs | Message |
|---|---|---|
| Instance of a live service | Docker restarts it. ferry status and the dashboard show the kill while it restarts. | Server log: instance a1b2c3 of service 'api' ran out of memory (limit 512 MiB) — raise the service's memory limit |
| New instance in a deploy | The deploy fails, even if Docker restarted the instance. | instance ab12cd ran out of memory (limit 512 MiB) — raise the service's memory limit |
| Job run | The run fails. | the job ran out of memory (limit 64 MiB) — raise the service's memory limit |
| Datastore that Ferry creates | The datastore gets the status failed. | the redis container ran out of memory (limit 256 MiB) — raise the datastore's memory limit |
| Datastore that runs | If the datastore stops, Docker restarts it. | Server log: datastore 'app-db' ran out of memory (limit 1 GiB) — raise the datastore's memory limit |
ferryd writes each kill of an instance and of a datastore in the server log.
Read the server log
journalctl -u ferrydThis command works when systemd runs ferryd. To repair the cause, see Out-of-memory kills.