Various blocks

  • Hi!

    I perform monitoring of blocks on my server. Viewing the table with blocks history I found several types of processes, that participate in blocks.

    The most common one is a sleeping process that is blocked and possibly blocking others:

     
    
    spidblockedstatusprogram cmd
    922997sleeping CargoBrowser EXECUTE

    Another type is the one that is a runnable process that is not blocked, but blocking others being on the top of the blocking chain:

     
    
    spidblockedstatusprogram cmd
    3560runnable EventHandler INSERT

    The first two are quite normal, so there is not much to worry about.

    The next two are those that I really don't like:

     
    
    spidblockedstatusprogram cmd
    6350sleeping QueueManager INSERT

    /* a sleeping process, that is not blocked, but blocking others being on the top of the blocks chain, with some command */

     
    
    spidblockedstatusprogram cmd
    5130sleeping SalesManager AWAITING COMMAND

    /* a sleeping process, that is not blocked, but blocking others being on the top of the blocks chain, with "AWAITING COMMAND" command status */

    What is really happening to these two? What can be done about it?

    And the last one, that I don't quite understand:

     
    
    spidblockedstatusprogram cmd
    8800defwakeup EventHandler COMMIT TRANSACTI

    /* a defwakeup process, that is not blocked, but blocking others being on the top of the blocks chain, with some command */

    What "defwakeup" status really means? Is there anything, that can be done about blocking by such processes.

    Would appriciate any comments about these types of "blocking" processes.

    Thanks.

  • This was removed by the editor as SPAM

  • "awaiting command" means the process is waiting for the application.

    Either the application is busy doing some large calculation or it is waiting for user input during a transaction. I would check the hostname and go to the machine to check what is going on.

    Status defwakeup is the in between status going from sleeping to runnable. Next check it should be runnable. The column waitresource should should show what it is waiting for

    spid 356, the combination of sleeping and insert must mean that the process is not blocked by another process but waiting for something else.

    Check if waittype<>0

    If that is the case it is waiting for something.

    Check the column lastwaittype to see what kind of thing it is waiting for. It might be log writing or some other IO process.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply