RDS for SQL Server Express EditionでCPUが高騰する問題について

こんにちは。utsugiです。今回は、db.t2.microのRDS for SQL ServerのCPUが、接続数0でも高騰してしまう事象に直面したので、内容について記録します。   ユーザ操作等によりCPU使用率が高騰する場合は対策の方針も立てやすいのですが、アイドル状態で高騰してしまうと少し戸惑ってしまうこともあるかと思いますので、少しでも、どなたかのご参考になれば幸いです。

目次

 

RDS for SQL ServerのCPUが高騰した事象について

RDS for SQL ServerのCPU使用率が高騰した事象について、改めて、事象発生時の状況を記載致します。   表: RDS for SQL Serverの情報

項目 内容
エンジン SQL Server Express Edition
エンジンバージョン 13.00.5216.0.v1(※2016 SP2を指します)
インスタンスクラス db.t2.micro

 

事象が確認できたRDS for SQL Serverの情報です。なお、SQL Server 2008からアップグレードを実施して2016にしたインスタンスです。

 

図: RDS for SQL ServerのCPU使用率高騰

RDS for SQL ServerのCPU使用

一時的にCPU使用率が低下することもありますが、基本的に40%台を記録し続けているような状況です。

 

その他CPU高騰時の状況

  • SQL Serverに対する接続: 無し
  • アクティブなユーザ操作: 無し
  • ハードウェア障害: 無し
  • 再起動による改善: 無し

ユーザによる操作が一切ないにも関わらずCPUが高騰し続けているという状況で、かつ、再起動によっても改善しないという形です。なお、ハードウェア障害が発生していないことは、AWSサポートにより確認できています。

 

RDS for SQL ServerのCPU高騰の原因 - RESOURCE MONITOR

結論としましては、SQL Serverのバックグラウンドプロセスの1つである「RESOURCE MONITOR」がCPUを高騰させていることが分かりました。

特定に至った経緯を以下に記載致します。

OSとSQL ServerのどちらがCPUを高騰させているかの切り分け

まずは、大きく分類して、OSとDBのどちらがCPUを高騰させているのかを確認するところから始めました。拡張モニタリングでも確認することができますが、今回は無効であったため、RDS for SQL Serverのパフォーマンス ダッシュボードを確認するところから始めました。

 

図: パフォーマンス ダッシュボードの表示

パフォーマンス ダッシュボード

パフォーマンス ダッシュボードは、SSMSで該当のインスタンスを右クリックし、レポート > 標準レポート > パフォーマンス ダッシュボード と進めることで表示することができます。

 

図: パフォーマンス ダッシュボードの状況

CPU使用率について「その他」よりも「SQL」の方が高く、CPUリソースについてはSQL Serverが消費していることが分かりました。

CPUを高騰させているDBプロセスの特定

OSとDB側だと、DB側がCPUを高騰させていることが分かりました。
したがって、実際にCPUを高騰させているDBプロセスについて特定することにしました。
そのために、以下のSQL文を発行しました。

 

プロセスを確認するSQL

SELECT * FROM sys.sysprocesses ORDER BY kpid;

sys.sysprocessesSQL Serverで動作しているプロセスの情報を表示する動的管理ビューです。
これにより、バックグラウンドプロセスも含めて、プロセスの状態を把握することができます。

 

プロセスを確認するSQLの結果

