Mpstat "minf" and "mjf" or vmstat "mf"

I wish to find the page fault rate for a Solaris system. The man page for the mpstat command lists a statistic for "minor faults" (minf) and "major fault" (mjf). Under the vmstat man page, it states that you can get information for page faults including "mf" for "minor faults". Which statistic do I want? What are major and minor faults?
Thanks.

Hi,
I am new to the Unix world. I used vmstat and mpstat
to record the statistics for a test. The mpstat shows
an average wait time of 23% and the average idle time
of 73%. On the other hand, vmstat shows an average
idle time of 96%.
Is this because vmstat shows idle time as the sum of
CPU wait and CPU idle time?
Yes, it is.
Sample vmstat trace:
0 0 0 16341136 6397680 9 5 1 0 0 0 0 64 0 0
0 0 688 861 642 1 2 97
0 0 0 16341136 6397720 8 5 2 0 0 0 0 64 0 0
0 0 691 855 650 2 2 96
0 0 0 16341136 6397680 8 5 2 0 0 0 0 63 0 0
0 0 687 872 641 1 2 97
0 0 0 16341136 6397648 7 5 1 0 0 0 0 52 0 0
0 0 607 700 543 1 2 97
Sample mpstat trace:
CPU minf mjf xcal intr ithr csw icsw migr smtx srw
syscl usr sys wt idl
0 1 0 109 16 5 319 7 20 11 1
1 408 2 3 22 73
1 4 0 128 674 566 321 7 20 13 1
1 443 1 1 22 75
CPU minf mjf xcal intr ithr csw icsw migr smtx srw
syscl usr sys wt idl
0 0 0 107 18 6 324 8 17 9 0
0 474 2 3 21 74
1 5 0 122 653 547 296 5 17 14 0
0 373 1 1 19 79
Thanks,
Paul Ng

