NAME

     sysinfo - returns information on overall system statistics


SYNOPSIS

     #include <linux/kernel.h>
     #include <linux/sys.h>

     int sysinfo(struct sysinfo *info));


DESCRIPTION

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

     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

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


ERRORS

     EFAULT  pointer to struct sysinfo is invalid


CONFORMING TO

     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.