spid   kpid   blocked waittype waittime             lastwaittype                     waitresource                                                                                                                                                                                                                                                     dbid   uid    cpu         physical_io          memusage    login_time              last_batch              ecid   open_tran status                         program_name                                                                                                                     hostprocess cmd              nt_domain                                                                                                                        nt_username                                                                                                                      net_address  net_library  loginame                                                                                                                         context_info                                                                                                                                                                                                                                                       sql_handle                                 stmt_start  stmt_end    request_id
------ ------ ------- -------- -------------------- -------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ ------ ----------- -------------------- ----------- ----------------------- ----------------------- ------ --------- ------------------------------ -------------------------------------------------------------------------------------------------------------------------------- ----------- ---------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ------------ ------------ -------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------ ----------- ----------- -----------
8      0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-14 12:25:24.330 2019-05-14 12:25:24.330 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
14     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:58:26.273 2019-05-17 09:58:26.273 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
24     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:59:26.607 2019-05-17 09:59:26.607 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
25     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:08:32.070 2019-05-17 10:08:32.070 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
26     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:59:26.607 2019-05-17 09:59:26.607 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
27     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:08:32.070 2019-05-17 10:08:32.070 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
28     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:08:32.070 2019-05-17 10:08:32.070 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
29     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:59:26.607 2019-05-17 09:59:26.607 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
30     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:09:32.957 2019-05-17 10:09:32.957 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
31     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:03:29.253 2019-05-17 10:03:29.253 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
32     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:55:24.647 2019-05-17 09:55:24.647 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
33     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:49:22.023 2019-05-17 09:49:22.023 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
34     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:09:32.957 2019-05-17 10:09:32.957 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
35     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:09:32.957 2019-05-17 10:09:32.957 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
36     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:11:33.817 2019-05-17 10:11:33.817 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
37     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:05:29.977 2019-05-17 10:05:29.977 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
39     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:55:24.647 2019-05-17 09:55:24.647 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
51     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     5      1      0           0                    3           2019-05-17 10:14:22.167 2019-05-17 10:14:22.163 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001000374860B608125A7DA01000000000000 -1          -1          0
52     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      250         15                   3           2019-05-14 12:25:45.630 2019-05-14 12:25:48.597 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100F90B920720E42EB4DA01000000000000 -1          -1          0
53     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-14 12:28:00.510 2019-05-14 12:28:00.510 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D TCP/IP       NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001005CBDC00F30E22EB4DA01000000000000 -1          -1          0
54     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-14 12:26:45.523 2019-05-14 12:26:45.523 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
55     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           6                    3           2019-05-14 12:25:45.647 2019-05-14 12:25:45.927 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
56     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-17 10:11:00.290 2019-05-17 10:11:00.287 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001001770392F609E25A7DA01000000000000 -1          -1          0
57     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-17 10:14:15.537 2019-05-17 10:14:15.533 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D TCP/IP       NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001005CBDC00F30E22EB4DA01000000000000 -1          -1          0
58     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-16 02:00:30.530 2019-05-16 02:00:30.530 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
59     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     5      1      0           0                    3           2019-05-17 10:11:22.040 2019-05-17 10:11:22.040 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001000374860B608125A7DA01000000000000 -1          -1          0
60     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-16 01:12:45.520 2019-05-16 01:12:45.520 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
61     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-17 06:21:45.520 2019-05-17 06:21:45.520 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
62     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-16 01:17:15.530 2019-05-16 01:17:15.530 0      0         sleeping                       RdsAdminService                                                                                                                  3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100122A0516B0E62EB4DA01000000000000 -1          -1          0
63     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    3           2019-05-17 10:07:40.603 2019-05-17 10:07:40.600 0      0         sleeping                       SQL Management                                                                                                                   3532        AWAITING COMMAND NT AUTHORITY                                                                                                                     SYSTEM                                                                                                                           F26CD55EA53D LPC          NT AUTHORITY\SYSTEM                                                                                                              0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001002A9D442490E92EB4DA01000000000000 -1          -1          0
64     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      2      0           23                   3           2019-05-17 10:13:17.837 2019-05-17 10:13:18.193 0      0         sleeping                       Microsoft SQL Server Management Studio                                                                                           2932        AWAITING COMMAND                                                                                                                                                                                                                                                                   049A334D1477 TCP/IP       sa                                                                                                                               0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100DEB3382C608E25A7DA01000000000000 -1          -1          0
21     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 09:53:23.873 2019-05-17 09:53:23.873 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
22     0      0       0x0000   0                    MISCELLANEOUS                                                                                                                                                                                                                                                                                     1      1      0           0                    0           2019-05-17 10:08:32.070 2019-05-17 10:08:32.070 0      0         sleeping                                                                                                                                                                    TASK MANAGER                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
66     164    0       0x0042   0                    PAGEIOLATCH_SH                   32767:1:1395                                                                                                                                                                                                                                                     1      2      954         5354                 4           2019-05-17 10:14:17.247 2019-05-17 10:14:22.493 0      0         suspended                      Microsoft SQL Server Management Studio - Transact-SQL IntelliSense                                                               2932        SELECT                                                                                                                                                                                                                                                                             049A334D1477 TCP/IP       sa                                                                                                                               0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x010001001C70C614409C25A7DA01000000000000 164         2188        0
10     632    0       0x0000   0                    MEMORY_ALLOCATION_EXT                                                                                                                                                                                                                                                                             0      1      0           1                    0           2019-05-14 12:25:24.377 2019-05-14 12:25:24.377 0      0         background                                                                                                                                                                  RECEIVE                                                                                                                                                                                                                                                                                                      rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
3      996    0       0x0060   44                   LAZYWRITER_SLEEP                                                                                                                                                                                                                                                                                  0      1      263734      0                    0           2019-05-14 12:25:24.190 2019-05-14 12:25:24.190 0      0         background                                                                                                                                                                  LAZY WRITER                                                                                                                                                                                                                                                                                                  rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
15     1472   0       0x00AC   251322628            BROKER_TRANSMITTER                                                                                                                                                                                                                                                                                1      1      0           0                    0           2019-05-14 12:25:25.707 2019-05-14 12:25:25.707 0      0         background                                                                                                                                                                  BRKR TASK                                                                                                                                                                                                                                                                                                    rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
18     1892   0       0x019A   67770                XE_DISPATCHER_WAIT                                                                                                                                                                                                                                                                                0      1      125         0                    0           2019-05-14 12:25:24.833 2019-05-14 12:25:24.833 0      0         background                                                                                                                                                                  XE DISPATCHER                                                                                                                                                                                                                                                                                                rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
17     1912   0       0x0198   13559                XE_TIMER_EVENT                                                                                                                                                                                                                                                                                    0      1      5203        0                    0           2019-05-14 12:25:24.833 2019-05-14 12:25:24.833 0      0         background                                                                                                                                                                  XE TIMER                                                                                                                                                                                                                                                                                                     rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
1      2068   0       0x0082   44                   LOGMGR_QUEUE                                                                                                                                                                                                                                                                                      0      1      1109        0                    0           2019-05-14 12:25:24.177 2019-05-14 12:25:24.177 0      0         background                                                                                                                                                                  LOG WRITER                                                                                                                                                                                                                                                                                                   rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
13     2168   0       0x0081   59                   ONDEMAND_TASK_QUEUE                                                                                                                                                                                                                                                                               1      1      375         0                    0           2019-05-14 12:25:24.723 2019-05-14 12:25:24.723 0      0         background                                                                                                                                                                  RESOURCE MONITOR                                                                                                                                                                                                                                                                                             rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
16     2496   0       0x006C   59                   SLEEP_TASK                                                                                                                                                                                                                                                                                        0      1      44480656    0                    0           2019-05-14 12:25:24.833 2019-05-14 12:25:24.833 0      0         background                                                                                                                                                                  RESOURCE MONITOR                                                                                                                                                                                                                                                                                             rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
6      2504   0       0x038D   251323488            WAIT_XTP_HOST_WAIT                                                                                                                                                                                                                                                                                0      1      0           0                    0           2019-05-14 12:25:24.190 2019-05-14 12:25:24.190 0      0         background                                                                                                                                                                  XTP_CKPT_AGENT                                                                                                                                                                                                                                                                                               rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
19     2756   0       0x00B1   251322363            BROKER_EVENTHANDLER                                                                                                                                                                                                                                                                               1      1      0           32                   0           2019-05-14 12:25:25.690 2019-05-14 12:25:25.690 0      0         background                                                                                                                                                                  BRKR EVENT HNDLR                                                                                                                                                                                                                                                                                             rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
11     2832   0       0x0084   259777               CHECKPOINT_QUEUE                                                                                                                                                                                                                                                                                  1      1      9468        24718                0           2019-05-14 12:25:24.723 2019-05-14 12:25:24.723 0      0         background                                                                                                                                                                  CHECKPOINT                                                                                                                                                                                                                                                                                                   rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
65     2884   0       0x0000   0                    RESERVED_MEMORY_ALLOCATION_EXT                                                                                                                                                                                                                                                                    1      2      0           0                    4           2019-05-17 10:14:14.950 2019-05-17 10:14:24.267 0      0         runnable                       Microsoft SQL Server Management Studio - クエリ                                                                                     2932        SELECT                                                                                                                                                                                                                                                                             049A334D1477 TCP/IP       sa                                                                                                                            0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x01000100449FC308408025A7DA01000000000000 0           86          0
2      2888   0       0x0336   44                   DIRTY_PAGE_POLL                                                                                                                                                                                                                                                                                   0      1      937         0                    0           2019-05-14 12:25:24.190 2019-05-14 12:25:24.190 0      0         background                                                                                                                                                                  RECOVERY WRITER                                                                                                                                                                                                                                                                                              rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
5      2948   0       0x00A0   251322551            KSOURCE_WAKEUP                                                                                                                                                                                                                                                                                    1      1      0           0                    4           2019-05-14 12:25:24.190 2019-05-14 12:25:24.190 0      0         background                                                                                                                                                                  SIGNAL HANDLER                                                                                                                                                                                                                                                                                               rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
23     3040   0       0x0327   390                  HADR_FILESTREAM_IOMGR_IOCOMPLETI                                                                                                                                                                                                                                                                  1      1      421         0                    0           2019-05-14 12:25:25.707 2019-05-14 12:25:25.707 0      0         background                                                                                                                                                                  BRKR TASK                                                                                                                                                                                                                                                                                                    rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
20     3092   0       0x019E   390                  BROKER_TO_FLUSH                                                                                                                                                                                                                                                                                   1      1      312         0                    0           2019-05-14 12:25:25.707 2019-05-14 12:25:25.707 0      0         background                                                                                                                                                                  BRKR TASK                                                                                                                                                                                                                                                                                                    rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
7      3208   0       0x00AC   251322613            BROKER_TRANSMITTER                                                                                                                                                                                                                                                                                1      1      0           0                    0           2019-05-14 12:25:25.707 2019-05-14 12:25:25.707 0      0         background                                                                                                                                                                  BRKR TASK                                                                                                                                                                                                                                                                                                    rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
4      3300   0       0x0083   2849                 REQUEST_FOR_DEADLOCK_SEARCH                                                                                                                                                                                                                                                                       0      1      859         0                    0           2019-05-14 12:25:24.190 2019-05-14 12:25:24.190 0      0         background                                                                                                                                                                  LOCK MONITOR                                                                                                                                                                                                                                                                                                 rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
12     3388   0       0x028E   251323628            FT_IFTSHC_MUTEX                                                                                                                                                                                                                                                                                   0      1      0           0                    0           2019-05-14 12:25:24.707 2019-05-14 12:25:24.707 0      0         background                                                                                                                                                                  UNKNOWN TOKEN                                                                                                                                                                                                                                                                                                rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
9      3448   0       0x00A5   3479                 SQLTRACE_INCREMENTAL_FLUSH_SLEEP                                                                                                                                                                                                                                                                  1      1      78          0                    0           2019-05-14 12:25:24.363 2019-05-14 12:25:24.363 0      0         background                                                                                                                                                                  TRACE QUEUE TASK                                                                                                                                                                                                                                                                                             rdsa                                                                                                                             0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000 0           0           0
 
