Look for several identical jobs that are owned by the same user. This problem might occur because of a running script that starts a lot of background jobs without waiting for any of the jobs to finish.
Look for a process that has accumulated a large amount of CPU time. You can identify this problem by checking the TIME field in the ps output. This value could indicate that the process is in an endless loop.
Look for a process that is running with a priority that is too high. Use the ps -c command to check the CLS field, which displays the scheduling class of each process. A process executing as a real-time (RT) process can monopolize the CPU. Or, look for a timesharing (TS) process with a high nice number. An administrator might have increased the priority of a process. The system administrator can lower the priority by using the nice command.
Look for a runaway process that progressively uses increasing amounts of CPU time. You can identify this problem by looking at the time when the process started (STIME) and by watching the cumulation of CPU time (TIME) for a while.