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/

Similar Messages

  • Cpu resource is available but many run-queue from vmstat

    Hi, all
    I coundn't find appropriate category for this system related questions.
    I am sorry for this.
    The system has more than 100 CPUs on a linux machine, but there are more than 10 run queues.
    As you see, "r" is around 10, but "id" of cpu is about 90%.
    => I cound not understand why processes do not use OTHER available CPU resource in stead of waiting in run-queue.
    uname -a
    Linux aaa 2.6.18-194.el5 #1 SMP Mon Mar 29 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
    vmstat 1 10
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
    r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
    6 13      0 117346968 3604540 105912264    0    0  1013    60    0    0  6  2 90  3  0
    9 14      0 117347072 3604540 105912240    0    0 27752 11759 40266 79569  4  2 89  5  0
    11  7      0 117348512 3604540 105912272    0    0 36680  3085 37745 74248  5  2 89  4  0
    7 16      0 117344720 3604540 105912192    0    0 27720 15913 36344 74105  4  1 89  6  0
    7 13      0 117346896 3604540 105912288    0    0  9944 15803 41294 80441  6  2 88  5  0
    5  9      0 117348656 3604540 105912288    0    0 11368  2051 39088 77034  5  1 89  4  0Thanks in advance.
    Best Regards.

    Thanks for your reply.
    "r" is the number of processes ON CPU plus the number of processes WAITING FOR CPU.
    The following is from "man vmstat".
      Procs
           r: The number of processes waiting for run time.
           b: The number of processes in uninterruptible sleep.I am confused whether or not "r" contains processes which are corrently on cpu, not in run queue.
    Could you give me more detailed explaination or some article?
    Thanks.
    Best Regards.
    Edited by: 869578 on 2013. 2. 15 오전 12:48

  • Increasing the SGA Size to Reduce CPU Run Queues?

    I got the following e-mail message from one of our UNIX admins and wanted to know if anyone can shed some light on this:
    I was just talking to [a consultant] about the problems on [the database server] and he pointed out that he has seen extremely high CPU run queues on this server, despite the fact that average CPU usage is not hitting 100%. We did some more digging and memory is being poorly utilized on this server. There is a lot of available memory that is not being used. We think that the run queues are running up because we have multiple reports coming in and sitting on the individual CPUs but they aren't able to fully utilize the available CPU. We were wondering if it would be possible to adjust the database to use more of the available memory and see if that allows the queries to use the CPU more effectively.

    jdurst wrote:
    I got the following e-mail message from one of our UNIX admins and wanted to know if anyone can shed some light on this:
    I was just talking to [a consultant] about the problems on [the database server] and he pointed out that he has seen extremely high CPU run queues on this server, despite the fact that average CPU usage is not hitting 100%. We did some more digging and memory is being poorly utilized on this server. There is a lot of available memory that is not being used. We think that the run queues are running up because we have multiple reports coming in and sitting on the individual CPUs but they aren't able to fully utilize the available CPU. We were wondering if it would be possible to adjust the database to use more of the available memory and see if that allows the queries to use the CPU more effectively.First, [read these comments.|http://prodlife.wordpress.com/2008/05/06/newsflash-100-cpu-is-worse-than-you-think/#comments]
    So, there are a lot of things that could be happening, and your post doesn't even begin to point in the right direction. Is your system heavily batched? You might speed report things up by slowing down the batch and letting other things use the cpu's. What does Oracle think it is waiting on?
    As the comments cited above suggest, Cary's book addresses how to figure these things out. Big CPU run queues are certainly an indication of tuning necessity, perhaps on both the Oracle and OS side. It could even be something silly like I/O being too slow so the CPU's are waiting on that stuff. There are enough variables involved it can very quickly become like squeezing balloon animals if you don't use a structured approach.
    So, what all hardware is involved? What are your init.ora parameters? What exact versions of everything? What do OS utilities show?

  • Machine statistics paging and run queue

    Hi,
    we have databses in 10g R2 on Windows 2003 server. We have DB grid control for each ( but not OEM 10g). We can not see machine statistics paging and run queue in performance tab. Is it normal ? and only OEM 10g can present it ?
    Many thanks.

    Hi,
    we have databses in 10g R2 on Windows 2003 server. We
    have DB grid control for each ( but not OEM 10g). You have "DB grid control for each ( but not OEM 10g)." ?

  • Correlation between cpu load and the run queue

    We are seeing cases where our cpu utilization is less than 50 % but we are getiing run queues of more than 10 minutes. I would expect a high run queue if we were seeing higher cpu utilization but I am having trouble correlating a high run queue with low cpu utilization. Has anyone else seen a condition like this or have any insights. Database is 11g RAC Exadata X2 full rack. We are using ORM to manage CPU resources as well.

    We are seeing cases where our cpu utilization is less than 50 % but we are getiing run queues of more than 10How many cores do you have?
    If 4, then it looks OK.
    Even if 8, it may be correct.
    The core does not pickup a waiting thread right after a running thread starts waiting for something like I/O. The switching of context has a cost.
    A time of delay may depend on CPU and kernel scheduler, but generally it should be some delay after CPU switches context from one process/thread to another, in case when a running process started waiting prematurely in the middle of its time slice. That is why you may see less than 100% CPU utilization.

  • Top- Large run queue & High load averages

    From which section of top we can find Large run queue & High load averages ?

    Can you be a little bit more specific about what OS your running on? Top is not consistent on all versions of Linux...
    This link may help
    http://www.oracle.com/technology/pub/articles/advanced-linux-commands/part2.html

  • RSQIWKEX - "No Running" Queues flag

    Hi -
    I'm planning on running RSQIWKEX every 30 minutes to restart failed QRfc LUWs in XI.
    I've reviewed notes 813029 and 864333 and am still not clear if I should set the "No Running" Queues flag or not.
    Any advice?
    Thanks,
    J Wolff

    >
    Shoba V wrote:
    > Hi Craig,
    >
    > I would suggest you to do the following:
    >
    > 1. Add an IntCo type dimension if dont have it already and maintain it with the "ENTITY" property
    > 2. Maintain currency type dimension with "REPORTING" property
    > 3. Try using the following script
    >
    > *INCLUDE SYSTEM_CONSTANTS.LGL
    > *SYSLIB ICELIMWITHCURR.LGL
    >
    > *INITIALIZE_ELIM()
    > *ELIMINATE_ORG(H1)
    > *COMMIT
    >
    > The above logic performs intercompany elimination without using business rules.
    >
    > Hope this helps.
    >
    > Regards,
    > Shoba
    Hi Shoba,
    will you be able to give some information on the code of "ICELIMWITHCURR.LGL"? When I try to use this syslib, I got an error message saying that the mentioned file is missing.
    Thanks for further information,
    Sebastian

  • Pending Extract Queue running long

    Hi All,
    I have created a NW7.1 application.I am not able to get the data on my mobile client and i cannot see the data in message or outbound queue. I can see that queue is running in pending state. When i click on pending state. I can see the following.
    I clicked on trigger extract but i am not able to see any change..Queue is running for almost half hour now.Please see the status as shown in pending extract.
    SWCV name: ztest
    Dataobject: Serviceorder
    number of instances: 3
    Status: Running
    Queue Pattern:  DOE_EXT_00X_000_*
    Queue Status:
    Reason for waiting:
    i checked outbound queue via smq1 also but not i dont see any entry there also as it seems like its some other queue which is stuck somewhere else.
    Thanks in advance!!
    Regards
    Devendra

    HI Devendra,
    Please check SMQR.
    Queue
    *DOE_EXT*
    is registered 'R' are not.
    regards
    lakshman balanagu.

  • Message Tracking and Queue Viewer access is denied - Exchange 2010

    Hello,
    I am experiencing Message Tracking and Queue viewer problems on my exchange server.
    Message Tracking problem
    When i run message tracking via EMC or powershell, i receive the following error;
    Failed to connect to the Microsoft Exchange Transport Log Search server on computer "myserver.mydomain.com.br". Verify that a valid computer name was used and the Microsoft Exchange Transport Log Search service is started on the target computer. The
    error message is: "Access is denied".
    Exchange Transport Log Search service is confirmed running and have tried by restarting the service
    Logon user is a member of Domain Admins, Enterprise Admins and Exchange Organization Administrators
    Message Tracking Logs are generated properly
    Queue Viewer problem
    When i run Queue viewer, i receive the following error;
    The Queue Viewer operation on computer "myserver.mydomain.com.br" has failed with exception. The error message is: Access is denied. It was running command.............................................................
    My server information are as follow;
    4 Exchange Server 2010 sp3
    2 Mailbox Server and 2 Hub/CAS
    Mail-flow is working fine
    What should I grant permission for a group of users can have access to the Message Tracking ?
    Regards,

    Hi!
    The group rule was created as described below. The error persists!
     [PS] C:\Windows\system32>Get-RoleGroup "Exchange Access Message Tracking" | fl
    RunspaceId                  : 4229f35d-90f1-4c4e-822d-387979921052
    ManagedBy                   : {bancobmg.com.br/Users/Raphael Henrique Duarte Campos}
    RoleAssignments             : {Message Tracking-Exchange Access Message Tracking}
    Roles                       : {Message Tracking}
    DisplayName                 :
    ExternalDirectoryObjectId   :
    Members                     : {bancobmg.com.br/Users/Raphael Henrique Duarte Campos}
    SamAccountName              : Exchange Access Message Tracking
    Description                 :
    RoleGroupType               : Standard
    LinkedGroup                 :
    Capabilities                : {}
    LinkedPartnerGroupId        :
    LinkedPartnerOrganizationId :
    IsValid                     : True
    ExchangeVersion             : 0.10 (14.0.100.0)
    Name                        : Exchange Access Message Tracking
    DistinguishedName           : CN=Exchange Access Message Tracking,OU=Microsoft Exchange Security Groups,OU=Global,DC=ba
                                  ncobmg,DC=com,DC=br
    Identity                    : bancobmg.com.br/Global/Microsoft Exchange Security Groups/Exchange Access Message Trackin
                                  g
    Guid                        : 0957152d-2073-4f75-b40e-63f45eb20f67
    ObjectCategory              : bancobmg.com.br/Configuration/Schema/Group
    ObjectClass                 : {top, group}
    WhenChanged                 : 06/02/2014 16:25:26
    WhenCreated                 : 06/02/2014 16:25:26
    WhenChangedUTC              : 06/02/2014 18:25:26
    WhenCreatedUTC              : 06/02/2014 18:25:26
    OrganizationId              :
    OriginatingServer           : bmg190.bancobmg.com.br
    [PS] C:\Windows\system32>Get-ManagementRoleAssignment "Message Tracking-Exchange Access Message Tracking" | fl
    RunspaceId                   : 4229f35d-90f1-4c4e-822d-387979921052
    User                         : bancobmg.com.br/Global/Microsoft Exchange Security Groups/Exchange Access Message Tracki
                                   ng
    AssignmentMethod             : Direct
    Identity                     : Message Tracking-Exchange Access Message Tracking
    EffectiveUserName            : All Group Members
    AssignmentChain              :
    RoleAssigneeType             : RoleGroup
    RoleAssignee                 : bancobmg.com.br/Global/Microsoft Exchange Security Groups/Exchange Access Message Tracki
                                   ng
    Role                         : Message Tracking
    RoleAssignmentDelegationType : Regular
    CustomRecipientWriteScope    :
    CustomConfigWriteScope       :
    RecipientReadScope           : Organization
    ConfigReadScope              : OrganizationConfig
    RecipientWriteScope          : Organization
    ConfigWriteScope             : OrganizationConfig
    Enabled                      : True
    RoleAssigneeName             : Exchange Access Message Tracking
    IsValid                      : True
    ExchangeVersion              : 0.11 (14.0.550.0)
    Name                         : Message Tracking-Exchange Access Message Tracking
    DistinguishedName            : CN=Message Tracking-Exchange Access Message Tracking,CN=Role Assignments,CN=RBAC,CN=BANC
                                   O BMG SA,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=bancobmg,DC=com,DC=br
    Guid                         : c3768a00-3f36-4532-b586-a06842a85e24
    ObjectCategory               : bancobmg.com.br/Configuration/Schema/ms-Exch-Role-Assignment
    ObjectClass                  : {top, msExchRoleAssignment}
    WhenChanged                  : 06/02/2014 16:25:26
    WhenCreated                  : 06/02/2014 16:25:26
    WhenChangedUTC               : 06/02/2014 18:25:26
    WhenCreatedUTC               : 06/02/2014 18:25:26
    OrganizationId               :
    OriginatingServer            : bmg190.bancobmg.com.br
    How can I identify if there is any setting to be done?
    Thank you!

  • Automate monitoring of inbound and outbound queues

    Hi,
    I think It would be better to go for standard CCMS monitoring, if you dont have very specific requirements.
    Yes, we can easily sent out emails for CCMS alerts. You can either use the auto-reaction method
    CCMS_Send_Alert_to_ALM  (Note 617547 - RZ20: Sending alerts as mail and SMS) or the one
    CCMS_OnAlert_Email_V2 (Note 939616 - CCMS auto-reactions: Help with troubleshooting)
    Regards,
    Francis

    Vamsee,
    Go for CCMS - if you want to send the alerts to your technical support team. This provides active monitoring for SYSFAIL status and also for long running queues in SMQ2.

  • SMQR - No queues visible

    Hi colleagues,
    I'm not working on XI systems but we receive messages from our XI system in the R/3 system via asynchronous RFC. Because I had a question that required a queue entry, I tried to deregister all the queues in transaction SMQR:  I put cursor on one of the queue entries and in the queue name popup just put '*' in the input field. OK, success. The next message sent was stopped and could be restarted in the queue.
    But after I tried the same thing for registrationI can see just one entry ''. Before it was like XBTR, XBTS* and some more entries.
    OK, the queues are active again but I just can't see them as I used to do.
    Any idea on re-establishing this view in SMQR?
    Besides, I do not understand why XI will continue sending to queues that are hanging in consequence of a sysfail. I'd expect the system would use only inactive or running queues.
    TIA,
    Regards,
    Clemens

    Hi,
    Goto SXMB_ADM>Queue Mnagment>Verify if all the Queues are selected here.
    Select all the queues and register. Then you could see the queues in SMQR.
    Refer
    Queues
    http://help.sap.com/saphelp_nw04s/helpdata/en/f1/cb5f3ce4dd3370e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/f1/cb5f3ce4dd3370e10000000a114084/frameset.htm
    Thanks
    Swarup

  • Spools, Queues, on UNIX

    Dear All
    Commands to check the spools printing, queues, cancel the queues, on UNIX OS for Oracle Apps 11i.
    Thanks,

    for checking the status of a printer queue
    lpstat -a<printer queue name>
    Queue Dev Status Job Files User PP % Blks Cp Rnk
    ops-str hp@op RUNNING
    QUEUED 874 AMILLS0050.3597673 hboracle 25 1 1
    QUEUED 875 AMILLS0050.3597674 hboracle 115 1 2
    QUEUED 918 AMILLS0050.3597758 hboracle 5 1 3
    if status shows DOWN need to enable the printer queue
    for canceling a printer queue request
    cancel 875 <printer queue name>

  • CPU rrun queue and DB time

    Hi,
    i have a major doubt that has been there for a long time.Would be really helpful if you guys could clear it.
    I have a two tier environment with app and DB in different servers.
    I am facing a situation where a job is running with parallel option.Consider the following scenarion
    1)Session A gets a request from app it processes the request and retirns it to the client.Now the session goes idle and it waits for another request from client.(it is idle with sql*net message from client and it is off the CPU run queue as well).At the same time other parallel sessions are doing their work.
    2)Now app gives some data to session A to process but when the data is there ,the session A is not able to get on the CPU run queue since other parallel procesess are occupying the CPU.(THis might just be 10 microsecond or something).Does this time calculate as idle time i.e. sql*net message from client even though the data is there to be processed.
    Am really onfused about this...Thanks
    Sekar

    What I meant was if the process is not in CPU queue and it is waiting for the data from client and the client then responds to the call and sends data to the database ,but the server process doesnt get CPU cycle and it gets CPU cycle only 10 microseconds after it receives the databa from the client.During thos 10 microseconds what will be the wait event ?If you are saying it will be CPU time how will the server process know that it has received data from client before it gets on the CPU cycle..

  • Queue concept

    hi, experts,
    is the queue concept in OBIEE?
    if there are a lot of querys from end-users at the same time.
    how does OBIEE fire the sqls?
    I found that there is "Execute queries asynchronously" in connection pool dialog.
    does it mean the OBIEE runs queues when it is checked?
    Thank you very much!

    There is a queue concept in the connection pool in the max number of connections. When you fire multiple queries they will each use 1 connection. Assuming all queries continue to run you will run out of connections when the max number of connections is reached. From that point queries will queue for a connection.

  • Problem with threads, program always crash

    new to threads, may be doing something COMPLETELY wrong. When I run the program I get a couple of NullPointerExceptions in Thread-0 and Thread-1. I'm confused because it screws up when I call size() for arrayList, and in the API size doesn't throw anything.
    public class ProducerConsumerRunner
       public static void main(String args[])
          Queue q = new Queue(QUEUE_MAX_SIZE);
          ProducerRunnable producer = new ProducerRunnable(q, ITERATIONS);
          ConsumerRunnable consumer = new ConsumerRunnable(q, ITERATIONS);
          //works good up to here
          Thread t1 = new Thread(producer);
          Thread t2 = new Thread(consumer);
          t1.start();
          t2.start();
       private static int ITERATIONS = 50;
       private static int QUEUE_MAX_SIZE = 25;
    import java.util.ArrayList;
    import java.util.concurrent.locks.ReentrantLock;
    public class Queue {
         public Queue(int maxSize)
              list = new ReentrantLock();
              underLimit = list.newCondition();
              MAX_SIZE = maxSize;
         public void add(String line)
              list.lock();
              try{
                           System.out.println("add method of Queue");
                   while(record.size() >= MAX_SIZE){//things get screwed up when this condition is evaluated
                        //size method is crashing the program
                        System.out.println("2");
                        underLimit.await();
                        System.out.println("3");
                   record.add(line);
              }catch(java.lang.InterruptedException e){
                   System.out.println("await interupted: "+e.getMessage());
              }finally{
                   list.unlock();
         public void remove(int line)
              list.lock();
              record.remove(line);
              list.unlock();
         public  ArrayList<String> record;
         private final ReentrantLock list;
         private final java.util.concurrent.locks.Condition underLimit;
         private final int MAX_SIZE;
    import java.util.Date;
    public class ProducerRunnable implements Runnable{
         public ProducerRunnable(Queue q, int itterations)
              this.q = q;
              ITTERATIONS = itterations;
         public void run()
              String date;
              for(int i = 0; i<ITTERATIONS; i++)
                   date = new Date().toString();
                   q.add(date);//this is where it screws up
                   System.out.println(date+" added");
                   try{
                   Thread.sleep(100);
                   }catch(java.lang.InterruptedException e){
                        System.out.println("ProduccerRunnable's sleep was interupted");
         private final Queue q;
         private final int ITTERATIONS;
    public class ConsumerRunnable implements Runnable{
         public ConsumerRunnable(Queue q, int itterations)
              this.q = q;
              ITTERATIONS = itterations;
         public void run()
              //Queue q = new Queue();
              int length;
              for(int i = 0; i<ITTERATIONS; i++)
                   length = q.record.size();//things are getting screwed up here
                   while(q.record.get(length) == null)
                        length--;
                   System.out.println((String)q.record.get(length));
                   q.remove(length);
                   try{
                   Thread.sleep(100);
                   }catch(java.lang.InterruptedException e){
                        System.out.println("ConsumerRunnable's sleep was interupted");
         private final Queue q;
         private final int ITTERATIONS;
    }

    question:
    this works right
         public void remove()
              list.lock();
              int line = 0;
              try{
                   *while(record.size() < 1)*
                        range.await();
                   record.remove(line);
                   range.signalAll();
              }catch(java.lang.InterruptedException e){
                   System.out.println("await interupted: "+e.getMessage());
              }finally{
                   list.unlock();
         }this is deadlock
    *int list = 0;*
    *while((list = record.size)<1) was screwing things up because of the assignment*record is ArrayList of strings. when better to use Vector instead of ArrayList? i notice no differnce and i use threads
    initially I thought record.size was being evaluated and before could be assigned to list, time slice ran out. this could not be case because I use ReentrantLock (list) to lock it.
    Edited by: bean-planet on Apr 1, 2009 4:31 PM

Maybe you are looking for

  • URL on Pop-Up

    Hello all,         I have designed a custom pop-up to be displayed from standard WebUI view and diplay data in a tabular form, everything is working fine but i see a url( http address ) showing up in the Pop-Up which is not intended. How do I remove

  • Acrobat 7.0 Pro on Vista freezes when PDF from Multiple

    I try to create a PDF from multiple files and Acrobat just sits there looking stupid. I've checked for updates - Fully updated. It's from my CS2 Premium Professional edition. I have it installed on a Dell e1705 with Vista Home. Dual Processor, but st

  • Bridge not supported for 4K displays

    Fortunately Adobe upgrade the main players such as Photoshop, Illustrator and InDesign to support 4K displays like mine. But unfortunately, Bridge (and the Creative Cloud app itself!) are not, making it literally impossible to use, as everything is e

  • I've set up an event and published it, but it won't allow for registrations.  The SUBMIT button is grayed out.  Thoughts?

    I've set up an event and published it, but it won't allow for registrations.  The SUBMIT button is grayed out.  Thoughts?

  • Encore's (cs5) 'end action'- more like 'no action'

    anyone know of issues with CS5 Encore's end action not working. I've linked my end action from chapter one to chapter two, etc and/or end actioned my time lines in many trial and always errors ways. I can't seem to get passed the second chapter befor