Friday, 4 December 2020

CPU utilization reached 100% due to dead frmweb process running in EBS R12.

Form dead  "frmweb" Process Running for more than a day in EBS R12 Instance due to CPU utilization reached 100%.

Steps to resolve this issue.

Solution:

1.First we need to identify which process utilizing cpu occupying more using top command in application server.

oracle@hostname$top

  742 oracle   25   0  157m 101m  21m R 100.0  0.4 300312:47 frmweb
 7268 oracle   25   0 98.4m  52m  16m R 100.0  0.2 456687:38 frmweb

frmweb process utilizing cpu process more.

2.Need to look for frmweb processes are running for more than 12 hours,

oracle@hostname: ps -ef |grep frmweb

oracle    344 29925  0 Dec01 ?        00:00:36 /u01/apps/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.4.6.2

oracle    742 29925 99 May08 ?        208-13:11:05 /u01/app/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.0.0.8

oracle   3474 29925  0 Dec02 ?        00:00:24 /u01/app/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.2.1.1

oracle   5232  3510  0 06:33 pts/2    00:00:00 grep frmweb

oracle   7268 29925 99 Jan20 ?        317-03:25:56 /u01/app/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.2.1.7

process "724","7268" running long hours.

3.check for processess which is using high CPU by using top as command:

oracle@hostname:top

  742 oracle   25   0  157m 101m  21m R 100.0  0.4 312:47 frmweb
 7268 oracle   25   0 98.4m  52m  16m R 100.0  0.2 456:38 frmweb

4.Then verfiy that these high cpu occupying processes don't have a database session. This can be verified by below sql command,
 
 select * from v$session where process='<OS process id of frmweb process>'

Below sql query must not return any rows

 SQL> select * from v$session where process='742';

 no rows selected

More than one process is available means

 SQL> select * from v$session where process IN ('742','7248');

 no rows selected

5. Now check the process and kill it

oracle@hostname$ ps -ef|grep 742

oracle    742 29925 99 May08 ?        208-13:11:05 /u01/app/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.0.0.8

oracle@hostname$ kill -9 742

oracle@hostname$ ps -ef|grep 742
              oracle 742 6226260   0 21:08:36  pts/0  0:00 grep 17170608


oracle@hostname$ ps -ef|grep 7268

oracle   7268 29925 99 Jan20 ?        317-03:25:56 /u01/app/oracle/apps/tech_st/10.1.2/bin/frmweb server webfile=HTTP-0,0,1,default,1.2.1.7

oracle@hostname$ kill -9 7268


oracle@hostname$ ps -ef|grep 7268
              oracle 7268 6226260   0 21:08:36  pts/0  0:00 grep 17170608

Then now check top command cpu utilisation comes to normal.

oracle@hostname$top
top - 09:57:14 up 27 days,  3:28,  4 users,  load average: 0.08, 1.88, 4.97
Tasks: 29 total,   1 running, 295 sleeping,   0 stopped,   0
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.5%id,  0.4%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  24675248k total, 21263496k used,  3411752k free,   791976k buffers
Swap: 16777208k total,      160k used, 16777048k free, 13119852k cached

No comments:

Post a Comment