(54 行処理されました)

※「sid」「hostname」列の情報は消去しています。

 

表: cpu列が高いlastwaittypeおよびそのcmdの抜粋

lastwaittype cpu cmd
SLEEP_TASK 44480656 RESOURCE MONITOR
LAZYWRITER_SLEEP 263734 LAZY WRITER
CHECKPOINT_QUEUE 9468 CHECKPOINT

 

「cpu」列で「SLEEP_TASK」が逸脱した値を記録しています。「cmd」列は「RESOURCE MONITOR」です。これにより、バックグラウンドで動作中のRESOURCE MONITORがCPUを高騰させているのではないかという判断に至りました。

なお、「cpu」列は累積のCPU使用時間であるため、必ずしもこの列の値が高いプロセスが、現在もCPU使用率を高騰させているとは限りません。今回は、再起動後、ユーザによる操作がない状態でこの値が逸脱していたため、異常だと判断しました。

 

RESOURCE MONITORがCPUを使用していることの確認

念のため、最後にRESOURCE MONITORによるCPU使用状況を確かめるスクリプトを実行しました。

実行するSQL文はHigh CPU consumed by Resource Monitor due to low virtual memory - CSS SQL Server Engineersに記載されています。

RESOURCE MONITORのCPU使用を確認するSQL

