GNUnet  0.19.5
gnunet-service-testbed_meminfo.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void meminfo (void)
 

Variables

unsigned long kb_main_shared
 
unsigned long kb_main_buffers
 
unsigned long kb_main_cached
 
unsigned long kb_main_free
 
unsigned long kb_main_total
 
unsigned long kb_swap_free
 
unsigned long kb_swap_total
 
unsigned long kb_high_free
 
unsigned long kb_high_total
 
unsigned long kb_low_free
 
unsigned long kb_low_total
 
unsigned long kb_active
 
unsigned long kb_inact_laundry
 
unsigned long kb_inact_dirty
 
unsigned long kb_inact_clean
 
unsigned long kb_inact_target
 
unsigned long kb_swap_cached
 
unsigned long kb_swap_used
 
unsigned long kb_main_used
 
unsigned long kb_writeback
 
unsigned long kb_slab
 
unsigned long nr_reversemaps
 
unsigned long kb_committed_as
 
unsigned long kb_dirty
 
unsigned long kb_inactive
 
unsigned long kb_mapped
 
unsigned long kb_pagetables
 

Function Documentation

◆ meminfo()

void meminfo ( void  )

Definition at line 193 of file gnunet-service-testbed_meminfo.c.

194 {
195  char namebuf[16]; /* big enough to hold any row name */
196  mem_table_struct findme = { namebuf, NULL };
197  mem_table_struct *found;
198  char *head;
199  char *tail;
200  static const mem_table_struct mem_table[] = {
201  { "Active", &kb_active }, // important
202  { "AnonPages", &kb_anon_pages },
203  { "Bounce", &kb_bounce },
204  { "Buffers", &kb_main_buffers }, // important
205  { "Cached", &kb_main_cached }, // important
206  { "CommitLimit", &kb_commit_limit },
207  { "Committed_AS", &kb_committed_as },
208  { "Dirty", &kb_dirty }, // kB version of vmstat nr_dirty
209  { "HighFree", &kb_high_free },
210  { "HighTotal", &kb_high_total },
211  { "Inact_clean", &kb_inact_clean },
212  { "Inact_dirty", &kb_inact_dirty },
213  { "Inact_laundry", &kb_inact_laundry },
214  { "Inact_target", &kb_inact_target },
215  { "Inactive", &kb_inactive }, // important
216  { "LowFree", &kb_low_free },
217  { "LowTotal", &kb_low_total },
218  { "Mapped", &kb_mapped }, // kB version of vmstat nr_mapped
219  { "MemFree", &kb_main_free }, // important
220  { "MemShared", &kb_main_shared }, // important, but now gone!
221  { "MemTotal", &kb_main_total }, // important
222  { "NFS_Unstable", &kb_nfs_unstable },
223  { "PageTables", &kb_pagetables }, // kB version of vmstat nr_page_table_pages
224  { "ReverseMaps", &nr_reversemaps }, // same as vmstat nr_page_table_pages
225  { "SReclaimable", &kb_swap_reclaimable }, // "swap reclaimable" (dentry and inode structures)
226  { "SUnreclaim", &kb_swap_unreclaimable },
227  { "Slab", &kb_slab }, // kB version of vmstat nr_slab
228  { "SwapCached", &kb_swap_cached },
229  { "SwapFree", &kb_swap_free }, // important
230  { "SwapTotal", &kb_swap_total }, // important
231  { "VmallocChunk", &kb_vmalloc_chunk },
232  { "VmallocTotal", &kb_vmalloc_total },
233  { "VmallocUsed", &kb_vmalloc_used },
234  { "Writeback", &kb_writeback }, // kB version of vmstat nr_writeback
235  };
236  const int mem_table_count = sizeof(mem_table) / sizeof(mem_table_struct);
237 
239 
240  kb_inactive = ~0UL;
241 
242  head = buf;
243  for (;;)
244  {
245  tail = strchr (head, ':');
246  if (! tail)
247  break;
248  *tail = '\0';
249  if (strlen (head) >= sizeof(namebuf))
250  {
251  head = tail + 1;
252  goto nextline;
253  }
254  strcpy (namebuf, head);
255  found = bsearch (&findme, mem_table, mem_table_count,
257  );
258  head = tail + 1;
259  if (! found)
260  goto nextline;
261  *(found->slot) = (unsigned long) strtoull (head, &tail, 10);
262 nextline:
263  tail = strchr (head, '\n');
264  if (! tail)
265  break;
266  head = tail + 1;
267  }
268  if (! kb_low_total) /* low==main except with large-memory support */
269  {
272  }
273  if (kb_inactive == ~0UL)
274  {
276  }
279 }
static struct PendingResolutions * tail
Tail of list of pending resolution requests.
Definition: gnunet-ats.c:235
static struct PendingResolutions * head
Head of list of pending resolution requests.
Definition: gnunet-ats.c:230
static unsigned long kb_swap_reclaimable
unsigned long kb_low_free
static int compare_mem_table_structs(const void *a, const void *b)
static unsigned long kb_vmalloc_used
unsigned long kb_main_buffers
static int meminfo_fd
static unsigned long kb_vmalloc_total
static unsigned long kb_swap_unreclaimable
unsigned long kb_main_used
static unsigned long kb_nfs_unstable
unsigned long nr_reversemaps
unsigned long kb_inactive
static unsigned long kb_bounce
static unsigned long kb_anon_pages
unsigned long kb_dirty
unsigned long kb_pagetables
unsigned long kb_slab
#define MEMINFO_FILE
unsigned long kb_swap_total
static unsigned long kb_commit_limit
unsigned long kb_committed_as
static unsigned long kb_vmalloc_chunk
#define FILE_TO_BUF(filename, fd)
unsigned long kb_writeback
unsigned long kb_inact_clean
unsigned long kb_low_total
unsigned long kb_swap_used
unsigned long kb_active
unsigned long kb_inact_target
unsigned long kb_inact_laundry
unsigned long kb_main_total
unsigned long kb_main_cached
unsigned long kb_main_free
unsigned long kb_swap_free
unsigned long kb_main_shared
unsigned long kb_high_total
unsigned long kb_mapped
unsigned long kb_high_free
unsigned long kb_inact_dirty
static char buf[2048]
unsigned long kb_swap_cached

