*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> sysinfo (2)              
Title
Content
Arch
Section
 

SYSINFO(2)

Contents


NAME    [Toc]    [Back]

       sysinfo - returns information on overall system statistics

SYNOPSIS    [Toc]    [Back]

       #include <sys/sysinfo.h>

       int sysinfo(struct sysinfo *info);

DESCRIPTION    [Toc]    [Back]

       Until Linux 2.3.16, sysinfo used to return information in the following
       structure:

	      struct sysinfo {
		   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 */
	      };

       and the sizes were given in bytes. Since Linux  2.3.23  (i386),	2.3.48
       (all architectures) the structure is

	      struct sysinfo {
		   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 */
	      };

       and the sizes are given as multiples of mem_unit bytes.

       sysinfo	provides  a  simple  way of getting overall system statistics.
       This is more portable than reading /dev/kmem.  For an  example  of  its
       use, see intro(2).

RETURN VALUE    [Toc]    [Back]

       On  success,  zero is returned.	On error, -1 is returned, and errno is
       set appropriately.

ERRORS    [Toc]    [Back]

       EFAULT pointer to struct sysinfo is invalid

CONFORMING TO    [Toc]    [Back]

       This function is Linux-specific, and should not	be  used  in  programs
       intended to be portable.

       The  Linux kernel has a sysinfo system call since 0.98.pl6.  Linux libc
       contains a sysinfo() routine since 5.3.5, and glibc has one since 1.90.

SEE ALSO    [Toc]    [Back]

      
      
       proc(5)



Linux 2.0			  1997-08-25			    SYSINFO(2)
[ Back ]
 Similar pages
Name OS Title
get_info Tru64 General: Returns system-specific information
ustat IRIX get file system statistics
statfs NetBSD get file system statistics
fstatfs Tru64 Get file system statistics
fstatfs FreeBSD get file system statistics
statfs OpenBSD get file system statistics
fstatfs HP-UX get file system statistics
systat OpenBSD display system statistics on a CRT
ustat Linux get file system statistics
systat FreeBSD display system statistics on a crt
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service