Sponsored Content
Top Forums UNIX for Advanced & Expert Users AIX - io info get from "libperfstat" not match "iostat" Post 302903678 by jackliang on Thursday 29th of May 2014 01:35:21 AM
Old 05-29-2014
AIX - io info get from "libperfstat" not match "iostat"

Hi, everyone.
I need to write a program to get io info based on libperfstat.
But the "write time" of a disk is just half of the value get from iostat.
I'm confused and can't explain. Help please.

How I calculate "write service time per sec":

In iostat:
Code:
 
        write service time per sec = wps * avgserv
        wps: write requests per sec
        avgserv: avg service time per write request

In my program:
Code:
        (new wserv - old wserv) / intervalTime

iostat cmd:
Code:
 iostat -D hdisk1 10

My C code :
Code:
    int i, ret, tot;
    perfstat_disk_t *statp;
    perfstat_id_t first;
    
    unsigned long long oldValue = 0;
    unsigned long long newValue = 0;
    int interval = 10;
    
    while (true) {
        /* check how many perfstat_disk_t structures are available */
        tot =  perfstat_disk(NULL, NULL, sizeof(perfstat_disk_t), 0);
    
        /* allocate enough memory for all the structures */
        statp = calloc(tot, sizeof(perfstat_disk_t));
    
        /* set name to first interface */
        strcpy(first.name, FIRST_DISK);
    
        /* ask to get all the structures available in one call */
        /* return code is number of structures returned */
        ret = perfstat_disk(&first, statp,
            sizeof(perfstat_disk_t), tot);
    
        /* print statistics for each of the disks */
        for (i = 0; i < ret; i++) {
            if (strcmp(statp[i].name, "hdisk1") == 0) {
                printf("\nStatistics for disk : %s\n", statp[i].name);
                printf("-------------------\n");
                newValue = statp[i].wserv;
                printf("write time : %llu /s\n", (newValue - oldValue)/interval);
                oldValue = newValue;
            }
        }
    
        sleep(interval); // sleep 10s
    }

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

4. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

5. AIX

How to enable "TCP MD5 Signatures" and "https" on AIX?

I have searched many times but nothing found. Somebody help please :(:(:( (1 Reply)
Discussion started by: bobochacha29
1 Replies

6. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

7. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

8. Shell Programming and Scripting

Search file containing ps results for a match "my.cnf" and then for a second match . "ok:" and

I need to find two matches in the output from ps. I am searching with ps -ef |grep mysql for: my.cnf /bin/sh /usr/bin/mysqld_safe --defaults-file=/data/mysql/master/agis_core/etc/my.cnf after this match I want to search back and match the hostname which is x number of lines back, above the... (2 Replies)
Discussion started by: bash_in_my_head
2 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
IOSTAT(8)						    BSD System Manager's Manual 						 IOSTAT(8)

NAME
iostat -- report I/O statistics SYNOPSIS
iostat [-CUdKIoT?] [-c count] [-n devs] [-w wait] [drives] DESCRIPTION
Iostat displays kernel I/O statistics on terminal, device and cpu operations. The first statistics that are printed are averaged over the system uptime. To get information about the current activity, a suitable wait time should be specified, so that the subsequent sets of printed statistics will be averaged over that time. The options are as follows: -? Display a usage statement and exit. -C Display CPU statistics. This is on by default, unless -d is specified. -c Repeat the display count times. If no wait interval is specified, the default is 1 second. -d Display only device statistics. If this flag is turned on, only device statistics will be displayed, unless -C or -U or -T is also specfied to enable the display of CPU, load average or TTY statistics. -I Display total statstics for a given time period, rather than average statistics for each second during that time period. -K In the blocks transferred display (-o), display block count in kilobytes rather then the device native block size. -n Display up to devs number of devices. iostat will display fewer devices if there aren't devs devices present. -o Display old-style iostat device statistics. Sectors per second, transfers per second, and miliseconds per seek are displayed. If -I is specified, total blocks/sectors, total transfers, and miliseconds per seek are displayed. -T Display TTY statistics. This is on by default, unless -d is specified. -U Display system load averages. This is on by default, unless -d is specified. -w Pause wait seconds between each display. If no repeat count is specified, the default is infinity. Iostat displays its information in the following format: tty tin characters read from terminals tout characters written to terminals devices Device operations. The header of the field is the device name and unit number. iostat will display as many devices as will fit in a standard 80 column screen, or the maximum number of devices in the system, whichever is smaller. If -n is specified on the command line, iostat will display the smaller of the requested number of devices, and the maximum number of devices in the system. To force iostat to display specific drives, their names may be supplied on the command line. iostat will not display more devices than will fit in an 80 column screen, unless the -n argument is given on the command line to specify a maximum number of devices to display, or the list of specified devices exceeds 80 columns. If fewer devices are specified on the command line than will fit in an 80 column screen, iostat will show only the specified devices. The standard iostat device display shows the following statistics: KB/t kilobytes per transfer tps transfers per second MB/s megabytes per second The standard iostat device display, with the -I flag specified, shows the following statistics: KB/t kilobytes per transfer xfrs total number of transfers MB total number of megabytes transferred The old-style iostat display (using -o) shows the following statistics: sps sectors transferred per second tps transfers per second msps average milliseconds per transaction The old-style iostat display, with the -I flag specified, shows the following statistics: blk total blocks/sectors transferred xfr total transfers msps average milliseconds per transaction cpu us % of cpu time in user mode sy % of cpu time in system mode id % of cpu time in idle mode EXAMPLES
iostat -w 1 disk0 disk2 Display statistics for the first and third disk devices device every second ad infinitum. iostat -c 2 Display the statistics for the first four devices in the system twice, with a one second display interval. iostat -Iw 3 Display total statistics every three seconds ad infinitum. iostat -odICTw 2 -c 9 Display total statistics using the old-style output format 9 times, with a two second interval between each measurement/display. The -d flag generally disables the TTY and CPU displays, but since the -T and -C flags are given, the TTY and CPU displays will be displayed. SEE ALSO
fstat(1), netstat(1), nfsstat(1), ps(1), pstat(8) The sections starting with ``Interpreting system activity'' in Installing and Operating 4.3BSD. HISTORY
This version of iostat first appeared in FreeBSD 3.0. BSD
September 27, 2001 BSD
All times are GMT -4. The time now is 09:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy