To find what is soaking up your cpu
How do I Find Unix-Linux CPU Utilization
System Monitor
on your desktop, you can find all that and more at
Applications -> System Tools -> System Monitor.
There, you will find each processor, RAM, your operating system, its version, kernel, hard disk space, cpu load averages over the past 1, 5, and 15 minutes, processes running, cpu, memory, and network usage graphed in real time.
Under the “Processes” tab, for example, click on the heading for the “%CPU” column to sort the list with the cpu hogs at the top (if there are any).
On the command line
ps
“Process Status” used to be “the” command to see running cpu processes.
examples:
ps aux | less
ps aux | grep httpd | awk ‘{print $1}’ ## display the first column, the owner-userid of the processes
ps auxw | less
ps aux –sort -rss | less
ps aux –sort rss
The -a option tells ps to list the processes of all users on the system rather than just those of the current user.
The -u option tells ps to provide detailed information about each process.
The -x option adds to the list processes that have no controlling terminal, such as daemons, which are programs that run in the background.
The -w option specifies Wide output.
The –sort -rss option sorts by memory usage with the highest first; “–sort rss” puts the highest last.
see the ‘man page’ for its many options / parameters
top
When your browser or wordprocessor or … whatever, “hangs” or if all you can do is move you cursor and bring up a terminal session, do it and type in “top”, type “k” and the pid of the process you see killing your cpu.
The top command provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux kernel.
The top command monitors CPU utilization, process statistics, and memory utilization. The top section contains information related to overall system status – uptime, load average, process counts, CPU status, and utilization statistics for both memory and swap space.
By default top command displays the processes in the order of CPU usage. When the top command is running, press M (upper-case) to display processes sorted by memory usage.
top - 09:14:09 up 270 days, 3:05, 1 user, load average: 5.65, 4.74, 4.53 Tasks: 425 total, 2 running, 420 sleeping, 0 stopped, 3 zombie Cpu(s): 35.6% us, 8.6% sy, 0.0% ni, 51.7% id, 4.1% wa, 0.0% hi, 0.0% si Mem: 8306036k total, 6798252k used, 1507784k free, 475028k buffers Swap: 15626944k total, 5044k used, 15621900k free, 5283860k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10938 mysql 15 0 303m 174m 5452 S 64.7 2.2 3274:29 mysqld 26790 503 19 0 20660 7912 5900 R 10.3 0.1 0:00.31 php 26654 684 15 0 0 0 0 Z 6.3 0.0 0:00.19 php26801 503 18 0 27236 14m 5748 S 5.6 0.2 0:00.17 php 26770 634 18 0 0 0 0 Z 3.0 0.0 0:00.09 php 23184 530 18 0 9140 5604 2060 S 2.7 0.1 0:01.89 monitor.pl 26775 841 15 0 0 0 0 Z 2.0 0.0 0:00.06 php 17070 nobody 16 0 31324 24m 1528 S 1.0 0.3 0:00.47 httpd 17076 nobody 15 0 31324 25m 1672 S 0.7 0.3 0:00.40 httpd 18108 pwsdb 16 0 3148 1260 776 R 0.7 0.0 0:01.80 top 23747 nobody 15 0 31324 24m 1144 S 0.7 0.3 0:00.05 httpd 23749 nobody 15 0 31324 24m 1156 S 0.7 0.3 0:00.07 httpd 30652 root 17 0 20360 14m 1388 S 0.7 0.2 0:51.93 lfd 16761 nobody 15 0 31324 24m 1176 S 0.3 0.3 0:00.44 httpd 16762 nobody 15 0 31332 24m 1180 S 0.3 0.3 0:00.43 httpd 16771 nobody 15 0 31332 24m 1548 S 0.3 0.3 0:00.40 httpd 14975 nobody 16 ...
Note: you need to type “q” to exit the top command display.
the important keys to remember while running top are h for help and q for quit – though you can use the system interrupt ctrl-c to get out of almost any running program.
CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is not likely to add up to exactly 100%.
Processes marked
Examples
1. Kill a Task Without Exiting From Top – Press k
Once you’ve located a process that needs to be killed, press ‘k’ which will ask for the process id, and signal to send. If you have the privilege to kill that particular PID, it will get killed successfully.
2. Display Selected User
Use “top -u [user]” to display a specific user processes only in the top command output.
example: top -u greg
or
While unix top command is running, press u which will ask for username
3. Display All CPUs / 1 Core per line, toggle on/off
“Top” output by default shows 1 CPU line for all the CPUs combined together as shown above.
But, for instance, if you have a quad-core computer, Press 1 (one), and “top” will display 4 line, 1 for each core. Press 1 again to switch, toggle, it back to 1 summary line.
4. Highlight Running Processes – toggle z or b
Press z or b, to toggle highlighting all running process; z=color; b=bold; or b and z for both color and bold.
Press x (after z or b) to toggle highlighting of the current sort column (if highlighting or color, b or z, is on).
Press Z to change the color of the highlighting.
5. Change Number of Processes Displayed
By default top displays total number process based on the window height.
Press n in the Interactive mode, which prompts for a number and shows only that number of processes.
If you like to see additional process you might want to eliminate some of the top header information.
5b. show/hide heading lines displayed
* Press l – to hide / show the load average. 1st header line.
* Press t – to hide / show the CPU states. 2nd and 3rd header line.
* Press m – to hide / show the memory information. 4th and 5th line.
6. Sort by a selected column
Press O (capital o),
then
press K (cap. k) to sort by CPU usage
or press N (cap. n) to sort by memory use
or …
then, press Enter.
Or, given the default sort is by CPU, you can use the > (arrow key) to switch to sorting by the next, %MEMory column. You can navigate across and back and forth with the < and > keys.
7. Save Configuration Settings – Press W
If you’ve made any interactive changes … like these suggested in the above examples, you might want to save those as your default for the next time you call the top command. Once you’ve saved the top configuration, next time when you invoke the top command all your saved top configuration options will be used automatically.
To save the top configuration, press W, which will write the configuration files to ~/.toprc. This will display the write confirmation message as shown below.
Wrote configuration to ‘/home/[user]/.toprc’