declare @curCPU int, @prevCPU int, @delta int, @msg varchar(max)
set @curCPU =0
set @prevCPU = 0

while 1 = 1
begin

 select @curCPU = SUM(cpu_time)  from sys.dm_exec_requests where command like '%Resource%Monitor%'
 set @delta = @curCPU - @prevCPU
 set @prevCPU = @curCPU
 set @msg = CAST(GETDATE() as varchar(20)) +  ' -- delta in CPU in sec (wait time 60 sec, ignore first run): ' + CAST((@delta / 1000.00) as varchar(max))
 raiserror (@msg, 10, 1) with nowait
 waitfor delay '0:1:0'
end

正常に動作している場合、0、または0に近い値が出ますが、問題が生じている場合、それよりも高い数値が出力されます。なお、初回実行時の値は無視します(2回目以降の値を判定値として用います)。

 

通常のインスタンスでの実行結果

May 17 2019  5:26PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 62.0150000
May 17 2019  5:27PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 0.0000000
May 17 2019  5:28PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 0.0000000
May 17 2019  5:29PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 0.0000000

 

問題が発生しているインスタンスでの実行結果

May 17 2019  4:58PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 49448.7020000
May 17 2019  4:59PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 13.0000000
May 17 2019  5:00PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 12.7030000
May 17 2019  5:01PM -- delta in CPU in sec (wait time 60 sec, ignore first run): 13.9530000

 

