What are the most likely causes of spikes in CPU usage to 99% for dbsrv10.exe, or more recent versions of dbsrv*.exe for that matter? Thanks in advance. |
Any query that either does lots of computations (e.g. stored procedure execution) or iterates over lots of rows that are already in cache (i.e. does not require any I/O ... or the I/O read-ahead can stay ahead of the executing query) will cause the CPU to 'spike' to 100%. I.e. the server will execute full-tilt until either it needs to wait for I/O, blocks on a lock, blocks on a 'WAIT FOR ...' or similar statement, hits a sync point (waiting for the client to fetch or rows), or completes. |
Try running a monitor, either the SQL Anywhere Monitor which ships with version 11.0.1 and later but works on version 10 databases, or Foxhound which works on Version 5.5 through 12 databases. I recommend the latter :)... |
I really like this type of question: I have a great server, I want that the server is performing as fast as it can, but why the hell is the CPU used for this? Now frankly: A high peek performance can only be achieved if the CPU is used. So you have two possibilities, your software has a bug doing nonsense things with the CPU or what is more likely the software is doing its work and yes it will utilize the CPU.
I would be more concerned if a database software would not be able to bring a CPU to 100% usage.