現在Youtubeに注力してますので是非チャンネル登録お願いします!

胡田昌彦のコンピューター系チャンネル

Hyper-Vの動的メモリの注意点

Hyper-V
この記事は約3分で読めます。

検証環境でSQL Server 2012を動かしており、メモリ節約のために、動的メモリを規定値で設定していました。当初はよかったのですがしばらくたってからやけに仮想サーバーが重くなりまともに操作できないレベルになってしまいました。以下のような状況です。

  • 仮想マシン上のSQL ServerのCPU使用率が常時高い。(50〜80%)
  • メモリ使用率は高くない、SQL Serverも200MB程度しか使っていない。(メモリを使ってくれていない)
  • 物理マシンのリソース使用量はさほどでもない。CPU 15%程度。ディスク転送も10MB/s程度。
  • イベントログにはエラーは記録されていない

症状からはなにが原因なんだかよくわからなかったのですが、結局動的メモリを使用しないようにしたら普通に稼働するようになりました。

あとから検索してみると以下のような情報がみつかりました。

Q7: Is Hyper-V Dynamic Memory supported for SQL Server?

A7: Hyper-V Dynamic Memory is fully supported with SQL Server. Only SQL Server versions and editions (Enterprise and Datacenter) that support Hot Add Memory can see memory that is added by using Hyper-V Dynamic Memory. SQL Server versions that do not support Hot Add Memory are still supported. But these versions will detect only the memory that is present in the operating system when SQL Server starts.
Support policy for Microsoft SQL Server products that are running in a hardware virtualization environment

一応動的メモリにも対応していると書いてありますが、実際に発生した事象から考えるとメモリ需要の加減によってはうまく動作しない事があるみたいです。

似たようなケースで以下の例もありました。ただ、私の環境ではイベントログへのエラーは記録されていなかったので全く同じではありませんでしたけれども。

メモリを一気に使うようなアプリを動かすサーバーのメモリ設定には検証といえども注意が必要なようです。(強力で豪華な検証環境が欲しいですね・・・・・)

コメント

タイトルとURLをコピーしました