Open philippeboyd opened 1 year ago
@philippeboyd where are you running the server and what OS? Maybe this can give some hint about what is causing this.
@marcosmarxm it should not be really relevant since the java processes runs in it's own JVM but I'm running Airbyte with Docker Compose on a GCP COS VM
Same problem Docker Compose, EC2, Airbyte 0.50.15
Same problem here, Airbyte 0.50.27. Airbyte is taking up more than 20G RAM, even when not running any sync. @gustavohwulee , @philippeboyd I started experimenting with the configs and now got it down to <6G. I still need to pinpoint which config is necessary and would appreciate your collaboration, but for now these are my changes. I hope that helps your case!
In .env
I set JOB_MAIN_CONTAINER_MEMORY_LIMIT
to 2GB
, NORMALIZATION_JOB_MAIN_CONTAINER_MEMORY_LIMIT
to 1GB
, added a memory limit to the docker compose services workers of 2GB and for the server of 5GB.
Make sure to test these settings by restarting Airbyte and running your syncs so you can rest assured this is enough for you!
@marcosmarxm It would be great if you could make a recommendation for better limits based on your experience! It feels like 1GB for a normalization job is overly pessimistic :D
Note that in the screenshot I edited the docker-compose.yml file directly instead of using environment variables, which would have been better :D
The mem_limit
option is ignored by docker-compose V3 since it's an option only supported by V2, so the options that produced the effect were the changed environment variables alone!
That seems like a great configuration then :)
If you still like to limit the docker service you need to do so by using the new V3 format: https://docs.docker.com/compose/compose-file/compose-file-v3/#resources
What method are you using to run Airbyte?
Docker
Platform Version or Helm Chart Version
0.50.5
What step the error happened?
During the Sync
Revelant information
Having the flag
-XX:MaxRAMPercentage=75.0
for every component (even connectors) is not logical in my opinion and can lead to Memory capping thus crashing everything.For instance, if the Server is using 75% of the ram, and a connector is set to also cap at 75% or ram, those java processes in different containers do not talk to each other. As far as they know, they're the only ones on the VM and they can ALL cap at 75% of the available ram. So you essentially add those 75% MaxRAMPercentage.
There's no valid reason for the server to use 17GB (out of 32) in my case
After a few more syncs, here's the
airbyte-server
container Ram usageRelevant log output
No response