DIRECT and ASYNC I/O operations on mdraid generates lots of kworker processes and causes performance issues

Solution Verified - Updated -

Issue

  • The Oracle DB is configured to use a filesystem created over lvm volume. This LV is created on top of RAID 10 mdraid device set up using nvme disks. As soon as the Oracle DB starts DIRECT and ASYNC IO operations, there are large number of kworker processes created and system load average increases significantly. This also results in a severe IO performance issue.

    • Oracle parameter filesystemio_options=SETALL also causes similar issue, since this option in DB would allow it to use DIRECT and ASYNC IO operations on above filesystem, lvm volume created on mdraid.

    • In some occurrences these kworker processes will keep hogging CPU usage for about 30 minutes even though there's no more running workload.

Environment

  • Red Hat Enterprise Linux 7.4
  • kernel: 3.10.0-693.25.4.el7
  • EXT4/XFS filesystem created on lvm volume using mdraid as a PV.
  • mdraid with RAID 10 set up created using nvme disks
  • Oracle database configured to use DIRECT and ASYNC IO

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content