OpenRDM
An open-source library for reduced-density matrix-based analysis and computation
libMem.h
Go to the documentation of this file.
1 #ifndef LIBMEM_H
2 #define LIBMEM_H
3 
4 namespace mcpdft {
5 
6 class LibMem {
7  public:
9  void query_system_memory(const struct sysinfo *info);
10 
12  unsigned long get_mem_total();
13 
14  private:
16  long uptime_;
17 
19  unsigned long loads_[3];
20 
22  unsigned long totalram_;
23 
25  unsigned long freeram_;
26 
28  unsigned long sharedram_;
29 
31  unsigned long bufferram_;
32 
34  unsigned long totalswap_;
35 
37  unsigned long freeswap_;
38 
40  unsigned short num_procs_;
41 
43  unsigned long totalhigh_;
44 
46  unsigned long freehigh_;
47 
49  unsigned int mem_unit_;
50 
52  char _f[20-2*sizeof(long)-sizeof(int)];
53 
54 };
55 
56 }
57 #endif // LIBMEM_H
unsigned long totalhigh_
Total high memory size.
Definition: libMem.h:43
Definition: libMem.h:6
unsigned long get_mem_total()
Get total memory using C++ function.
Definition: libMem.cc:41
char _f[20-2 *sizeof(long)-sizeof(int)]
Padding for libc5.
Definition: libMem.h:52
Definition: functional.cc:5
unsigned long totalswap_
Total swap space size.
Definition: libMem.h:34
void query_system_memory(const struct sysinfo *info)
Query memory information from linux.
Definition: libMem.cc:9
unsigned long freeswap_
Available swap space.
Definition: libMem.h:37
unsigned long loads_[3]
1, 5 and 15 minutes' load averages
Definition: libMem.h:19
long uptime_
Uptime run since boot in seconds.
Definition: libMem.h:16
unsigned int mem_unit_
Memory unit size in bytes.
Definition: libMem.h:49
unsigned long bufferram_
Buffer memory.
Definition: libMem.h:31
unsigned long freehigh_
Available high memory size.
Definition: libMem.h:46
unsigned long sharedram_
Amount of shared memory.
Definition: libMem.h:28
unsigned short num_procs_
Number of ongoing processes.
Definition: libMem.h:40
unsigned long freeram_
Available memory size.
Definition: libMem.h:25
unsigned long totalram_
Total usable main memory size.
Definition: libMem.h:22