Link to home
Start Free TrialLog in
Avatar of swinger22
swinger22Flag for Canada

asked on

SBSMONITORING CPU constant CPU usage

Hi Folks,

I am running a few SBS boxes at different clients.  And we recently setup a client with a new system with SBS 2008.  The issue currently is that the SBSMONITORING service and along with it SQLSERVR.exe is using up a bit of the CPU.  The server is a quad-core xeon with 4 gigs of ram.  I know 4 gigs is the minimum but the ram doesn't seem to be the issue.  the sql process was using up about 300 MB of ram and keeping the cpu at a constant 24-26% usage.  I lowered the maximum ram usage of the database to 100 MB, and that is working fine now.  The cpu usage lowered with that as well, but it is still using 5-10% CPU when running.  If I disable the service CPU goes to 0 until something is used, and things are nice and speedy.  Once enabled CPU goes back up and sluggish.

Other SBS 2008 servers we are running, including a test box with less than 4 gigs of RAM, do not show this symptom at all.  Just wondering if someone can point me in the right direction.  I also found a few things online about reinstalling the monitoring, but those articles were geared towards SBS 2003.  Just wondering if that is an option and how to do that in 08.

Thanks,
Avatar of ormerodrutter
ormerodrutter
Flag of United Kingdom of Great Britain and Northern Ireland image

In SBS2008 you can install the (only) SQL Server on a separate server. With the high CPU usage you mentioned I believe thats probably why MS do this trick?
Avatar of swinger22

ASKER

yeah i noticed that, my only concern is out of a few SBS 08 servers running similar hardware and organization sizes, this is the only one with this symptom.  So I don't think I would have to off load all the SQL processing just for the SBS monitoring database.  there are not even any other databases outside of the standard for SBS.
ASKER CERTIFIED SOLUTION
Avatar of swinger22
swinger22
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Seems to me that i have the same issue. Any idea ??

My setup:
Hardware ML350 G5 with 8 GB RAM, 3x146 GB 10K SAS disk

ESXi 4.0 U2 as host

one virtual machine
CPU: 2
RAM: GB
OS: Windows 2008 SBS fully updated from windows update

When i start SBS Console, the CPU hangs at 100% for a while.
simply for posterity sake, and anyone coming along this way in the future.......


Found this to be successful

SBSMonitoring will have a significant period of high processor usage every three minutes, using 100% of one CPU for about 30 seconds.
 
Investigation showed that the offending call was GetAlertsPerComputer, which does a Cross Apply with GetAlertsPerID
If you create this index to support GetAlertsPerID, the periods of 100% processor usage go away:

1.      Log on as an administrator.
2.      Start SQL Server Management Studio. (Express edition is fine)
3.      Attach to SBSMONITORING instance (replace SERVERNAME with the name of your server):
Server Type: Database Engine
Server Name: SERVERNAME\SBSMONITORING
Authentication: Windows Authentication
4.      Once connected, from the Menu, click: File -> New -> Query with Current Connection. This creates a new query window.
5.      Copy the commands below into the window, then press F5 to execute.
 
 
USE SBSMONITORING
GO
CREATE NONCLUSTERED INDEX [IDX_Alerts_GetAlertsPerID] ON [dbo].[Alerts]
(
   [DefinitionID] ASC,
   [ComputerID] ASC,
   [DateOccured] ASC,
   [IsSet] ASC,
   [ID] ASC
)
GO
CREATE NONCLUSTERED INDEX [IDX_WMICollectedData_GetSecurityProductPerComputer] ON [dbo].[WMICollectedData]
(
   [WMIInstanceID] ASC,
   [WMIPropertyID] ASC,
   [DateCollected] ASC,
  [ID] ASC
)
GO

create index IDX_WMIObjectProperties_ObjectID on WMIObjectProperties(ObjectID,ID)
Go

create index IDX_WMIObjectInstances_ObjectID on WMIObjectInstances(ObjectID,ID)

from: http://social.technet.microsoft.com/Forums/en/smallbusinessserver/thread/d195baac-da8b-4387-9079-c55d5e1879b4