Add memory fields (sometimes) available from getrusage() diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index f99dd0a..7f57a84 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -4467,6 +4467,21 @@ ShowUsage(const char *title) r.ru_nvcsw - Save_r.ru_nvcsw, r.ru_nivcsw - Save_r.ru_nivcsw, r.ru_nvcsw, r.ru_nivcsw); + +#if defined(__linux__) + appendStringInfo(&str, + "!\t%ld max resident (kB)\n", + r.ru_maxrss); +#elif defined(BSD) + appendStringInfo(&str, + "!\t%ld max resident, %ld shared, %ld unshared data, %ld unshared stack (kB)\n", + r.ru_maxrss, r.ru_ixrss, r.ru_idrss, r.ru_isrss); +#elif defined(__darwin__) + appendStringInfo(&str, + "!\t%ld max resident, %ld shared, %ld unshared data, %ld unshared stack (kB)\n", + r.ru_maxrss/1024, r.ru_ixrss/1024, r.ru_idrss/1024, r.ru_isrss/1024); +#endif /* __linux__ */ + #endif /* HAVE_GETRUSAGE */ /* remove trailing newline */