On our server, we are (and have been for some time) experiencing high CPU utilization from kserver.exe. kserver.exe is the primary culprit, but between it and SQL it is averaging 99% CPU usage. The server is currently virtualized with about 1,000 endpoints.
CPUs allocated: 4 @ 3.5 GHzMemory allocated: 8 GBIOPS: Unlimited
Where can I start to look into why the CPU usage is so high?
For 1,000 end points you are probably low on memory. Almost time to separate the KServer and SQL Server. A couple of places to look however.
1) We see high CPU when a machine is sending a large number of Application/System events. We only capture Application/System Errors and Warnings and if something goes wrong with a machine and we start getting over 1,000 of these an hour we start to see an immediate effect.
2) Monitor Sets if they are scanning too often and sending back large amounts of data can also cause high load on the server.
3) System -> Statistics is the first place to look and compare regular CPU load with SQL load.
4) We found KAM to cause high load on a regular basis. One of the SQL statements related to KAM was always at the top of our list of large SQL queries.
5) Look at the size of the database/size of the database per agent from the status page. We run about 4 MB/agent.
6) Look at the views your users are using. Repeated use of complex views like only showing machines with certain applications causes large queries.
7) Look at how many pages your people have open. We have one person that likes to keep 4-5 Kaseya pages open, which is the equivalent of 5 people.
8) Some of the dashboards I find can cause significant load. Consider when you look at the dash board, how many machines and types of data it has to look at to create the display and then have that refresh every few minutes.