6

誰もこれに遭遇したことがありますか?SQL Server 2012 SP1、エンタープライズ エンタープライズが Windows 2012 にインストールされた 2 ノード クラスターがあります。これらは、VMWare 5.1 で実行されている VM です。CPU が 100% まで急上昇し、しばらくの間持続することがあることに気付きました。何がそんなに多くの CPU を使用しているかを調べたところ、それはリソース モニターであることが判明しました。仮想メモリが少ない場合に SQL Server 2008 で CPU 使用率が高くなる問題 (KB 968722) があったことは知っていますが、サービス パックで修正されました。

SQL Server 2012 SP1 で同じことを見ている人はいますか? KB 968722 に記載されている状況とまったく同じですが、SQL Server 2008 ではなく、SQL Server 2012 で発生しています。

4

2 に答える 2

4

私はちょうど同様の問題に直面しています。私たちの Windows チームは、私 (SQL DBA) に、2 つのコアのみで高い CPU を備えたサーバーが 1 つあると報告しました (サーバーには 10 コアがあります)。このサーバーは 2 ノード クラスターの一部であり、3 つの SQL インスタンスがインストールされています。これらのインスタンスの 1 つが CPU の問題を引き起こしていましたが、問題の原因となっているインスタンスが何もしていないことは非常に驚きでした。このインスタンスはインストールされましたが、まだ使用されておらず、すでに 2 つのコアのみで CPU の問題が発生していました。スレッド オブジェクト パフォーマンス カウンターを使用して、後で sys.sysprocesses テーブルをクエリしてそれらのスレッド ID (KPID) を見つけるために使用したスレッド ID を特定しました。

SELECT * FROM sysprocesses
WHERE kpid IN (<Thread IDs>)

そのクエリで、SQL Server のセッション ID を特定しました。それらはバックグラウンド プロセスでした。sp_who を使用すると、1 つのセッション ID cmd は "RESOURCE MONITOR" で、もう 1 つは "LAZY WRITER" でした。

メモリを確認したところ、このインスタンスは新しいため、最小サーバー メモリが 1024 MB、最大サーバー メモリが 1024 MB で構成されていました。最大サーバー メモリ設定を 2048 mb に増やしたところ、問題はすぐに解消されました。

私はこれが普遍的な解決策ではないことを知っています.

于 2016-03-05T17:41:57.603 に答える
4

簡単な回答(> SQL Server 2008 の場合): SQL サーバーに十分な RAM が不足しているため、RESOURCE MONITOR はおそらく CPU 時間を多く取っています。

  • Windows タスク マネージャー/リソース モニターをチェックして、RAM を集中的に使用する不要なプロセスを確認します。それをきれいにします。
于 2016-03-19T22:35:37.020 に答える