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(1)						      General Commands Manual							 iostat(1)

NAME
iostat - report I/O statistics SYNOPSIS
[interval [count]] DESCRIPTION
iteratively reports I/O statistics for each active disk on the system. Disk data is arranged in a four-column format: Column Heading Interpretation -------------------------------------------------- device Device name bps Kilobytes transferred per second sps Number of seeks per second msps Milliseconds per average seek If two or more disks are present, data is presented on successive lines for each disk. To compute this information, seeks, data transfer completions, and the number of words transferred are counted for each disk. Also, the state of each disk is examined times per second (as defined in and a tally is made if the disk is active. These numbers can be combined with the transfer rates of each device to determine average seek times for each device. With the advent of new disk technologies, such as data striping, where a single data transfer is spread across several disks, the number of milliseconds per average seek becomes impossible to compute accurately. At best it is only an approximation, varying greatly, based on several dynamic system conditions. For this reason and to maintain backward compatibility, the milliseconds per average seek field is set to the value 1.0. Options recognizes the following options and command-line arguments: Report terminal statistics as well as disk (or lunpath) statistics. When used with the option, lunpath and terminal statistics are displayed. Terminal statistics include: Number of characters read from terminals. Number of characters written to terminals. Percentage of time system (active processors) has spent in user mode. Percentage of time system (active processors) has spent in user mode running low-priority (nice) processes. Percentage of time system (active processors) has spent in system mode. Percentage of time system (active processors) has spent idling. interval Display successive lines which are summaries of the last interval seconds. The first line reported is for the time since a reboot and each subsequent line is for the last interval only. count Repeat the statistics count times. Report active lunpath statistics. When used with the option, lunpath and terminal statistics are reported. The lunpaths are not displayed in any specific order, and the current order may change in future releases. Lunpath data is arranged in a four-column format: symbolic name of the lunpath of the form: diskm_lunpathn, where m is the instance number of LUN and n is the instance number of lunpath. For example, in disk47_lunpath7, m is 47 and n is 7. These instance numbers are displayed by using the option for the LUN and lunpath entries. For more information on LUN and lunpath hardware path, refer to intro(7). Kilobytes transferred per second. Number of seeks per second. Milliseconds per average seek. For multiple lunpaths, data is presented on successive lines for each active lunpath. If no lunpaths were active, a blank line is printed. EXAMPLES
Show current I/O statistics for all disks: Display I/O statistics for all disks every 10 seconds until INTERRUPT or QUIT is pressed: Display I/O statistics for all disks every 10 seconds and terminate after 5 successive readings: Display I/O statistics for all disks every 10 seconds, also show terminal and processor statistics, and terminate after 5 successive read- ings: Display I/O statistics for all active lunpaths: Display I/O statistics for all active lunpaths every 10 seconds until INTERRUPT or QUIT is pressed: Display I/O statistics for all active lunpaths every 10 seconds, and terminate after 5 successive readings: Display I/O statistics for all active lunpaths every 10 seconds, also show terminal and processor statistics, and terminate after 5 succes- sive readings: WARNINGS
Users of must not rely on the exact field widths and spacing of its output, as these will vary depending on the system, the release of HP- UX, and the data to be displayed. AUTHOR
was developed by the University of California, Berkeley, and HP. FILES
SEE ALSO
vmstat(1), ioscan(1M), intro(7). iostat(1)
All times are GMT -4. The time now is 09:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy