Running a Java Spring Boot app on a 512 MB VPS with lightweight monitoring
I wanted to see how a fairly representative Java Spring Boot application behaves on a very small VPS, especially the difference between configured heap and actual JVM process memory.
The test app uses Spring Boot 3.5.x, Spring MVC, JPA/Hibernate, H2, embedded Tomcat, Actuator, scheduled work, and outbound HTTP. I also kept lightweight monitoring on the same machine.
The original 256 MB configuration was too tight. With **512 MB RAM + 256 MB swap**, the application completed the test reliably.
Full setup and measurements are in the linked article.
Since then I’ve also managed to get the same application working on a **256 MB VPS with swap using JDK 25 Compact Object Headers and tighter JVM settings**. I’m preparing that as a separate follow-up experiment. #dev #technology #programming