CUP utilisation of Instance in Server

  • Hi..

    How to find out cpu utilization percentage of each instance of sql server ? suppose if have five instance in the server now i want to check the cpu utilization of each instance.

    Thanks in Advance.

  • Use perfmon. Under the Process object you will be able to select sqlservr, sqlservr#1 etc. Then select the % Processor Time

  • sql_lock (3/20/2010)


    Use perfmon. Under the Process object you will be able to select sqlservr, sqlservr#1 etc. Then select the % Processor Time

    Yes.. it is there the object in name of Processor and also the object counter %processor, it helps to find out the total CPU utilization of the server not for each sql server instance. Example if i have three instance A,B,C then i have to find the CPU utilization A ,CPU utilization B and CPU utilization C.

  • No, it should give you the % per process per instance.

  • sql_lock (3/21/2010)


    No, it should give you the % per process per instance.

    Yes..its there in the name of sqlservr , sql servr#1. but how i can identify the name of the name of the instance from this ?

  • I grabbed this from an earlier post by someone else, but I've forgotten who the original poster was.

    You can run the following on each instance periodically to view recent CPU history of the specific instance and the combined usage of all other processes on the server. Merge the results elsewhere to compare usage by multiple instances on a server (and store all the results in a table to look for high-use/low-use patters in each instance, etc.):

    DECLARE @ts_now BIGINT

    SELECT @ts_now = cpu_ticks / CONVERT(FLOAT, cpu_ticks_in_ms) FROM sys.dm_os_sys_info

    SELECT record_id,

    DATEADD(ms, -1 * (@ts_now - [timestamp]), GETDATE()) AS EventTime,

    SQLProcessUtilization,

    SystemIdle,

    100 - SystemIdle - SQLProcessUtilization AS OtherProcessUtilization

    FROM (

    SELECT

    record.value('(./Record/@id)[1]', 'int') AS record_id,

    record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') AS SystemIdle,

    record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') AS SQLProcessUtilization,

    TIMESTAMP

    FROM (

    SELECT TIMESTAMP, CONVERT(XML, record) AS record

    FROM sys.dm_os_ring_buffers

    WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'

    AND record LIKE '% %') AS x

    ) AS y

    ORDER BY record_id DESC

    -Eddie

    Eddie Wuerch
    MCM: SQL

  • Read -->http://sqlserverpedia.com/blog/sql-server-bloggers/identifying-the-high-cpu-sql-instance/

    and you will get to know howto link them with correct instances using process ID.

    MJ

Viewing 7 posts - 1 through 6 (of 6 total)

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