Monitoring Processes through PS command
- ps -ef
- Top 10 process consuming CPU
Monitoring Processes through PS command
PT - OS TOP commands Monitoring
Top Command Header
Top | users | load average | Tasks | cpu | Memory | swapping
Field/Section | Meaning |
load average | This line displays the load averages over the last 1, 5 and 15 minutes. The higher the load average, the more work the machine is doing. A high rise in the load average could indicate a serious performance problem. |
Tasks | Number of processes that are running, sleeping, stopped, or zombie. In a healthy system, this number does not change a lot by time. |
Cpu(s) | CPU% usage by user (%us), system (%sy), nice (%ni), idle (%id), I/O wait (%wa), Hard Interrupt (%hi), soft interrupt (%si), and iosteal (%st) which is used in VM environments. Note: in top output, %wa is the only I/O load indicator. |
Mem | Total physical memory, used memory, and free memory. |
Swap | Information about swapping. |
PID | Process Id. Used to know the relationship between the processes and for killing processes |
USER | The effective user name of the task’s owner. |
PR | Process priority |
NI | Process nice value |
VIRT | Total virtual memory used by the process |
RES | Non-swapped physical memory used |
SHR | Shared memory used by the process |
S | Process status |
%CPU | Processes percent of CPU consumption since last screen refresh |
%MEM | Percentage of memory consumption by the process |
TIME+ | Total CPU time, showing hundredths of seconds |
COMMAND | Command used to start the process |
Key | Impact |
[Shift]+[O] | Sort by a selected field (try sorting by memory, swapped size, command name) |
[Shift]+[P] | Sort processes as per CPU utilization |
z | highlight running processes. Press again to disable it. |
c | Display the absolute path of running processes |
d | Change screen refresh interval (by default it is 3) |
k | Kill a process by its PID |
q | Quit |
PT - OS performance Monitoring using VMSTAT
vmstat
process ---- Memory ---- swap ---- i/o ----- system ---- cpu
Process : r | b
Memory : spwd | spwd | free | buffer | cache
Swap : si | so
I/O: bi | bo
System : cs | us | sy
CPU : id |wt | st
Field | Meaning |
r | number of processes waiting for run time |
b | number of processes in uninterruptible sleep |
spwd | Virtual memory swapped out to disk |
spwd | Virtual memory swapped out to disk |
free | Amount of free memory |
si | Amount of memory swapped in from disk | |
so | Amount of memory swapped to disk | |
us | User CPU time | |
bi | Blocks received from a block device (blocks/s) | |
bo | Blocks sent to a block device | |
sy | System CPU time | |
id | CPU idle time |
cat > apply_io_stress.sh <<EOL
#!/bin/bash
counter=1
while [ \$counter -le 30 ]
do
dd if=/dev/zero of=/tmp/test1.img bs=500M count=1 oflag=dsync
((counter++))
done
rm -f /tmp/test1.img
EOL
chmod +x apply_io_stress.sh
srv1:~ # sh apply_io_stress.sh
^Z
[1]+ Stopped sh apply_io_stress.sh
srv1:~ #
^Z
[1]+ Stopped sh apply_io_stress.sh
vmstat -d 2