Virtual Box 上のOracle LinuxでGrid Infrastructureをインストールした後にCPU使用率が高騰した時の対応備忘録

# 概要
Virtual Box 上のOracle LinuxでGrid Infrastructureをインストールした後にCPU使用率が高騰した時の対応備忘録です。
仮想マシンの中身の問題ではなく、Windowsの問題であった為解決まで時間がかかりました。
同じようにはまった方の参考になれば幸いです。


# 目次
1. [環境の前提](#Chapter1) 
1. [発生事象](#Chapter2) 
1. [解決策](#Chapter3) 
1. [調査経緯](#Chapter4) 
1. [参考文献](#reference)

<a id="#Chapter1"></a>
# 環境の前提

| No |    内容     |    バージョン    |備考 |
|---:|-------------|------------:|-|
| 1  |Windows11 Home|23H2            |CPU：Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz|
|   ||            |ソケット:	1	コア:	8	論理プロセッサ数:	16|
|   ||            |搭載メモリ：64.0 GB|
| 2  |Oracle Linux|8.6            |最小構成インストール|
| 3  |Virtual Box |7.0.22 r165102 |Guest Additionsを使用|

### 仮想マシンのリソース割り当ては以下の通り
| No |    リソース     |    割り当て    |
|---:|-------------|------------:|
| 1  |CPU|8            ||
| 2  |メモリ|16384MB            |


<a id="#Chapter2"></a>
# 発生事象
Virtual Box上のOracle Linux上に、Oracle Databaseを構築する過程で発生
Grid Infrastructure インストール後に（この時点でなんか遅いな？と違和感は感じていた）
runInstallerを用いてDatabaseを構成する際に画面表示に数時間かかりました。
（普通は待っても数分）

/var/log/messeages では以下のような記録がされる。
```
ora19s2 kernel: watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [crsctl.bin:7734]
```
Grid Infrastructureを動作させただけでCPUが100％張り付きになった為
DatabaseのInstallは断念し調査開始。

尚、Windows11 Homeの環境でのみ事象は発生
Windows11 Proの環境では、同一手順を使用しても事象は発生しなかった。


### 色々解決した後に、再現させた際のCPU使用率

Grid Infrastructureが原因でCPU使用率が高いようも考えられるが
10分以上経ってもGrid Infrastructureが起動しなかった。
この時、Windows側の操作には違和感は無い。
（WindowsとしてのCPU使用率は概ね30-40%程度で推移）

![CPU使用率_High.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/adb1d43b-4f44-3870-9534-56990db9c40f.png)

## 仮想マシン：ログイン画面が表示

![CPU使用率_High_VM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/06f78767-2cec-10e6-2dad-3ca22b620e9c.png)

スクリーンショットは取り損ねたのですが、画面上には /var/log/messages で記録されていた
以下の内容が表示されたこともありました。
```
ora19s2 kernel: watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [crsctl.bin:7734]
```

## 緑のカメさんマークにカーソルを合わせた時の表記
カメさんマークは遅いときに表示されるアイコン
実行エンジンが「native API」と表示される。

比較となる図は[設定変更後](#Chapter3)で載せていますが青いアイコンになり
実行エンジンが「VT-x/AMD-V」となります。

![CPU使用率_High_API.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/4900a158-2cff-0494-05db-b9a02ecebd90.png)


<a id="#Chapter3"></a>
# 解決策
結論として
Windows セキュリティ＞コア分離 から
「メモリ整合性」機能をOFFにすることで改善がみられました。（下図）
　※Windows 11 Pro では、上記の設定の他
 　　Hyper-Vが有効化されていると同様の事象が発生するらしい（未再現）


![コア分離設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/cd14e5df-adc1-8831-9fb6-b09d045fdb79.png)

## 設定変更後
![CPU使用率_改善.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/069dcdf2-cd84-7790-ef7c-d5eb651241bb.png)

![CPU使用率_改善_VM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/9d8cdb48-53a6-8333-0dc2-bbc5569babaf.png)


![CPU使用率_改善_API.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3889587/1aab2f6a-41c3-4393-123c-95c5055599df.png)


<a id="#Chapter4"></a>
# 対応履歴
・ Linux観点で「watchdog: BUG: soft lockup - CPU」のキーワードを調査をしてみましたが原因ははっきりせず。基本的にはCPUのリソースが足りない事に起因している。
　→ VMに割り当てているCPU数を増やしてもCPU使用率の張り付きは変わらず。
　→ shmmaxやnr_hugepages等のカーネルパラメータの数値を変更しても変化なし。
　→ OSの再インストール、最小構成やGUIあり等複数パターン試すも事象としては再発。
　→ Grid Infrastructureを19.3のインストールや19.24の同時Applyでも変化無し。
 


<a id="#reference"></a>
# 参考文献
  整理後、記載予定
  
  Qiitaの記事を参照したBlogからWindows 11 HomeにHyper-Vをインストールする手順が記載されておりますが
  元記事（Qiita）の内容が削除されていた為、記載しません。
  Hyper-Vでの再現するかどうかの確認の為、Hyper-VをHomeにインストールもやってみましたが
  Windows自体の挙動がおかしくなった為、復元ポイントから復旧する破目になりましたのでお勧めしません。