Sunday 16 May 2021

PT - Monitoring PS command

 Monitoring Processes through PS command 

  • ps -ef 


  • PS command contains CPU cloumns
ps aux


  • Top 10 process consuming CPU
ps aux | sort -nrk 3,3 | head -n 10




  • Top10 process consuming CPU

 ps -e -o pcpu,pid,user,tty,args | sort -n -k 1 -r | head -n 10




PT - OS TOP Monitoring commands

 

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



  • Top command based on particular user 
top -u oracle


  • Display first 20 line output.

top -bc | head -20 display first 20 lines 

  • Display order by memory usage 
top -bc -a | head -n 20 



  • Enter Z  highlighting current running process.




PT - OS performance Monitoring using VMSTAT

 

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


  • vmstat command output example 




  • vmstat 2 ( output every 2 second)





  • Example to apply load on OS by executing i/o 30 times using apply_io_stress.sh file.

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

  • Provide execute permission below.

chmod +x apply_io_stress.sh

srv1:~ # sh apply_io_stress.sh



^Z

[1]+  Stopped                 sh apply_io_stress.sh


srv1:~ #

  • We can see after executing sh file number of r b  process increases also I/O bi bo  reading blocks and write block increase.



^Z

[1]+  Stopped                 sh apply_io_stress.sh


  • Once stopping apply_io_stress.sh file processes and I/O value came back to normal.



vmstat -d 2

  • vmstat -d 2 ( Disk output at every 2 seconds) Examples below.