One of my server is heavily heated randomly.There are a couple of applications running on it. Is there some way I can track which application is generating more heat or consuming more CPU cycles.
Generally in the unix world you can use something like top or sar to determine which processes are consuming the most cpu. That will give you a good indication of which process uses the CPU most heavily and generates the most heat.
You could also look at enabling process accounting to get an accurate accounting of which processes are using the most cpu over time. That would be more useful that just the momentary snapshot you see with top.
Another fun idea would be to set up lm_sensors so you could query the system directly for the cpu temperature. If it got too hot you could automatically collect a process snapshot and get a very good idea as to what processes are generating all the work.
Finally, you should just consider the fact that modern servers don't overheat unless something is seriously wrong. I pretty much guarantee that you have a cooling problem. Either you have a fan that isn't working, a dust accumulation, blocked vents, etc. If air is flowing properly through your server it's pretty much impossible for it to overheat.
Assuming it's linux, top will give you a wil of process and % of cpu time they each consume.
On windows the task manager can do the same thing.