2004-11-03 13:51:07 +00:00
|
|
|
|
.\" -*- nroff -*-
|
|
|
|
|
.\"
|
2008-07-08 14:32:54 +00:00
|
|
|
|
.\" Copyright (C) 1993 by Dan Miner (dminer@nyx.cs.du.edu)
|
2004-11-03 13:51:07 +00:00
|
|
|
|
.\"
|
|
|
|
|
.\" Permission is granted to freely distribute or modify this file
|
|
|
|
|
.\" for the purpose of improving Linux or its documentation efforts.
|
|
|
|
|
.\" If you modify this file, please put a date stamp and HOW you
|
|
|
|
|
.\" changed this file. Thanks. -DM
|
|
|
|
|
.\"
|
|
|
|
|
.\" Modified Sat Jul 24 12:35:12 1993 by Rik Faith <faith@cs.unc.edu>
|
|
|
|
|
.\" Modified Tue Oct 22 22:29:51 1996 by Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
|
.\" Modified Mon Aug 25 16:06:11 1997 by Nicol<6F>s Lichtmaier <nick@debian.org>
|
|
|
|
|
.\"
|
2007-11-15 03:21:33 +00:00
|
|
|
|
.TH SYSINFO 2 2007-11-15 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
|
.SH NAME
|
|
|
|
|
sysinfo \- returns information on overall system statistics
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B #include <sys/sysinfo.h>
|
|
|
|
|
.sp
|
|
|
|
|
.BI "int sysinfo(struct sysinfo *" info );
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
Until Linux 2.3.16,
|
2005-10-19 06:54:38 +00:00
|
|
|
|
.BR sysinfo ()
|
2004-11-03 13:51:07 +00:00
|
|
|
|
used to return information in the following structure:
|
|
|
|
|
|
|
|
|
|
.nf
|
2007-12-19 05:53:30 +00:00
|
|
|
|
.in +4n
|
2004-11-03 13:51:07 +00:00
|
|
|
|
struct sysinfo {
|
2007-04-03 14:04:54 +00:00
|
|
|
|
long uptime; /* Seconds since boot */
|
|
|
|
|
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
|
|
|
|
|
unsigned long totalram; /* Total usable main memory size */
|
|
|
|
|
unsigned long freeram; /* Available memory size */
|
|
|
|
|
unsigned long sharedram; /* Amount of shared memory */
|
|
|
|
|
unsigned long bufferram; /* Memory used by buffers */
|
|
|
|
|
unsigned long totalswap; /* Total swap space size */
|
|
|
|
|
unsigned long freeswap; /* swap space still available */
|
|
|
|
|
unsigned short procs; /* Number of current processes */
|
|
|
|
|
char _f[22]; /* Pads structure to 64 bytes */
|
2004-11-03 13:51:07 +00:00
|
|
|
|
};
|
2007-12-19 05:53:30 +00:00
|
|
|
|
.in
|
2004-11-03 13:51:07 +00:00
|
|
|
|
.fi
|
2007-04-03 14:04:54 +00:00
|
|
|
|
.PP
|
|
|
|
|
and the sizes were given in bytes.
|
2004-11-03 13:51:07 +00:00
|
|
|
|
|
2007-04-03 14:04:54 +00:00
|
|
|
|
Since Linux 2.3.23 (i386), 2.3.48
|
|
|
|
|
(all architectures) the structure is:
|
2004-11-03 13:51:07 +00:00
|
|
|
|
|
|
|
|
|
.nf
|
2007-12-19 05:53:30 +00:00
|
|
|
|
.in +4n
|
2004-11-03 13:51:07 +00:00
|
|
|
|
struct sysinfo {
|
2007-04-03 14:04:54 +00:00
|
|
|
|
long uptime; /* Seconds since boot */
|
|
|
|
|
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
|
|
|
|
|
unsigned long totalram; /* Total usable main memory size */
|
|
|
|
|
unsigned long freeram; /* Available memory size */
|
|
|
|
|
unsigned long sharedram; /* Amount of shared memory */
|
|
|
|
|
unsigned long bufferram; /* Memory used by buffers */
|
|
|
|
|
unsigned long totalswap; /* Total swap space size */
|
|
|
|
|
unsigned long freeswap; /* swap space still available */
|
|
|
|
|
unsigned short procs; /* Number of current processes */
|
|
|
|
|
unsigned long totalhigh; /* Total high memory size */
|
|
|
|
|
unsigned long freehigh; /* Available high memory size */
|
|
|
|
|
unsigned int mem_unit; /* Memory unit size in bytes */
|
|
|
|
|
char _f[20\-2*sizeof(long)\-sizeof(int)]; /* Padding for libc5 */
|
2004-11-03 13:51:07 +00:00
|
|
|
|
};
|
2007-12-19 05:53:30 +00:00
|
|
|
|
.in
|
2004-11-03 13:51:07 +00:00
|
|
|
|
.fi
|
2007-04-03 14:04:54 +00:00
|
|
|
|
.PP
|
2004-11-03 13:51:07 +00:00
|
|
|
|
and the sizes are given as multiples of \fImem_unit\fP bytes.
|
|
|
|
|
|
2005-10-19 06:54:38 +00:00
|
|
|
|
.BR sysinfo ()
|
2007-04-12 22:42:49 +00:00
|
|
|
|
provides a simple way of getting overall system statistics.
|
|
|
|
|
This is more
|
2004-11-03 13:51:07 +00:00
|
|
|
|
portable than reading \fI/dev/kmem\fP.
|
|
|
|
|
.SH "RETURN VALUE"
|
2007-04-12 22:42:49 +00:00
|
|
|
|
On success, zero is returned.
|
|
|
|
|
On error, \-1 is returned, and
|
2004-11-03 13:51:07 +00:00
|
|
|
|
.I errno
|
|
|
|
|
is set appropriately.
|
|
|
|
|
.SH ERRORS
|
|
|
|
|
.TP
|
|
|
|
|
.B EFAULT
|
|
|
|
|
pointer to \fIstruct\ sysinfo\fP is invalid
|
|
|
|
|
.SH "CONFORMING TO"
|
2007-12-25 21:28:09 +00:00
|
|
|
|
This function is Linux-specific, and should not be used in programs
|
2004-11-03 13:51:07 +00:00
|
|
|
|
intended to be portable.
|
|
|
|
|
.sp
|
2005-10-19 14:48:35 +00:00
|
|
|
|
The Linux kernel has a
|
2007-04-12 22:42:49 +00:00
|
|
|
|
.BR sysinfo ()
|
2005-10-19 14:48:35 +00:00
|
|
|
|
system call since 0.98.pl6.
|
2007-04-12 22:42:49 +00:00
|
|
|
|
Linux libc contains a
|
2005-10-19 14:48:35 +00:00
|
|
|
|
.BR sysinfo ()
|
|
|
|
|
routine since 5.3.5, and
|
2004-11-03 13:51:07 +00:00
|
|
|
|
glibc has one since 1.90.
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
|
.BR proc (5)
|