Inspired by Rahul’s post, here are 2 more scripts that can help in detecting CPU pressure
select top 50 sum(qs.total_worker_time) as total_cpu_time, sum(qs.execution_count) as total_execution_count, count(*) as number_of_statements, qs.plan_handle from sys.dm_exec_query_stats qs group by qs.plan_handle order by sum(qs.total_worker_time) desc
The above query gives you a high-level view of which currently cached batches or procedures are using the most CPU.
The following query gives you time spent by workers in RUNNABLE state.
SELECT SUM(signal_wait_time_ms)/1000 as [Wait time in Sec] FROM sys.dm_os_wait_stats;
You can use the value of above query and compare with your baseline to see if there is any major difference. In fact, you can build a trend analysis on this value.
Hope this helps. Note: There are many such queries you can find here;