Can we Identify the CPU resources used by each sql named instance on a single Server

Hello Experts,

I have 2 named instances (SQL Server 2008 SP2) on a single physical server.

Can you please guide me if there is a way to identify amount of CPU resources used by each instance.

I am trying to estimate the CPU usage of each instance to get a baseline for migrating one instance to different server.

Who is Participating?
Sounds like a job for perfmon.

I believe they counters you are looking for are in the resourse pool stats, cpu usage % or something similar.

So for a default instance it would be SQL Server:Resource Pool Stats
For a named instace it would be mssql$instancename:Resource Pool stats

Here is a good link that shows the basics on how to find the high CPU culprit on a per instance basis

However, you can also run the following command to pull up the intances in the command line below
(assume the instances are runnning on port 1433:
netstat -ano | findstr "1433"

if you stop one of the SQL instances and run the command you can find the "known" spid (THe SPID is off the the far right) of the instance that is still running. Then start the other instance and run the command again. now you see two entries. You also have the SPID of the second instance.

With this information you can use the task manager to see which instance is using the CPU.  In the task manager, go to the process tab and click the view -seclect colums option. select the PID (process identifuer), CPU usage, and any other counters you wish. -  you can get a rough and tough estimation of the CPU usage, isolated by the PID you have collected from the prevous steps.

I hope this helps.


THen start
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.