NAMD
Classes | Functions | Variables
memusage.h File Reference

Go to the source code of this file.

Classes

class  memusageinit
 

Functions

unsigned long memusage (const char **source=0)
 
double memusage_kB ()
 
double memusage_MB ()
 

Variables

static memusageinit memusageinitobject
 

Function Documentation

unsigned long memusage ( const char **  source = 0)

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 158 of file memusage.C.

References memusage_mallinfo(), memusage_mstats(), memusage_proc_self_stat(), and memusage_ps().

Referenced by main::main(), memusage_kB(), and memusage_MB().

158  {
159 
160  unsigned long memtotal = 0;
161  const char* s = "ERROR";
162 
163  if ( ! CmiMemoryIs(CMI_MEMORY_IS_OS) ) {
164  memtotal = CmiMemoryUsage(); s = "CmiMemoryUsage";
165  }
166 
167 #if CMK_BLUEGENEQ
168  if( ! memtotal) { memtotal = memusage_bgq(); s="Kernel_GetMemorySize on BG/Q"; }
169 #endif
170 
171 #if CMK_BLUEGENEP
172  if( ! memtotal) { memtotal = memusage_bgp(); s="mallinfo on BG/P"; }
173 #endif
174 
175 #if defined(WIN32) && !defined(__CYGWIN__)
176  if ( ! memtotal ) {
177  memtotal = CmiMemoryUsage(); s = "GetProcessMemoryInfo";
178  }
179 #endif
180 
181  if ( ! memtotal ) {
182  memtotal = memusage_proc_self_stat(); s = "/proc/self/stat";
183  }
184 
185  if ( ! memtotal ) { memtotal = memusage_mstats(); s = "mstats"; }
186 
187  if ( ! memtotal ) { memtotal = memusage_mallinfo(); s = "mallinfo"; }
188 
189  if ( ! memtotal ) { memtotal = memusageinit::memusage_sbrk(); s = "sbrk"; }
190 
191  if ( ! memtotal ) { memtotal = memusage_ps(); s = "ps"; }
192 
193  if ( ! memtotal ) { memtotal = CmiMemoryUsage(); s = "CmiMemoryUsage"; }
194 
195  if ( ! memtotal ) s = "nothing";
196 
197  if ( source ) *source = s;
198 
199  return memtotal;
200 
201 }
unsigned long memusage_mallinfo()
Definition: memusage.C:68
unsigned long memusage_ps()
Definition: memusage.C:86
unsigned long memusage_proc_self_stat()
Definition: memusage.C:131
unsigned long memusage_mstats()
Definition: memusage.C:60
double memusage_kB ( )
inline

Definition at line 12 of file memusage.h.

References memusage().

12 { return memusage() / 1024.; }
unsigned long memusage(const char **source)
Definition: memusage.C:158
double memusage_MB ( )
inline

Variable Documentation

memusageinit memusageinitobject
static

Definition at line 25 of file memusage.h.