References buf, compare_mem_table_structs(), FILE_TO_BUF, head, kb_active, kb_anon_pages, kb_bounce, kb_commit_limit, kb_committed_as, kb_dirty, kb_high_free, kb_high_total, kb_inact_clean, kb_inact_dirty, kb_inact_laundry, kb_inact_target, kb_inactive, kb_low_free, kb_low_total, kb_main_buffers, kb_main_cached, kb_main_free, kb_main_shared, kb_main_total, kb_main_used, kb_mapped, kb_nfs_unstable, kb_pagetables, kb_slab, kb_swap_cached, kb_swap_free, kb_swap_reclaimable, kb_swap_total, kb_swap_unreclaimable, kb_swap_used, kb_vmalloc_chunk, kb_vmalloc_total, kb_vmalloc_used, kb_writeback, meminfo_fd, MEMINFO_FILE, nr_reversemaps, mem_table_struct::slot, and tail.

Referenced by mem_get_usage().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ kb_main_shared

unsigned long kb_main_shared
extern

Definition at line 148 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_main_buffers

unsigned long kb_main_buffers
extern

Definition at line 150 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_main_cached

unsigned long kb_main_cached
extern

Definition at line 151 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_main_free

unsigned long kb_main_free
extern

Definition at line 152 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_main_total

unsigned long kb_main_total
extern

Definition at line 153 of file gnunet-service-testbed_meminfo.c.

Referenced by mem_get_usage(), and meminfo().

◆ kb_swap_free

unsigned long kb_swap_free
extern

Definition at line 154 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_swap_total

unsigned long kb_swap_total
extern

Definition at line 155 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_high_free

unsigned long kb_high_free
extern

Definition at line 157 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_high_total

unsigned long kb_high_total
extern

Definition at line 158 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_low_free

unsigned long kb_low_free
extern

Definition at line 159 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_low_total

unsigned long kb_low_total
extern

Definition at line 160 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_active

unsigned long kb_active
extern

Definition at line 162 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_inact_laundry

unsigned long kb_inact_laundry
extern

Definition at line 163 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_inact_dirty

unsigned long kb_inact_dirty
extern

Definition at line 164 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_inact_clean

unsigned long kb_inact_clean
extern

Definition at line 165 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_inact_target

unsigned long kb_inact_target
extern

Definition at line 166 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_swap_cached

unsigned long kb_swap_cached
extern

Definition at line 167 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_swap_used

unsigned long kb_swap_used
extern

Definition at line 169 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_main_used

unsigned long kb_main_used
extern

Definition at line 170 of file gnunet-service-testbed_meminfo.c.

Referenced by mem_get_usage(), and meminfo().

◆ kb_writeback

unsigned long kb_writeback
extern

Definition at line 172 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_slab

unsigned long kb_slab
extern

Definition at line 173 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ nr_reversemaps

unsigned long nr_reversemaps
extern

Definition at line 174 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_committed_as

unsigned long kb_committed_as
extern

Definition at line 175 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_dirty

unsigned long kb_dirty
extern

Definition at line 176 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_inactive

unsigned long kb_inactive
extern

Definition at line 177 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_mapped

unsigned long kb_mapped
extern

Definition at line 178 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().

◆ kb_pagetables

unsigned long kb_pagetables
extern

Definition at line 179 of file gnunet-service-testbed_meminfo.c.

Referenced by meminfo().