Cpu utilization by a process has to be mailed if more than 5% on AIX


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cpu utilization by a process has to be mailed if more than 5% on AIX
# 1  
Old 05-20-2013
Cpu utilization by a process has to be mailed if more than 5% on AIX

i am using the below command in order to find the cpu utilization by a user..now i want to mail if the cpu utilization goes beyond 5%....can someone please help me ?

Code:
ps auxw | sort -r +2 | awk '{ print $3,$1 }' | head -6 | egrep "USER|#anonymous#"
 
%CPU USER
2.0 anonymous

Regards,
Priyank Arora

Last edited by Scrutinizer; 05-20-2013 at 08:39 PM.. Reason: code tags
# 2  
Old 05-20-2013
You can simplify it a bit:
Code:
ps auxw | sort -r +2 | awk 'BEGIN{print "%CPU","USER"}/anonymous/&&$3>5.0{print $3,$1}' > mail_body

[ -s mail_body ] && mail -s "%CPU > 5.0" < mail_body

This User Gave Thanks to Yoda For This Post:
# 3  
Old 05-20-2013
thanks a lot...Smilie

Could you please explain the "> mail_body " section.

i mean do i need to define a variable with the name mail_body ?

or please tell me how to do it if i want to mail it to anonymous@example.com.

Thanks in Advance.
# 4  
Old 05-20-2013
> mail_body means the output is redirected to a file named: mail_body

In the 2nd step, the if statement is used to check if the file size is greater than zero and send mail if true.

By the way I missed the recipient, it should be:
Code:
[ -s mail_body ] && mail -s "Subject" anonymous@example.com < mail_body

This User Gave Thanks to Yoda For This Post:
# 5  
Old 05-20-2013
you mean
Code:
[ -s mail_body ]

checks the size of the file ?

And if i want add a few more lines in the mail then ?

should i create a file mail_body in the beginning of the script and put the content in there ?

for ex. "The Following Process is utilizing High CPU"

Thanks
# 6  
Old 05-20-2013
Yes. [ -s mail_body ] condition is true when the file size is greater than zero.

For further reference check: Expressions used with if

To add a statement to beginning you can use grouping command form and pipe output to mail:
Code:
if [ -s mail_body ]
then
        {
                echo "Following Processes are utilizing High CPU"
                cat mail_body
        } | mail -s "Subject" anonymous@example.com
fi

This User Gave Thanks to Yoda For This Post:
# 7  
Old 05-21-2013
Don't print header-only:
Code:
ps aux | sort -r +2 | awk '$2=="anonymous" && $3>5.0 {if (f++==0) print "%CPU","USER"; print $3,$1}' > mail_body
[ -s mail_body ] &&
{
 echo "extra text"
 cat mail_body
} |
 mail -s "%CPU > 5.0" anonymous@example.com

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Emergency UNIX and Linux Support

CPU and memory utilization of a process, by process name

Can someone please help me with a script that will help in identifying the CPU & memory usage by a process name, rather than a process id.This is to primarily analyze the consumption of resources, for performance tweaking. G (4 Replies)
Discussion started by: ggayathri
4 Replies

2. Shell Programming and Scripting

Checking CPU utilization by db2sysc process

Hi, I am trying to write a script which will fire alert mail to dba ( db2dba) when there process will utilize CPU more than 90%. But I am unable to do so. I am using following command to calucate CPU utilization be db2sysc process : ps -eo pcpu,pid,comm | grep -i db2sysc | awk '{ SUM+=$1;... (6 Replies)
Discussion started by: niteshtheone
6 Replies

3. AIX

Checking CPU utilization by db2sysc process

Hi, I am trying to write a script which will fire alert mail to dba ( db2dba) when there process will utilize CPU more than 90%. But I am unable to do so. I am using following command to calucate CPU utilization be db2sysc process : ps -eo pcpu,pid,comm | grep -i db2sysc | awk '{ SUM+=$1;... (0 Replies)
Discussion started by: niteshtheone
0 Replies

4. HP-UX

Get CPU,Memory utilization by process id

Hi , We need to get the CPU% and Memory utilization of process by process id. Is there any way to do get them ? I tried few commands like top -p <PID> , but am getting error "Quitting top: pset <PID> doesn't exist" also i tried with ps -eo option but am getting error "ps: illegal option --... (5 Replies)
Discussion started by: suresh_g
5 Replies

5. UNIX for Dummies Questions & Answers

Get CPU,Memory utilization by process id

Hi , We need to get the CPU% and Memory utilization of process by process id. Is there any way to do get them ? I tried few commands like top -p <PID> , but am getting error "Quitting top: pset <PID> doesn't exist" also i tried with ps -eo option but am getting error "ps: illegal option --... (1 Reply)
Discussion started by: suresh_g
1 Replies

6. AIX

High CPU utilization by a pro*C process

Hi , we upgarded our AIX from 5.3 to 6.1 and upgraded our xlc compiler from ver 6.0 to 9.0 . After this upgrade one of our pro*C program is utilizing around 20% of the CPU. Before upgarde its using only 0.2 %. when i try to debug using the truss command i got the below error. $... (6 Replies)
Discussion started by: mugunthanvh
6 Replies

7. UNIX for Dummies Questions & Answers

Getting CPU utilization and memory for a process

I am trying to get cpu util and memory occupied for a process. I use these (I am showing output also): using top ---------- $ top p 25272 d 5 top - 01:52:17 up 2 days, 21:28, 2 users, load average: 0.02, 0.05, 0.06 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie... (5 Replies)
Discussion started by: radiatejava
5 Replies

8. UNIX for Dummies Questions & Answers

how to get persistant cpu utilization values per process per cpu in linux (! top,ps)

hi, i want to know cpu utilizatiion per process per cpu..for single processor also if multicore in linux ..to use these values in shell script to kill processes exceeding cpu utilization.ps (pcpu) command does not give exact values..top does not give persistant values..psstat,vmstat..does njot... (3 Replies)
Discussion started by: pankajd
3 Replies

9. Shell Programming and Scripting

Memory and CPU utilization process

Hi, I need to check which process in linux is taking high memory and which process is taking high cpu usage. Regards, Bash (4 Replies)
Discussion started by: learnbash
4 Replies

10. AIX

cpu utilization of a process

Hi, How can i find out the average cpu utilization of a particular long-running process in AIX? is there some command for this Thanks (2 Replies)
Discussion started by: iam
2 Replies
Login or Register to Ask a Question