Similar Messages

  • FLTS column in top vs. mjf, minf in mpstat, and mf in vmstat

    I am looking for information on how the FLTS column in top relates to what is displayed by vmstat, and mpstat if applicable.
    The version of top installed on the system I am using displays fewer faults in top than what is displayed by vmstat so are they the same thing? Also, are the major and minor faults displayed by mpstat virtual memory page faults or something else?
    I am trying to track this down because we have a process running on a database server that copies a lot of data from one filesystem to another filesystem (Both filesystems are on a NetApp as is the database itself). While this copy is running performance is not ideal and top displays high numbers in the FLTS column so the DBA is convinced it is a bad thing (The scan rate, page outs, DFL, TFL, etc. are all 0 so it isn't a paging issue and service time, wait, etc. are OK for the NFS mounts). Unfortunately I cannot find any GOOD information on how the FLTS column is calculated so I can send this to the DBA.
    Thank you,
    sorenm

    I am looking for information on how the FLTS column in top relates to what is displayed by vmstat, and mpstat if applicable.
    The version of top installed on the system I am using displays fewer faults in top than what is displayed by vmstat so are they the same thing? Also, are the major and minor faults displayed by mpstat virtual memory page faults or something else?
    I am trying to track this down because we have a process running on a database server that copies a lot of data from one filesystem to another filesystem (Both filesystems are on a NetApp as is the database itself). While this copy is running performance is not ideal and top displays high numbers in the FLTS column so the DBA is convinced it is a bad thing (The scan rate, page outs, DFL, TFL, etc. are all 0 so it isn't a paging issue and service time, wait, etc. are OK for the NFS mounts). Unfortunately I cannot find any GOOD information on how the FLTS column is calculated so I can send this to the DBA.
    Thank you,
    sorenm

  • Command to see the memory ,cpu etc.

    Anyone can tell me the command to see the memoery usage ,cpu usage etc ,like the 'top ' command in unix.
    Please reply.

    Assuming you're using Solaris 8 or above try prstat
    prstat -am will show more or less the same output as TOP.
    There's also commands such as swap -l and swap -s, vmstat, mpstat, iostat which can be used to monitor performance as well.

  • User creation date

    Hi
    PLease can anyone tell me when a particluar user is created . In my server there is a user with user id 0 . I want to know who has created it and when. it is running some oracle programs.I am sure i have never created a user with user id 0.
    Second my cpu utilisaion is to much .previously i used to get 20 -25 % idle time . now i am getting only 8-10 % idle time . how can i find out the bottle neck . Pls its urgent.
    Thanks

    Hiyas again...
    First off, just Cailin's enough ;) I may be a guy, but you guys don't have to call me "mister" (AFAIK I'm one of the younger people on this forum aniway).
    About the UID 0 issue: yes indeed, I had taken your original question to mean "when was UID 0 created?", instead of "when was this second user with uid 0 created". So my apologies if I came across a bit drastic, but on these forums you are never too sure about another person's level of knowledge.
    Unfortunately I can't think of anything that hasn't been mentioned wrt to this issue. The only thing I can suggest is that you change the UID on said user account as soon as possible (don't forget to change all of the user's files, although that might prove to be tricky since he shares UID with root urgh).
    When it comes to issues wrt performance:
    * Try prstat and prstat -t to see which processes and/or users are hogging CPU and RAM
    * Try vmstat to watch for excessive swapping
    * Try iostat to watch for excessive I/O and I/O wait times
    * Try using sar to gather statistics for a number of hours or days, so you can kind of graph the load on the system. That should show you any peaks and so on.
    * Check your system logfiles to see if there might be anything broken hardware or OS wise.
    Cheers!
    PS Given your comment about my "language" I assume you know full well what the acronym "WTF" stands for :P But as I said: I didn't mean anything nasty by it... It's just a figure of speach that people from my regular forums/communities use a lot.

  • Run Queue

    Hi,
    I have a system with 31 databases running and when running vmstat 5 5 I get the following:
    procs memory page faults cpu
    r b w avm free re at pi po fr de sr in sy cs us sy id
    43 12 0 9384607 9197758 0 0 24 11 0 0 414 49939 704738 29358 52 17 31
    43 12 0 9384607 9186170 0 0 1 3 0 0 0 40638 1085122 38446 85 14 1
    50 8 0 9467427 9172458 0 0 1 4 0 0 0 44732 1237572 46874 82 15 3
    50 8 0 9467427 9220610 0 0 0 4 0 0 0 39450 1204662 51553 82 15 3
    45 12 0 9446969 9197194 0 0 0 4 0 0 0 44293 1004155 40134 81 17 3
    If the formating above is ok you could see that run queue is 43 - 50 on these 5 samples. This is on a 16 CPU(grid control info) HP-UX Itanium server.
    If I look in Grid control I get the following info:
    Real Time Statistics
    Current Value 1.64
    Average Value 2.0
    High Value 2.73
    Low Value 1.64
    Warning Threshold 10
    Critical Threshold 20
    Occurrences Before Alert 6
    Corrective Action None
    Why the big difference?
    Also I've tried to run vmstat several times and it always show 25+ in Run Queue
    I think we have problems with CPU resources(and then again performence in databases) and trying to document it.
    Regards
    933746

    933746 wrote:
    Nikolay Savvinov wrote:
    Hi
    933746 wrote:
    Hi,
    I have a system with 31 databases running and when running vmstat 5 5 I get the following:...
    This is on a 16 CPU(grid control info) HP-UX Itanium server.
    Also I've tried to run vmstat several times and it always show 25+ in Run Queue
    I think we have problems with CPU resources(and then again performence in databases) 31 databases, 16 CPUs. Do you seriously expect this setup to be anything but a complete disaster?
    Best regards,
    NikolayYes the environment works fine most of the time.
    Anyone have an answer to my question:
    Why does Oracle Grid control report differently then vmstat regarding Run Queue?
    Regards
    933746I'm not running grid control or collecting cpu metrics with dbconsole, but I've seen enough stupidity with dbconsole on Itanium I don't have a problem with saying, If there is a difference between what grid and the OS tools reports, believe the OS tools.
    You should open an SR, though you'll probably get some idiot who tries it on linux and says it works fine. It could be as dumb as grid thinking you only have one db on the host.
    On the other hand, people like [url http://www.nyoug.org/Presentations/2002/oraperf_bw.PDF]Gaja give a formula for the run queue that it shouldn't be more than 2*number of cpu's, which could be how the grid is calculating whether the warning threshold is exceeded (does the context sensitive grid help say anything about how it is calculated?). But I think the others comments are perhaps more appropriate in this day and age. See this interesting observation: http://hoopercharles.wordpress.com/2010/02/05/faulty-quotes-6-cpu-utilization/

  • Vmstat and how to know number of available cpu/cpu in Solaris?

    Hi
    Which command to know number of available cpu in Solaris?
    And what is the difference between vmstat and prstat since the purpose is to check the server load??
    Thanks

    1) psrinfo or psrinfo -v, prtdiag also works on most platforms if you have a recent enough version of Solaris.
    2) prstat shows what processes you have on the systems, how much memory they consume, the amount of threads and other things, in other words it returns statistics about the processes of the system.
    vmstat shows the statistics of the virtual memory subsystem, such as paging, memory statistics, disk I/O and kernel stats.
    .7/M.

  • Sun T2000 and mpstat, mostly idle

    I am running a test on the Sun T2000
    mpstat shows that most of the cores are idle.
    I have run my test with both writes to disk as well as running completely in memory and the %idle stays about the same.
    I had read in Charles Lamb's blog, that he had been able to get a benchmark called JESearchRate, running at 100% utilization.
    http://blogs.oracle.com/charleslamb/discuss/msgReader$11
    I searched for this benchmark but could not find it. Is it available, so that I can see if it is something about the T2000 or the test of my BDB JE application?

    A few ideas come to mind; as always, whether they result in improvement for you is application dependent. They're in roughly the order that I'd try.
    You mention that you are using txnWriteNoSync mode. This means that that the JE will issue a system write call for each write operation, but won't execute the fsync. Switching over to txnNoSync mode should show another level of improvement, because operations will not issue the write call, but there will be a corresponding decrease in durability.
    Along the theme of trading off durability for performance, you may want to investigate the deferred-write mode that can be set through DatabaseConfig.setDeferredWrite. However, deferred-write mode doesn't support transactional use, and it seems that you are using transactions.
    Even in txnNoSync mode, JE still issues write calls as the log write buffer fills up, and fsync calls as the log flips over to a new file. If writes and fsyncs are a bottleneck, you can increase throughput by increasing the log write buffer size and the log file size. Log write buffer size can be manipulated through adjusting je.log.bufferSize, je.log.totalBufferBytes, and je.log.numBuffers. Be sure to verify that you indeed made them larger by dumping environment stats and looking at EnvironmentStats.getNLogBuffers and getNBufferBytes().
    Log file size is more straightforward to increase, through je.log.fileMax. You can inspect your logs to verify that the size configuration change took effect.
    At the moment, we don't have much to offer for write operations if the bottleneck is latch contention on the btree rather than on the logging system. As you observed, the shared latch setting doesn't do anything for writes. We know that we could do more tuning work to use shared latches in more write paths, especially for operations such as deletes and modifies, but we haven't gotten to that work yet.
    Another route to go to reduce contention points is to use multiple environments, if it suits your application. That runs afoul of some other issues, such as the fact that currently a cache is configured per environment, and the use of multiple environments in a single process requires some static division of memory that may not be optimal. (We're paying attention to the fact that we've heard this use case from an increasing number of users!).
    Regards,
    Linda

  • CPU assignation is very slow and limited

    I have the following program:
    int main()
        while(true);
        return 0;
    }called whileTrue.bin, when I execute it, the output of the line:
    while true; do ps -u gimenero -o ruser,pid,ppid,s,pcpu,vsz,osz,comm | grep whileTrue.bin | grep -v grep;sleep 1;done
    is the following:
    gimenero 14208 29576 O  0.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  1.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  1.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  2.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  2.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  3.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  3.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  4.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  4.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  4.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  5.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  5.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  5.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  6.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  6.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  6.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  7.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  7.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  7.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  7.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  8.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O  9.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 10.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.6 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.7 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.8 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 11.9 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.0 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.1 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.2 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.3 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.4 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.bin
    gimenero 14208 29576 O 12.5 27096 3387 ./whileTrue.binIt looks like the CPU assignation occurs very slowly, and it's limited at 12.5%. The other processes are at 1% or less, so almost the whole processor is available for whileTrue.bin.
    Is this behavior configurable? It should not behave like this, a while-true loop should jump to the maximum (in this case, near 100%) in like a second or two (when I try this in another plattform, a Tru64 one, it behaves like spected, jumping to 99% in 1 second). This behavior is making everything very slow. Why is this CPU assignation so slow? Why is it limited? Where can I configure this limit and this rate of cpu assignation?

    About the 12,5% limit, you're right, we're running on a 8 processor CPU and it considers the whole group to be 100%.
    [gimenero@des-bill1 ~]$ mpstat
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 602 0 2017 838 202 1247 35 173 2536 7 8162 10 8 0 82
    1 97 0 992 553 35 1041 53 139 2191 6 6488 4 5 0 91
    2 719 0 1267 508 17 986 33 141 2416 5 7730 29 7 0 64
    3 63 0 678 415 152 532 28 78 2451 4 5758 11 5 0 84
    8 789 0 1145 536 3 1088 33 179 1963 7 7434 27 7 0 66
    9 156 0 746 459 138 660 30 109 2047 5 5773 9 5 0 86
    10 424 0 1077 622 111 1074 33 148 2304 6 6828 12 6 0 82
    11 52 0 340 289 1 579 33 71 2174 4 5699 19 4 0 77
    You're also right about the ps average. I tried the following code:
    #include <time.h>
    #include <stdlib.h>
    #include <iostream>
    #include <errno.h>
    using namespace std;
    int main(int argc, char **argv)
        if (argc < 2)
            cout << "Uso: ciclos <tiempo>" << endl;
            return 1;
        errno = 0;
        int lapse = atoi(argv[1]);
        if (errno)
            cerr << strerror(errno) << endl;
            return 1;
        time_t currTime = time(NULL), startTime = currTime;
        time_t lastUp = currTime;
        long i, j;
        int last = 0;
        for (i = 0, j = 0; currTime - startTime < lapse; i++, currTime = time(NULL))
            if (currTime - lastUp > 0)
                cout << "Second " << (j++) << ": Cycles: " << i
                     << " (dif.: " << (int) (i - last) << ")" << endl;
                last = i;
                lastUp = currTime;
                i = 0;
        return 0;
    }To measure the amout of cycles/sec at each second, and the results where the following:
    Second 0: Cycles: 2038960 (dif.: 2038960)
    Second 1: Cycles: 2558468 (dif.: 519508)
    Second 2: Cycles: 2478702 (dif.: -79766)
    Second 3: Cycles: 2537230 (dif.: 58528)
    Second 4: Cycles: 2568078 (dif.: 30848)
    Second 5: Cycles: 2497077 (dif.: -71001)
    Second 6: Cycles: 2605301 (dif.: 108224)
    Second 7: Cycles: 2541288 (dif.: -64013)
    Second 8: Cycles: 2476847 (dif.: -64441)
    Second 9: Cycles: 2575684 (dif.: 98837)
    Second 10: Cycles: 2422618 (dif.: -153066)
    Second 11: Cycles: 2339900 (dif.: -82718)
    Second 12: Cycles: 2571484 (dif.: 231584)
    Second 13: Cycles: 2420183 (dif.: -151301)
    Second 14: Cycles: 2493220 (dif.: 73037)
    Second 15: Cycles: 2580775 (dif.: 87555)
    Second 16: Cycles: 2588471 (dif.: 7696)
    Second 17: Cycles: 2524327 (dif.: -64144)
    Second 18: Cycles: 2573308 (dif.: 48981)
    which means it inmediately jumps to the higher value. The prstat average is as slow as ps.
    Thanks!

  • Need to understand how system time is computed by mpstat

    Hi!
    i've got difficulties analyzing system utilization. Linux utilities (vmstat, iosat, mpstat) report system utilization on level of 3-6%, but when it's 6% system slows down in a visible way. Generally speaking spikes up to 6% are visible in application response times. It's linux 2.16.18 with Xeon X5677 (8 cores+HT). Linux reports 16 logical processors. It's interesting that sum of %sys for each CPU is always <100%.
    How %sys is computed by mpstat? Does it mean that 6% is a this system boundary?
    Thanks,
    Ryszard

    Hi Dude!
    I agree. You are right in each point.
    But my exact question is about %sys calculation by mpstat. I was probably not very precise with term of "system boundary". My second question was about maximum CPU time that kernel may use. I've discovered very interesting thing related to the subject: sum of %sys column for each CPU (as reported by mpstat) is always below 100%. It was measured during quite heavy load test of the system.
    Take a look at below mpstat output:
    CPU     %user     %nice     %sys     %iowait     %irq     %soft     %steal     %idle     intr/s
    all     48.88     0     4.66     0.04     0.05     0.44     0     45.93     8904
    0     24     0     1     0     0     0     0     75     1000.2
    1     28.8     0     7.8     0.2     0     0     0     63.2     0.4
    2     25.95     0     13.77     0.2     0     0.2     0     59.88     0.2
    3     34.4     0     1     0     0     0     0     64.6     0
    4     56.8     0     3.2     0     0     1     0     39     800.2
    5     53.2     0     2.2     0     0.2     0.6     0     43.8     571.4
    6     51.6     0     1.8     0     0.2     0.4     0     46     211.2
    7     35.2     0     3.6     0     0     0.2     0     61     0
    8     82.24     0     16.77     0     0     0.2     0     0.8     0
    9     30.2     0     11.8     0     0     0     0     58     0.4
    10     65.2     0     0.4     0     0     0     0     34.4     0.2
    11     35.53     0     0.8     0     0     0.2     0     63.47     0.4
    12     65.73     0     3.41     0     0     0.6     0     30.26     539.6
    13     60.8     0     2.6     0     0     1.2     0     35.4     1228.4
    14     58.2     0     2.2     0     0     1.4     0     38.2     1581.2
    15     74.4     0     2.2     0     0.2     1     0     22.2     2970
    Let's take transposed %sys column:
    %sys     4.66     1     7.8     13.77     1     3.2     2.2     1.8     3.6     16.77     11.8     0.4     0.8     3.41     2.6     2.2     2.2
    all=4.66%
    sum 0.15 = 1+7.8+13.77+...+2.2+2.2 = 74.55%
    My bet is that 74.55% is more realistic than 4.66%. How this 4.66% is calculated? What does it mean? And why sum(%sys, 0..15) is always below 100%?
    Thanks,
    Ryszard

  • Identifying CPU Bottlenecks with vmstat kthr / r

    Hi,
    Can someone help me with the interpretation of vmstat with CPU and multiples cores, threads ?
    In short, the server is experiencing a CPU bottleneck when “r” is greater than the number of CPU’s on the server.
    But what should I use in these cases for example :
    2 CPU's dual cores should mean 4 CPU's ?
    2 CPU's dual cores dual threads should mean 4 CPU's or 8 CPU's ?
    # vmstat 5
         kthr   memory          page             disk      faults        cpu
         r b w swap  free re mf pi p fr de sr s0 s1 s2 s3  in  sy  cs us sy id
         12 0 0 11456 4120 1  41 19 1  3  0  2  0  4  0  0  48 112 130  4 14 82
         14 0 1 10132 4280 0   4 44 0  0  0  0  0 23  0  0 211 230 144  3 35 62
         15 0 1 10132 4616 0   0 20 0  0  0  0  0 19  0  0 150 172 146  3 33 64
         17 0 1 10132 5292 0   0  9 0  0  0  0  0 21  0  0 165 105 130  1 21 78Thanks !

    Look at LAT from prstat (generally I use prstat -amL). This will give you an idea of the delay due to wait for CPU.
    Looking at your vmstat:
    # vmstat 5
         kthr   memory          page             disk      faults        cpu
         r b w swap  free re mf pi p fr de sr s0 s1 s2 s3  in  sy  cs us sy id
         12 0 0 11456 4120 1  41 19 1  3  0  2  0  4  0  0  48 112 130  4 14 82
         14 0 1 10132 4280 0   4 44 0  0  0  0  0 23  0  0 211 230 144  3 35 62
         15 0 1 10132 4616 0   0 20 0  0  0  0  0 19  0  0 150 172 146  3 33 64
         17 0 1 10132 5292 0   0  9 0  0  0  0  0 21  0  0 165 105 130  1 21 78Note that there is a run queue but also much cpu idle - 62% to 82%
    Use mpstat to see the load on each cpu.
    If you feel that there is a performance problem with the application(s) running on this server I don't think this vmstat supports the need for more CPUs.
    What is the hardware and Solaris level involved.
    have a good day,
    Glen
    (PS I've been wrong before so don't rule out a need for more CPUs - but collect more data before reaching a conclusion.)

  • Monitoring Line card Memory and CPU utlization

    Hi,
    Please help me to configure CPU and Memory utlization of Line card modules using HP NNM tool.
    I need MIB values to configure the same.

    Hi,
    Is there any utility in solaris similar to nmon,
    found in AIX, to monitor the server resources like
    memory and CPU ? Could you describe the features of nmon that you're looking for?
    Is "sar" the only command to monitor ?Other commands might be vmstat, prstat, iostat, mpstat. There's also "orca" which can be run to collect and graph data from a system.
    Darren

  • Using dtrace how can we get the functionality of prstat ,vmstat

    Hi,
    I would like to know what probes can be used to generate a dtrace (.d) script which could produce the output of prstat,vmstat etc.I cannot use these commands at the command prompt directly to know my system's behavior.Can any one here help me out to get this thing realized.I have stiff deadlines to meet .....and i am behind them already...
    Thanking for your support in advance.
    Karthik

    There's probably not an exact equivalent. I'd start with the 'dtrace toolkit' and see if there's something in there that meets your needs.
    But it's not designed to replace tools that already work well. Why would you be able to use dtrace and not vmstat?
    Darren

  • How to Interpret vmstat & iostat - what to look for

    Hi
    I can't find any solid perfomance resources so I wonder if anyone can point me in the right direction
    I have abox & wonder if it's performing OK as such I enclose a vmstat & iostat
    Even if it is, Can anyone point me on what spike to look out for ?
    - vmstat 5 5
    kthr memory page disk faults cpu
    r b w swap free re mf pi po fr de sr s6 sd sd sd in sy cs us sy id
    0 0 0 20258552 6355368 326 278 1998 10 11 0 9 0 23 0 0 984 1552 655 6 2 92
    0 0 0 20267192 5904752 388 643 3455 0 0 0 0 0 63 0 0 2610 3075 1365 22 3 75
    0 0 0 20269656 5906752 449 50 5142 14 13 0 0 0 89 0 0 2792 2767 1418 11 2 87
    0 0 0 20266528 5903616 77 642 38 0 0 0 0 0 12 0 0 1502 6421 1097 26 3 71
    0 0 0 20268256 5905280 4 991 18 0 0 0 0 0 10 0 0 1086 2827 797 15 2 83
    - iostat 5 5
    tty sd6 ssd3 ssd5 ssd7 cpu
    tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id
    0 1 0 0 0 547 23 14 7 0 6 7 0 5 6 2 7 84
    0 47 0 0 0 628 15 16 0 0 0 0 0 0 1 1 3 94
    0 16 0 0 0 2263 84 5 0 0 0 0 0 0 17 4 4 75
    0 16 0 0 0 1941 89 15 0 0 0 0 0 0 7 3 4 86
    0 16 0 0 0 2446 142 2 0 0 0 0 0 0 17 4 10 69
    Thanks IN Advance

    Things run poorly when you run out of something... RAM, I/O, CPU, .... Generally that means that work has to wait until more of that resource becomes available.
    Your vmstat shows that you're not running out of memory or CPU, and you don't have processes blocked. Your iostat isn't very comprehensive (iostat -nx is usually better), but doesn't look bad for I/O. Finally, all of that depends on your workload and what you expect. If you're running a database, having a server run with 0% idle CPU is probably very bad. If you're running a compute server in a grid, having a server run with 0% idle CPU is probably good.
    Darren

  • How could I get the used rates of cpu and main memory

    I want to get the used rates of the cpus and the memeoy?How could I do?
    I write the code on linux and got them by read the file /proc/meminfo and /proc/loadavg.
    Is there the similar file under solaris?
    Further more , under the linux os, I could make a system sound with function ioctl,which function could make a warning sound in Solaris?
    Thanks a lot!

    For memory usage call vmstat. Can't help with CPU usage.

  • How to know the amount of ora 11g page-out  memory (sga and pga)?

    How to know the amount of oracle 11g page-out memory ( sga and pga) in the SunSolaris 10 Unix and Linux.
    I need to know how many oracle memory are being page-out ( all and for a one oracle server process).
    thanks

    You can monitor the paging with vmstat or sar commands.
    http://download.oracle.com/docs/cd/B28359_01/server.111/b32009/tuning.htm#sthref500
    You can also get the paging information on OEM home page if configured for your database.
    But I don't know if there exists a method with which one can find out how much memory per session/server process is getting paged out.

