IBM Support

Observe 'plogpl','plogcur' or 'plothr' mutex in the output of 'onstat -g lmx'

Troubleshooting


Problem

plogpl,plogcur or plothr mutex can be observered in in the output of 'onstat -g lmx' which would indicate a certain bottleneck and lead to transactions blocked for short moments.

Symptom

For example onstat -g lmx shows:


IBM Informix Dynamic Server Version 11.50.FC8   -- On-Line -- Up 16 days 12:21:27 -- 40645184 Kbytes

Locked mutexes:
mid      addr             name               holder   lkcnt  waiter   waittime
......
21551    7000000135f3f38  plogpl             83       0      12786792 1      
                                                             12786751 1      
                                                             12786746 1      
                                                             12786757 1      
                                                             12786730 1      
                                                             12786697 1      
                                                             12786704 1      
                                                             12786750 1      
..........
21552    7000000135f3fb0  plogcur            12786698 0      83       1      
21553    7000000135f40b0  plothr             83       0


So all three kinds of mutex seen as locked here, one even (plogpl) with a significant waiters list. You might as well see only one or two of them locked.
If these mutexes show frequently in 'onstat -g lmx' or 'onstat -g wmx', this would indicate a bottleneck and might be a reason for limitted performance.

Using 'onstat -g stk <thread_id>', you might be able to catch such thread's (holder or waiter) stack while performing physical log related activity. Quite typically you'd see the following at the top of such stack:

   yield_processor_mvp
   mt_lock_wait
   mt_lock
  (bfphysflush)
   bfphyslogx
   ...

denoting either physical log disk i/o (phys. log buffer flushing) or just physical logging.

Cause

Reasons might be among the following:

  • small physical log buffer (unless unbuffered logging is used in which case a larger buffer possibly wouldn't be utilized)
  • physical log residing on slow disk, or physical log disk i/o slow for some reason
  • very aggressive (low) LRU_MAX_DIRTY setting, causing frequent phys. log buffer flushing

Diagnosing The Problem

Use 'onstat -g iof' (or 'onstag -g ioh' if available) to gauge disk i/o speed.

Resolving The Problem

Adjust PHYSBUFF and/or BUFFERPOOL (max_dirty, min_dirty) setting accoring to your findings.

Related Information

[{"Product":{"code":"SSGU8G","label":"Informix Servers"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF027","label":"Solaris"}],"Version":"11.5;11.7;12.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
16 June 2018

UID

swg21653615