diff --git a/src/maxwell/maxwell_solver.cpp b/src/maxwell/maxwell_solver.cpp
index cf5cc36d732d1d7f92e36d6d1e3f8dea8b0bcd7c..514d2b73d2694fae782141a464cab9777d66c371 100644
--- a/src/maxwell/maxwell_solver.cpp
+++ b/src/maxwell/maxwell_solver.cpp
@@ -7,6 +7,9 @@
 #include <filesystem>
 #endif
 
+#include <sys/time.h>
+#include <sys/resource.h>
+
 #ifdef USE_MPI
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Weverything"
@@ -364,6 +367,9 @@ register_lua_usertypes_bystate(maxwell::parameter_loader& mpl,
  */
 int main(int argc, char *argv[])
 {
+    struct rusage ru_start, ru_end;
+
+    getrusage(RUSAGE_SELF, &ru_start);
 #ifdef USE_MPI
     MPI_Init(&argc, &argv);
 
@@ -489,5 +495,9 @@ int main(int argc, char *argv[])
     MPI_Finalize();
 #endif
 
+    getrusage(RUSAGE_SELF, &ru_end);
+
+    std::cout << "Max RSS: " << (ru_end.ru_maxrss - ru_start.ru_maxrss) << std::endl;
+
     return 0;
 }