Maybe you are looking for

  • "BDC for multiple line items of PO"

    I am using this code to move data for multiple line items of a PO. But only one is getting transferred. I am using BDC for this. FORM transaction_bdc .   DATA :   v_cnt(2) TYPE n,   v_bst(2) TYPE n,   v_bn TYPE i,   v_bstpo(25),   v_ebtyp(25),   v_me

  • Camera Raw update on trial version of photoshop.

    Getting very frustrated and wonder if any of you  clever people out there could help me. I have Elements 8 and have just bought a EOS600D, elements can't open or show a thumbnail of the raw images. So I downloaded the trial of photoshop CS5 thinking

  • Interactive Brochure

    Does anyone know if I can use iDVD to produce an interactive 'brochure' that can run on any computer, the contents of which include a QuickTime animation and a series of PDF 'pages' containing images and text. I want the DVD to autorun with the anima

  • Dynamically change send-to address of EmailSubmitButton

    I'm modifying an access request form that we use. Depending on whether the request is for new access (for a new user) or a change to existing access, there may be more than one person who needs to receive the form. I need to know how to modify the Em

  • Line attenuation

    A while ago I was having problems with my connection dropping out but after some advice from the forum its improved. Now only drops roughly once every 4 days or so even though the noise margin is around 2.7. The thing is I have been told that the lin