[Overview][Constants][Types][Procedures and functions][Index] | Reference for unit 'Linux' (#rtl)

# Sysinfo

Return kernel system information

## Declaration

Source position: linux.pp line 57

`function Sysinfo(`
`Info: PSysInfo`
`):cint;`

## Description

SysInfo returns system information in Info. Returned information in Info includes:

uptime
  Number of seconds since boot.
loads
  1, 5 and 15 minute load averages.
totalram
  total amount of main memory.
freeram
  amount of free memory.
sharedram
  amount of shared memory.
bufferram
  amount of memory used by buffers.
totalswap
  total amount of swapspace.
freeswap
  amount of free swapspace.
procs
  number of current processes.

## Errors

None.

## See also

#rtl.baseunix.fpUname |  | Return system name.

## Example

    program Example64;

    { Example to demonstrate the SysInfo function.
      Sysinfo is Linux-only. }

    {$ifdef Linux}
    Uses Linux;

    Function Mb(L : Longint) : longint;

    begin
      Mb:=L div (1024*1024);
    end;

    Var Info : TSysInfo;
        D,M,Secs,H : longint;
    {$endif}

    begin
      {$ifdef Linux}
      If Not (SysInfo(@Info)=0) then
        Halt(1);
      With Info do
        begin
        D:=Uptime div (3600*24);
        UpTime:=UpTime mod (3600*24);
        h:=uptime div 3600;
        uptime:=uptime mod 3600;
        m:=uptime div 60;
        secs:=uptime mod 60;
        Writeln('Uptime : ',d,'days, ',h,' hours, ',m,' min, ',secs,' s.');
        Writeln('Loads  : ',Loads[1],'/',Loads[2],'/',Loads[3]);
        Writeln('Total Ram  : ',Mb(totalram),'Mb.');
        Writeln('Free Ram   : ',Mb(freeram),'Mb.');
        Writeln('Shared Ram : ',Mb(sharedram),'Mb.');
        Writeln('Buffer Ram : ',Mb(bufferram),'Mb.');
        Writeln('Total Swap : ',Mb(totalswap),'Mb.');
        Writeln('Free Swap  : ',Mb(freeswap),'Mb.');
        end;
      {$endif}
    end.