表: 実行結果まとめ

計測 通常 異常
1回目 0 13.000
2回目 0 12.703
3回目 0 13.953
平均 0 13.219

今回は、問題が発生しているインスタンスは13前後の値を示していることが確認できました。以上のことより、RESOURCE MONITORがCPUを高騰させているという判断になりました。

 

RESOURCE MONITORがCPUを高騰させる理由

結論としては、メモリの量が少ないと本事象が発生する可能性があります。

先ほどCPU使用状況について確認する際に利用したSQLが載っているHigh CPU consumed by Resource Monitor due to low virtual memory - CSS SQL Server Engineersには以下の記載があります。

The root cause is that something like extended procedure, or COM (loaded by sp_OACreate) exhausted virtual address space of SQL SErver. SQL Server then is under a low virtual memory state. This cause Resource Monitor to do extra work.

拡張プロシージャやCOM等がメモリを消費することで、RESOURCE MONITORが余計な処理を実行しなければならない状態となり、結果として、CPUの高騰につながったという形です。
本事象はSQL Server 2008での事象、かつ、フィックスされているとアナウンスされてはいますが、2012/2014/2016/2019でも同様の事象が非公式(コメント欄)で報告されていることも確認できます。

 

RESOURCE MONITORによるCPU高騰を解決する方法

根本的に事象を解決するための最も確実な方法は、インスタンスクラスを上位のもの(db.t2.small・db.t2.medium)に変更することです。
と言いますのも、本事象の根本原因はメモリ不足にあるためです。

今回遭遇した事象は、db.t2.mediumに変更することにより恒久的に改善しました。また、AWSサポートからも、本事象はdb.t2.small以上では確認できていないと回答がありました(※あくまで問い合わせ時点でのものです)。

元も子もなくコストも増える解決策ですが、仮にインスタンスを再起動、あるいは、再作成し、一時的に事象を回避できたとしても、潜在的なCPU高騰のリスクを抱えたままであることに変わりありません。例えば、インスタンスに対して変更をかけたタイミングで事象が再現する可能性も否定しきれません。
そうであれば、根本原因に対処するのが確実です。

また、本事象についてはAWS Developer Forums: SQL Server EX: High CPU Usage since 2018-11-19でも活発に議論されていましたが、一時的に事象が改善しても再発するケースの報告も見受けられます。

私個人と致しましても、インスタンスクラスの変更により事象が解決したという前例を経験したため、こちらを恒久的な対策として推奨させていただきます。

 

まとめ

検証目的、あるいは、軽い負荷のみが予測される場合、db.t2.microを利用してSQL Serverを利用することもあるかと存じます。必ず再現するわけではありませんが、RESOURCE MONITORによってCPUが高騰する事象は発生し得ます。

基本的にコストを抑えるためにdb.t2.microを利用していることが多いと考えられるため、「インスタンスクラスを上げる」というコストが増加してしまう対策はイマイチとはなってしまいますが、少しでも、どなたかのお役に立てたら幸いです。

 

 

 

このブログの著者

 

 

アプリケーション開発バナー   AWS相談会