To work properly, Buddy on-premises requires at least 4GB of RAM. In total, the standalone version consists of the following services:
- Application Server (Java)
- Build Server (Java)
- Git Server (Java)
- SQL Database
- NoSQL Database
- Locks Storage
- Front Server
- Proxy Server
- Session Store
- Utility Server
In order to avoid memory problems, Buddy limits the amount of memory assigned to its Java services (i.e. app, Git and build servers) during the boot. The default amount of RAM allocated to those three services constitutes 50% of total server memory:
- App Server: 5/32 of total RAM
- Build Server: 2/32 of total RAM
- Git Server: 9/32 of total RAM
The build server limit applies only to the application that launches builds on the server. It is NOT the limit imposed on the containers in which the builds run. Although by default there are no memory restrictions on build containers, you can set such limit manually by running
sudo buddy configure in the Buddy CLI.
Buddy CLI lets you change the default memory to fixed values. To do that, execute
sudo buddy configure and select the corresponding option. You can set a specific amount of RAM for each of the 3 Java services or reset them to the default settings.
Manual RAM configuration is only available on the main standalone instance. On the workers, 1/16 of total server RAM is allocated to the Build Server, whereas the rest is available for containers in which the builds defined in pipelines run.