2024年11月24日 星期日

AFD 造成 CPU 升高之案例

Oracle 版本: 19.23.0.0 (RAC)

OS 版本: Linux 8.6


問題描述:

在 GI / DB 更新 Patch 至 19.23 版本之後,產生 CPU 使用率升高的現象,使用 top 指令觀察發現為 systemd-udevd 這個 process 造成的 :


問題分析:

這個現象只有在使用 ASM Filter Driver (AFD) 的時候會發生,在 GI 19.11 的版本開始, AFD 使用了一個新的 Disk 保護機制稱作 Soft-Fliting ,它將 Disk 權限設置為 read-only 來避免非 oracle 的 process 來更改 ASM Disk ,當受信任的 oracle process 要來寫入時才允許 Disk 具有 Write 權限,這個行為在 Linux Kernel Red Hat (8.4) 、 SuSE (SLES15/sp3) 以及 5.15/UEK 之下認為是不適當的,在這些 Kernel 版本下會尋求另外的作法,因此導致 udev rule 不斷的 reload ,所以在 top 上會看到許多 systemd-udevd process 造成 CPU 使用率升高。


解決方法:

停用 AFD Soft-Fliting 功能,重啟 GI (Reload AFD Driver) 後生效。

# export ORACLE_BASE=/u01/app/grid

# /u01/app/19.23.0/grid/bin/asmcmd afd_filter -d

# /u01/app/19.23.0/grid/bin/crsctl stop crs

# /u01/app/19.23.0/grid/bin/crsctl start crs



沒有留言:

張貼留言