title: Constant SQL Server 80% CPU Utilization
body: <p>We have a small (for now) Asp.Net MVC 5 website on a dedicated VPS. When I go to the server and fire-up task manager, I see that &quot;SQL Server Windows NT - 64 bit&quot; is using around 80% of CPU and 170MB of RAM and IIS is using 6% CPU and 400MB of RAM. Server Specs are:</p>
  <ul>
  <li>CPU 1.90Ghz dual core</li>
  <li>Memory 2GB</li>
  <li>Windows Server 2012</li>
  <li>SQL Server Express 2012</li>
  <li>Disk Space: 25GB, 2.35 Free.</li>
  </ul>
  <p>The database is not very big. Its backup is less than 10MB.</p>
  <p>I have tried to optimize the website as much as I could. I added caching to a lot of controllers and implemented donut caching for quite a lot of controllers. But today, even though there were only 5 users online, our search wouldn't work. I restarted the Windows on the server and it started working but I got the high CPU usage the minute server started. Interestingly when I open the SQL Server Management Studio and try to get the report for top CPU-consuming queries it says that there are no queries currently consuming any CPU!!! But at the same time I can see that SQL server is consuming a lot of CPU. How can I examine what is taking all the CPU? Below is a picture from the server:</p>
  <p><img src="https://i.stack.imgur.com/VAp4k.png" alt="High CPU Usage" /></p>
  <p>I was/am very careful with designing and implementing the website. All the database access is through latest version of Entity Framework. I just wonder if the server's specs are low. Any help would be very much appreciated.</p>
  <h2>Update:</h2>
  <p>Here's the result of the <code>sp_who2</code> stored procedure.</p>
  <p><img src="https://i.stack.imgur.com/4OSiW.png" alt="sp_who2" /></p>