Ensuring maximum Db2 workload management dispatcher scheduling accuracy

To ensure maximum scheduling accuracy for the workload management dispatcher, the Db2 database manager attempts to assign realtime priorities to the db2wlmt timer thread and the db2wlmtm scheduling threads. For assignment of such priorities to succeed, certain permissions need to be granted to the Db2 database manager, depending on the operating system.

Procedure

Without the ability to assign realtime priorities to the timer and scheduling threads, the Db2 workload management dispatcher is still able to prioritize work, but not as accurately or optimally as it would otherwise. The following tasks, to ensure maximum scheduling accuracy for the workload management dispatcher, are listed according to operating system. Select the operating system that pertains to you and then follow the given instructions.

  • On AIX® operating systems, the instance owner must have CAP_NUMA_ATTACH and CAP_PROPAGATE capabilities to set higher priority for the dispatcher threads. To grant these capabilities, logon as root and run the following command:
    chuser capabilities=CAP_NUMA_ATTACH,CAP_PROPAGATE
  • On Solaris 10 or higher, the instance owner must have the proc_priocntl privilege to set higher priority for the dispatcher threads. To grant this privilege, logon as root and run the following command:
    usermod -K defaultpriv=basic,proc_priocntl db2user

    In this example, proc_priocntl is added to the default privilege set of user db2user.

    Moreover, when the Db2 database manager is running in a non-global zone of Solaris, the proc_priocntl privilege must be added to the limit privilege set of the zone. To grant this privilege to the zone, logon as root and run the following command:
    global# zonecfg -z db2zone
    zonecfg:db2zone> set limitpriv="default,proc_priocntl"

    In this example, proc_priocntl is added to the limit privilege set of the zone db2zone.