Unix::Statgrab - System Monitoring
Jens Rehsack
Overview
Part I
Introduction
Audience
Audience
Developer who wants to create or improve monitoring software
Developer who wants to evaluate system stats for content sensitive code
paths
Developer who wants to to learn the difference to earlier libstatgrab /
Unix::Statgrab API
Developers or Operators (Admins) who wants to learn about measurement of
statistic values of the machine
Audience
Audience
Developer who wants to create or improve monitoring software
Developer who wants to evaluate system stats for content sensitive code
paths
Developer who wants to to learn the difference to earlier libstatgrab /
Unix::Statgrab API
Developers or Operators (Admins) who wants to learn about measurement of
statistic values of the machine
Prerequisites of the Audience
Following knowledge is expected:
advanced skills in at least one object oriented and procedural programming
language
Motivation
XS / C
use of native API to get OS stats
performance advantage
interoperability (most VM’s have a * native interface)
portability - widest calling convention support in C
Platforms I
Tested and confirmed running
DragonFly BSD 3.4
FreeBSD 7,8 (i386, amd64), FreeBSD 9 (i386, amd64, sparc64, ia64),
FreeBSD 10-CURRENT (i386, amd64, sparc64, ia64)
HP-UX 11.11 (parisc) HP-UX 11.23 (parisc, ia64), HP-UX 11.31 (ia64)
Linux 2.6 (Ubuntu 10.04, SLES 9-11, Redhat 6, CentOS 6,
µ
CLinux/arm7),
Linux 3.X (Ubuntu 12.04)
MacOS X 10.6, 10.8 (amd64)
NetBSD 5.1-6.1 (amd64), NetBSD-CURRENT (amd64)
OpenBSD 4.9, 5.3 (amd64)
Platforms II
in progress . . .
Windows (using Interix, maybe mSys)
kFreeBSD
Platforms II
in progress . . .
Windows (using Interix, maybe mSys)
kFreeBSD
Hurd
Wishlist
Digital Unix / Tru64 / OSF1
Haiku
VMS
zOS
Overview
Part II
libstatgrab
2
Host Information
3
CPU statistics
4
Memory statistics
5
Disk / Storage statistics
6
User statistics
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
hostname name of the host.
bitwidth (usually 32 or 64),
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
hostname name of the host.
bitwidth (usually 32 or 64),
host state - one of
sg physical host
,
sg virtual machine
,
sg paravirtual machine
,
sg hardware virtualized
or
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
hostname name of the host.
bitwidth (usually 32 or 64),
host state - one of
sg physical host
,
sg virtual machine
,
sg paravirtual machine
,
sg hardware virtualized
or
sg unknown configuration
),
current number of CPU’s,
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
hostname name of the host.
bitwidth (usually 32 or 64),
host state - one of
sg physical host
,
sg virtual machine
,
sg paravirtual machine
,
sg hardware virtualized
or
sg unknown configuration
),
current number of CPU’s,
Host Info
sg host info
t y p e d e f struct { char* o s _ n a m e ; char* o s _ r e l e a s e ; char* o s _ v e r s i o n ; char* p l a t f o r m ; char* h o s t n a m e ; u n s i g n e d b i t w i d t h ; s g _ h o s t _ s t a t e h o s t _ s t a t e ; u n s i g n e d ncpus ; u n s i g n e d m a x c p u s ; time_t uptime ; time_t s y s t i m e ; } s g _ h o s t _ i n f o ;bundles some operating system information as
name (Linux, FreeBSD, AIX),
release (eg. kernel version),
entire OS version string (eg. Darwin Kernel
Version 12.4.0: Wed May 1 17:57:12 PDT 2013;
root:xnu-2050.24.15 1/RELEASE X86 64),
platform, what finally means CPU information
from OS perspective,
hostname name of the host.
bitwidth (usually 32 or 64),
host state - one of
sg physical host
,
sg virtual machine
,
sg paravirtual machine
,
sg hardware virtualized
or
sg unknown configuration
),
current number of CPU’s,
maximum number of CPU’s.
CPU stats
sg cpu stats
t y p e d e f struct {
u n s i g n e d long long user , kernel , idle , iowait , swap , nice , total ;
u n s i g n e d long long c o n t e x t _ s w i t c h e s , v o l u n t a r y _ c o n t e x t _ s w i t c h e s , i n v o l u n t a r y _ c o n t e x t _ s w i t c h e s , syscalls , interrupts , s o f t _ i n t e r r u p t s ,
time_t s y s t i m e ; } s g _ c p u _ s t a t s ;
CPU stats
sg cpu stats
t y p e d e f struct {
u n s i g n e d long long user , kernel , idle , iowait , swap , nice , total ;
u n s i g n e d long long c o n t e x t _ s w i t c h e s , v o l u n t a r y _ c o n t e x t _ s w i t c h e s , i n v o l u n t a r y _ c o n t e x t _ s w i t c h e s , syscalls , interrupts , s o f t _ i n t e r r u p t s ,
time_t s y s t i m e ; } s g _ c p u _ s t a t s ;
CPU stats
sg cpu stats
t y p e d e f struct {
u n s i g n e d long long user , kernel , idle , iowait , swap , nice , total ;
u n s i g n e d long long c o n t e x t _ s w i t c h e s , v o l u n t a r y _ c o n t e x t _ s w i t c h e s , i n v o l u n t a r y _ c o n t e x t _ s w i t c h e s , syscalls , interrupts , s o f t _ i n t e r r u p t s ,
time_t s y s t i m e ; } s g _ c p u _ s t a t s ;
absolute ticks of measurable CPU states,
CPU stats
sg cpu stats
t y p e d e f struct {
u n s i g n e d long long user , kernel , idle , iowait , swap , nice , total ;
u n s i g n e d long long c o n t e x t _ s w i t c h e s , v o l u n t a r y _ c o n t e x t _ s w i t c h e s , i n v o l u n t a r y _ c o n t e x t _ s w i t c h e s , syscalls , interrupts , s o f t _ i n t e r r u p t s ,
time_t s y s t i m e ; } s g _ c p u _ s t a t s ;
absolute ticks of measurable CPU states,
context switches over all CPU’s, also separated by voluntary and involuntary,
syscalls made, interrupts and soft-interrupts occured,
CPU stats
sg cpu stats
t y p e d e f struct {
u n s i g n e d long long user , kernel , idle , iowait , swap , nice , total ;
u n s i g n e d long long c o n t e x t _ s w i t c h e s , v o l u n t a r y _ c o n t e x t _ s w i t c h e s , i n v o l u n t a r y _ c o n t e x t _ s w i t c h e s , syscalls , interrupts , s o f t _ i n t e r r u p t s ,
time_t s y s t i m e ; } s g _ c p u _ s t a t s ;
absolute ticks of measurable CPU states,
context switches over all CPU’s, also separated by voluntary and involuntary,
syscalls made, interrupts and soft-interrupts occured,
CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;relative ticks of measurable CPU states: ticks in user mode, kernel mode, idle time, waiting for i/o,
during page swap,
CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;relative ticks of measurable CPU states: ticks in user mode, kernel mode, idle time, waiting for i/o,
during page swap, nice rescheduled
CPU percents
sg cpu percents
t y p e d e f struct { double user ; double kernel ; double idle ; double iowait ; double swap ; double nice ; time_t t i m e _ t a k e n ; } s g _ c p u _ p e r c e n t s ;relative ticks of measurable CPU states: ticks in user mode, kernel mode, idle time, waiting for i/o,
during page swap, nice rescheduled
Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;Load percents
sg load stats
t y p e d e f struct { double min1 ; double min5 ; double min15 ; time_t s y s t i m e ; } s g _ l o a d _ s t a t s ;percentage of cpu usage per 1 minute, 5 minutes and 15 minutes.
timestamp when collected this stats.
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
Memory stats
sg mem stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ;
u n s i g n e d long long cache ; time_t s y s t i m e ; } s g _ m e m _ s t a t s ;
information about main memory of the system: total, free, used, cache,
timestamp when collected this stats.
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
Swap stats
sg swap stats
t y p e d e f struct {
u n s i g n e d long long total ;
u n s i g n e d long long free ;
u n s i g n e d long long used ; time_t s y s t i m e ; } s g _ s w a p _ s t a t s ;
information about swap memory of the system: total, free, used,
timestamp when collected this stats.
Disk I/O stats
sg disk io stats
t y p e d e f struct { char* d i s k _ n a m e ; u n s i g n e d long long r e a d _ b y t e s ; u n s i g n e d long long w r i t e _ b y t e s ; time_t s y s t i m e ; } s g _ d i s k _ i o _ s t a t s ;Disk I/O stats
sg disk io stats
t y p e d e f struct { char* d i s k _ n a m e ; u n s i g n e d long long r e a d _ b y t e s ; u n s i g n e d long long w r i t e _ b y t e s ; time_t s y s t i m e ; } s g _ d i s k _ i o _ s t a t s ;for each block device known to the system
name of the block device,
Disk I/O stats
sg disk io stats
t y p e d e f struct { char* d i s k _ n a m e ; u n s i g n e d long long r e a d _ b y t e s ; u n s i g n e d long long w r i t e _ b y t e s ; time_t s y s t i m e ; } s g _ d i s k _ i o _ s t a t s ;for each block device known to the system
name of the block device,
amount of bytes read
Disk I/O stats
sg disk io stats
t y p e d e f struct { char* d i s k _ n a m e ; u n s i g n e d long long r e a d _ b y t e s ; u n s i g n e d long long w r i t e _ b y t e s ; time_t s y s t i m e ; } s g _ d i s k _ i o _ s t a t s ;for each block device known to the system
name of the block device,
amount of bytes read
amount of bytes written
Disk I/O stats
sg disk io stats
t y p e d e f struct { char* d i s k _ n a m e ; u n s i g n e d long long r e a d _ b y t e s ; u n s i g n e d long long w r i t e _ b y t e s ; time_t s y s t i m e ; } s g _ d i s k _ i o _ s t a t s ;for each block device known to the system
name of the block device,
amount of bytes read
amount of bytes written
Paging stats
sg page stats
t y p e d e f struct { u n s i g n e d long long p a g e s _ p a g e i n ; u n s i g n e d long long p a g e s _ p a g e o u t ; time_t s y s t i m e ; } s g _ p a g e _ s t a t s ;Paging stats
sg page stats
t y p e d e f struct { u n s i g n e d long long p a g e s _ p a g e i n ; u n s i g n e d long long p a g e s _ p a g e o u t ; time_t s y s t i m e ; } s g _ p a g e _ s t a t s ;for entire system
Paging stats
sg page stats
t y p e d e f struct { u n s i g n e d long long p a g e s _ p a g e i n ; u n s i g n e d long long p a g e s _ p a g e o u t ; time_t s y s t i m e ; } s g _ p a g e _ s t a t s ;for entire system
amount of bytes paged in,
amount of bytes paged out
Paging stats
sg page stats
t y p e d e f struct { u n s i g n e d long long p a g e s _ p a g e i n ; u n s i g n e d long long p a g e s _ p a g e o u t ; time_t s y s t i m e ; } s g _ p a g e _ s t a t s ;for entire system
amount of bytes paged in,
amount of bytes paged out
timestamp when collected this stats.
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
also separated into used, free and avail
optimal size of the I/O blocks when accessing
the file system in bytes
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
also separated into used, free and avail
optimal size of the I/O blocks when accessing
the file system in bytes
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
also separated into used, free and avail
optimal size of the I/O blocks when accessing
the file system in bytes
block size (minimum allocation size) of the file
system in bytes
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ;
for each mounted (and not filtered) file system
name of the mounted block device,
name of the file system type (eg. ext3, ffs, zfs)
full qualified path name of the mount point
device type: one of
sg fs unknown
,
sg fs regular
,
sg fs special
,
sg fs loopback
,
sg fs remote
or any
combination
Anything but unknown is covered by
sg fs alltypes
, any local type by
sg fs local
size of the file system in bytes
also separated into used, free and avail
inodes of the file system
also separated into used, free and avail
optimal size of the I/O blocks when accessing
the file system in bytes
Filesystem stats
sg fs stats
t y p e d e f struct { char* d e v i c e _ n a m e ; char* f s _ t y p e ; char* m n t _ p o i n t ; s g _ f s _ d e v i c e _ t y p e d e v i c e _ t y p e ;u n s i g n e d long long size ;
u n s i g n e d long long used ;
u n s i g n e d long long free ;
u n s i g n e d long long avail ;
u n s i g n e d long long t o t a l _ i n o d e s ; u n s i g n e d long long u s e d _ i n o d e s ; u n s i g n e d long long f r e e _ i n o d e s ; u n s i g n e d long long a v a i l _ i n o d e s ; u n s i g n e d long long i o _ s i z e ; u n s i g n e d long long b l o c k _ s i z e ; u n s i g n e d long long t o t a l _ b l o c k s ; u n s i g n e d long long f r e e _ b l o c k s ; u n s i g n e d long long u s e d _ b l o c k s ; u n s i g n e d long long a v a i l _ b l o c k s ; time_t s y s t i m e ; } s g _ f s _ s t a t s ;