SQL server will use all the RAM it can get, but it will release it on demand (up to pre-defined limits). It's very much like 'balloon' memory. More here.
Anyway, if you're OK with SQL scripting, this little scriplet will show you a quick and dirty table of the CPU hogs on your system. It's a modification of the memory-hog script. Bear in mind it's a cumulative total - to do it properly, you'll need to dump the results to a table, run it again after a while then dump that to another table and compare the CPU total. Anyway, here it is:
Code:
use master
go
Select db.name as 'Database',
spid,
pr.status,
cmd,
nt_username,
pr.loginame,
hostname,
program_name,
cpu
from sysprocesses pr (nolock)
join sysdatabases db (nolock)
on pr.dbid = db.dbid
order by pr.cpu desc