1981m
asked on
Unix Shell script using AWK
$ ps vx | head -1 ; ps vx| egrep –v “idsldap | root†| grep –v PID |sort –rn +3 | head -10
PID TTY STAT TIME MAJFL TRS DRS RSS % MEM COMMAND
29403 ? S 58:12 0 43 2362188 247084 0.7 db2agent (WPS1002) 0
26440 ? S 54:30 11 43 1939204 57404 0.1 db2agent (WPS1005) 0
29417 ? S 44:44 1 43 2721112 137272 0.4 db2agent (WPS1003) 0
28698 ? S 11:59 1 43 2348732 217272 0.6 db2agent (WPS1002) 0
28228 ? S 5:51 0 43 2349244 243492 0.7 db2agent (WPS1002) 0
4459 ? S 4:48 111 43 2094192 162412 0.4 db2agent (WPS1004) 0
3180 ? S 4:36 2 43 2720848 50964 0.1 db2agent (WPS1003) 0
23302 ? S 4:59 0 43 2721988 187180 0.5 db2agent (WPS1003) 0
17972 ? S 4:22 0 43 2720440 173944 0.5 db2agent (WPS1003) 0
17970 ? S 4:06 0 43 1939020 51924 0.1 db2agent (idle) 0
Hi Unix experts,
I am looking for a unix shell script which awks all databases(WPS1002,WPS1003, †¦..) and sum up the time and RSS.
Database Time(cpu) RSS %MEM
WPS1002
WPS1003
Thanks,
Ahmed.
PID TTY STAT TIME MAJFL TRS DRS RSS % MEM COMMAND
29403 ? S 58:12 0 43 2362188 247084 0.7 db2agent (WPS1002) 0
26440 ? S 54:30 11 43 1939204 57404 0.1 db2agent (WPS1005) 0
29417 ? S 44:44 1 43 2721112 137272 0.4 db2agent (WPS1003) 0
28698 ? S 11:59 1 43 2348732 217272 0.6 db2agent (WPS1002) 0
28228 ? S 5:51 0 43 2349244 243492 0.7 db2agent (WPS1002) 0
4459 ? S 4:48 111 43 2094192 162412 0.4 db2agent (WPS1004) 0
3180 ? S 4:36 2 43 2720848 50964 0.1 db2agent (WPS1003) 0
23302 ? S 4:59 0 43 2721988 187180 0.5 db2agent (WPS1003) 0
17972 ? S 4:22 0 43 2720440 173944 0.5 db2agent (WPS1003) 0
17970 ? S 4:06 0 43 1939020 51924 0.1 db2agent (idle) 0
Hi Unix experts,
I am looking for a unix shell script which awks all databases(WPS1002,WPS1003,
Database Time(cpu) RSS %MEM
WPS1002
WPS1003
Thanks,
Ahmed.
| awk '{rss[$11]+=$7;split($4,t, ":");time[ $11]+=y[0] *60+t[1]}E ND{for( n in rss ){ printf "%s\t%s\t%d:%02d\n",n,rss[ n],time[n] /60, time[n]%60}}'
ASKER
Hi ozo,
This script is partially working, but it is not summing up the time.The time should be in HH:MM:Sec format.
Thanks.
This script is partially working, but it is not summing up the time.The time should be in HH:MM:Sec format.
Thanks.
| awk '{rss[$11]+=$7;split($4,t, ":");time[ $11]+=t[1] *60+t[2]}E ND{for( n in rss ){ printf "%s\t%s\t%d:%02d\n",n,rss[ n],time[n] /60, time[n]%60}}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.