IBM Support

How to identify the thread that consumes the high CPU in DB2 Maximo

Technical Blog Post


Abstract

How to identify the thread that consumes the high CPU in DB2 Maximo

Body

Using list of commands below it easy to identify what process consumes

high CPU. This commands have been tested in Unix/Linux environment.

When DB2 started and running there is a process ( db2sys) that contains a multiple threads

running on under it,please use the fallowing steps and sample outputs to identify a culprit

process.

Command

ps -ef|grep -i db2sys

sample output:

db2inst1 3810 3808 0 11:24 ? 00:00:01 db2sysc 0

(3810)

The process id of the db2sys is 3810.

 

Now we need to list a processes that currently running under db2sys

Command:

ps -Lp 3810 -o pid,ppid,pcpu,pmem,lwp

 

Output

PID PPID %CPU %MEM LWP

3810 3808 0.0 1.4 3810

3810 3808 0.0 1.4 3814

3810 3808 5.0 1.4 3815

We can see that process 3815 ( in  example) is consuming high CPU

Command:

 

db2pd -edus

Output:

0.030000 0.020000

13 139960543864576 3817  db2licc 0 0.000000 0.000000

12 139960548058880 3816  db2thcln 0 0.000000 0.000000

11 139960552253184 3815  db2lrid 0 0.250000 0.290000

1  139960292206336 3814 db2sysc 0

 

db2lrid that is using a high CPU in this example.

Please use flowing link for an additional details.

http://www.ibm.com/developerworks/data/library/techarticle/0304chong/0304chong.html

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11131969