/* ------------------------------------------------------------------ */ /* function get_memory() */ /* */ /* +-----------------------------------+ */ /* | WAVEWATCH III NOAA/NCEP | */ /* | H. L. Tolman | */ /* | C | */ /* | Last update : 28-Jan-2014 | */ /* +-----------------------------------+ */ /* */ /* 28-Jan-2014 : Origination. ( version 5.00 ) */ /* */ /* 1. Purpose : */ /* */ /* Get memory use HWM in Mb for profiling purposes. */ /* */ /* 2. Method : */ /* */ /* C system calls, based on code mostly form Jim Abeles, provided */ /* by George Vandenberghe. */ /* */ /* 3. Parameters : */ /* */ /* 4. Subroutines used : */ /* */ /* 5. Called by : */ /* */ /* 6. Error messages : */ /* */ /* 7. Remarks : */ /* */ /* 8. Structure : */ /* */ /* See source code. */ /* */ /* 9. Source code : */ /* */ /* ------------------------------------------------------------------ */ #include #include double get_memory_(void) { long Kbytes; double Mbytes; struct rusage RU; getrusage(RUSAGE_SELF, &RU); Kbytes = RU.ru_maxrss; Mbytes = ((double) Kbytes) / 1024.0; return Mbytes; } /* End of get_memory ------------------------------------------------ */