Query: sg_get_disk_io_stats
OS: debian
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
sg_get_disk_io_stats(3) Library Functions Manual sg_get_disk_io_stats(3)NAMEsg_get_disk_io_stats, sg_get_disk_io_stats_diff - get disk io statisticsSYNOPSIS#include <statgrab.h> sg_disk_io_stats *sg_get_disk_io_stats(int *entries); sg_disk_io_stats *sg_get_disk_io_stats_diff(int *entries);DESCRIPTIONBoth calls take a pointer to an int, entries, which is filled with the number of disks the machine has. This is needed to know how many sg_disk_io_stats structures have been returned. A pointer is returned to the first sg_disk_io_stats. sg_get_disk_io_stats returns the disk IO stored in the kernel which holds the amount of data transferred since bootup. On some platforms, such as Solaris 7, this value is stored in a 32bit int, so wraps around when it reaches 4GB. Other platforms, such as Solaris 8, hold the value in a 64bit int, which wraps somewhere near 17 million terabytes. sg_get_disk_io_stats_diff is the same as sg_get_disk_io_stats except it will return the difference since the last call. So, for instance a call to sg_get_disk_io_stats_diff is made, and called again 5 seconds later. Over that time, 2000 bytes of traffic were written and 10000 bytes read. write_bytes will store 2000 bytes, read_bytes will store 10000, and systime will store 5. This function copes with wrap arounds by the O/S so should be seemless to use. On Solaris libstatgrab will attempt to get the cXtXdXsX representation for the disk_name string. If it fails it will use a name like sd0. On some systems programs calling libstatgrab will need elevated privileges to lookup some of the names. The mappings are built up when sg_init is called.RETURN VALUESAll diskio statistics return a pointer to a structure of type sg_disk_io_stats. typedef struct{ char *disk_name; long long read_bytes; long long write_bytes; time_t systime; }sg_disk_io_stats; disk_name The name known to the operating system. (eg. on linux it might be hda) read_bytes The number of bytes the disk has read. write_bytes The number of bytes the disk has written. systime The time period over which read_bytes and write_bytes were transferred.BUGSOn the very first call sg_get_disk_io_stats_diff will return the same as sg_get_disk_io_stats. After the first call it will always return the difference. On operating systems that hold only 32bits of data there is a problem if the values wrap twice. For example, on Solaris 7 if 9GB is trans- ferred and the operating system wraps at 4GB, the sg_get_disk_io_stats_diff function will return 5GB.SEE ALSOstatgrab(3)WEBSITEhttp://www.i-scream.org/libstatgrab/ i-scream $Date: 2005/04/25 11:25:45 $ sg_get_disk_io_stats(3)
Related Man Pages |
---|
sg_get_cpu_stats_diff(3) - debian |
sg_get_disk_io_stats(3) - debian |
sg_get_process_count(3) - debian |
sg_get_network_io_stats_diff(3) - debian |
getdirentries(2) - osf1 |
Similar Topics in the Unix Linux Community |
---|
Pinting a file on Solaris 8 that wraps around. |
Opposite of Split |
libstatgrab 0.16 (Default branch) |
Need assistance to enable more that 4GB RAM on Linux 32Bit OS. |