May 27, 2008 at 4:35 pm
We have 5 instances running on the same box , the task manager show the same image name "sqlservr.exe", how can i tell which instance using most of CPU ? And further within that instance , what's best way to find out which processes are trouble maker ? Thanks.
ddfg
May 27, 2008 at 4:57 pm
Well I'm sure there are better ways but you can run each SQL Server instance under a different account. This will let you see in the processes tab of task manager which instance is using what. I just tested this on a Windows 2003 server and it works. Not sure if older OS versions show the user name of the service in task manager.
JC
-----
James Cornell
Kainell Database Specialists
http://www.kainell.com
May 27, 2008 at 5:26 pm
James Cornell suggestion regarding different accounts is ok and is a simple solution. You could also look in each SQL Server's errorlog file to get the process id and then use Task Manager. Under menu options, pick view, pick "select columns" and choose pid.
More complicated, but the ultimate tool, is use process explorer from http://technet.microsoft.com/en-us/sysinternals/cb56073f-62a3-4ed8-9dd6-40c84cb9e2f5.aspx
SQL = Scarcely Qualifies as a Language
May 27, 2008 at 6:06 pm
Thanks Carl. That is definitely the better approach. I'm going to use this myself from now on!
JC
-----
James Cornell
Kainell Database Specialists
http://www.kainell.com
May 27, 2008 at 6:49 pm
Thanks, guys, but i found a better way, share with you guys:
tasklist /svc /fi "imagename eq sqlservr.exe"
run the above command and get relationship between PID and service name, very helpful !
One more question, as many DBs in the instance, what you guys do to find out which db is using most CPU ? When i use sp_who2, it telling me the accumulated CPU time, not the one using most CPU currently, thanks.
ddfg
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply