ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/docs/libstatgrab/sg_get_mem_stats.xml
Revision: 1.3
Committed: Thu Mar 11 17:35:24 2004 UTC (20 years, 2 months ago) by tdb
Content type: text/xml
Branch: MAIN
Changes since 1.2: +5 -3 lines
Log Message:
Put libstatgrab URL, rather than i-scream URL, in the docs.

File Contents

# User Rev Content
1 tdb 1.1 <?xml version="1.0"?>
2    
3     <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4     "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5    
6     <refentry id="get_memory_stats">
7    
8     <refentryinfo>
9 tdb 1.3 <date>$Date: 2003/10/02 17:38:03 $</date>
10     <releaseinfo>$Id: get_memory_stats.xml,v 1.2 2003/10/02 17:38:03 tdb Exp $</releaseinfo>
11 tdb 1.1 </refentryinfo>
12    
13     <refmeta>
14     <refentrytitle>get_memory_stats</refentrytitle>
15     <manvolnum>3</manvolnum>
16     <refmiscinfo>i-scream</refmiscinfo>
17     </refmeta>
18    
19     <refnamediv>
20     <refname>get_memory_stats</refname>
21     <refname>get_swap_stats</refname>
22     <refpurpose>get VM statistics</refpurpose>
23     </refnamediv>
24    
25     <refsynopsisdiv>
26     <funcsynopsis>
27     <funcsynopsisinfo>#include &lt;statgrab.h&gt;</funcsynopsisinfo>
28     <funcprototype>
29     <funcdef>mem_stat_t *<function>get_memory_stats</function></funcdef>
30     <void/>
31     </funcprototype>
32     <funcprototype>
33     <funcdef>swap_stat_t *<function>get_swap_stats</function></funcdef>
34     <void/>
35     </funcprototype>
36     </funcsynopsis>
37     </refsynopsisdiv>
38    
39     <refsect1>
40     <title>Description</title>
41     <para>
42     Memory statistics are accessed through the
43     <function>get_memory_stats</function> function. It returns a
44     pointer to a static <structname>mem_stat_t</structname>.
45     </para>
46     <para>
47     The <function>get_swap_stats</function> returns returns swap
48     statistics. It returns a pointer to a static
49     <structname>swap_stat_t</structname>.
50     </para>
51     <para>
52     On the FreeBSD operating system elevated privileges are required
53     to access the swap statistics. Making the program setgid kmem
54     should be sufficient. Programs running as root will not have this
55     problem.
56     </para>
57     </refsect1>
58    
59     <refsect1>
60     <title>Return Values</title>
61    
62     <para>
63     The VM system calls can return a pointer to either a
64     <structname>mem_stat_t</structname> or a
65     <structname>swap_stat_t</structname>.
66     </para>
67    
68     <programlisting>
69     typedef struct{
70     long long total;
71     long long free;
72     long long used;
73     long long cache;
74     }mem_stat_t;
75     </programlisting>
76    
77     <variablelist>
78     <varlistentry>
79     <term>
80     <structfield>total</structfield>
81     </term>
82     <listitem>
83     <para>
84     The total amount of memory in bytes.
85     </para>
86     </listitem>
87     </varlistentry>
88     <varlistentry>
89     <term>
90     <structfield>free</structfield>
91     </term>
92     <listitem>
93     <para>
94     The total free memory in bytes.
95     </para>
96     </listitem>
97     </varlistentry>
98     <varlistentry>
99     <term>
100     <structfield>used</structfield>
101     </term>
102     <listitem>
103     <para>
104     The total used memory in bytes.
105     </para>
106     </listitem>
107     </varlistentry>
108     <varlistentry>
109     <term>
110     <structfield>cache</structfield>
111     </term>
112     <listitem>
113     <para>
114     The amount of cache used in bytes.
115     </para>
116     </listitem>
117     </varlistentry>
118     </variablelist>
119    
120     <programlisting>
121     typedef struct{
122     long long total;
123     long long used;
124     long long free;
125     }swap_stat_t;
126     </programlisting>
127    
128     <variablelist>
129     <varlistentry>
130     <term>
131     <structfield>total</structfield>
132     </term>
133     <listitem>
134     <para>
135     The total swap space in bytes.
136     </para>
137     </listitem>
138     </varlistentry>
139     <varlistentry>
140     <term>
141     <structfield>used</structfield>
142     </term>
143     <listitem>
144     <para>
145     The used swap in bytes.
146     </para>
147     </listitem>
148     </varlistentry>
149     <varlistentry>
150     <term>
151     <structfield>free</structfield>
152     </term>
153     <listitem>
154     <para>
155     The free swap in bytes.
156     </para>
157     </listitem>
158     </varlistentry>
159     </variablelist>
160     </refsect1>
161    
162     <refsect1>
163     <title>Todo</title>
164     <para>
165     Add a function to hold open the file descriptor to the kernel
166     memory structures. Doing this would allow the elevated privileges
167     to be dropped early on.
168     </para>
169     </refsect1>
170    
171     <refsect1>
172     <title>See Also</title>
173 tdb 1.2
174     <simplelist type="inline">
175     <member>
176     <citerefentry>
177     <refentrytitle>statgrab</refentrytitle>
178     <manvolnum>3</manvolnum>
179     </citerefentry>
180     </member>
181     </simplelist>
182 tdb 1.1 </refsect1>
183    
184     <refsect1>
185     <title>Website</title>
186    
187     <simplelist type="vert">
188     <member>
189 tdb 1.3 <ulink url="http://www.i-scream.org/libstatgrab/">
190     http://www.i-scream.org/libstatgrab/
191     </ulink>
192 tdb 1.1 </member>
193     </simplelist>
194     </refsect1>
195    
196     </refentry>