ボランティア募集

Mission

  • われわれのミッションは、
    「集団活動をとおして、おたがいの交流の輪をひろげる」
    ことです。
2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

« ホームページを順次更新しております | トップページ | 新しいことに挑戦してみました »

2016年4月 5日 (火)

VisualStudioでWindowaPhoneのエミュレーターがメモリー不足で苦労した

Visual Studio 2015でWindows Phoneのエミュレーター(Mobile Emulator)を動かそうとしたら、バーチャルマシンのメモリー不足(Not enough memory)というエラーになり苦労したので、対処方法の備忘録です。

経緯

Visual Studio Community 2015 で UWP(Universal Windows Platform)アプリをつくってみようと思い立ち、まずはWindows Phone(Windows 10 Mobile か?)のエミュレーターが動くのか見てみました。ところが、メモリー不足と思われるエラーが発生して、エミュレーターが立ち上がりません。

エラーメッセージ

タスクマネージャーでは512MBのリソースは余裕で余っているのですが。。
「ほかのアプリを閉じても同じ問題が発生する場合は、ここを見てね」と書いてあるので、ナレッジベースを見てみます。英語ぢゃん。。

環境

確認、実行した環境は以下です。

  • OS: Windows 10 Pro
  • CPU: Intel Core i7-3517U 1.90-2.40GHz x64
  • RAM: 4GB(ただし、一部にVRAMが同居)
  • 開発環境: Visual Studio2015 Community 2015

ということで、SLAT(Second Level Address Translation)には対応しています。Hyper-Vは元気です。チェックツールでも問題なしになりました。

結論

新しいレジストリキーに仮想マシンのメモリーを明示的に確保して解決です。
言わずもがなですが、レジストリの変更は自己責任です。

手順

ナレッジベースに書いてあるとおりに操作します。
手順の起債部分

バーチャルマシンのメモリーを明示的に確保するため、レジストリ値を追加します。
MemoryReserve」を新規作成して値を設定する手順です。

  1. レジストリエディタを起動
    呪文: regedit
  2. 変更するレジストリキー
    注意: レジストリ変更前には必ずバックアップすること(ファイル → エクスポート)】
    HKEY_LOCAL_MACHINE
    ├ SOFTWARE
    │├ Microsoft
    ││├ Windows NT
    │││├ CurrentVersion
    ││││├ Virtualization
  3. Virtualizationで 右クリック → 新規 → DWORD(32ビット)値 とクリック
  4. 名前を「MemoryReserve」としてEnter
  5. 「MemoryReserve」をダブルクリックし、値のデータに「2048」と入力し、表記のラジオボタンで「10進数」を選択してOKをクリック
    レジストリ値
  6. レジストリエディタを閉じる

なお、レジストリ情報を反映させるには、コンピューターの再起動が必要です。

ちなみにMemoryReserveは、メモリーが8BG未満のコンピューターの場合、2048(2GB)が推奨値。ここに「0」を設定すると無視される、とのことです。

変更後

しっかりエミュレーターが動きました。
WVGA 4 inch 512MBです。
エミュレーター画面

やっぱりどう見てもメモリーは余裕なのですよねw
タスクマネージャーで見ているとわかりやすいです。
エミュレーター開始時 エミュレーター終了時

エラーの原因

わかりません。。

ナレッジベースに書いてあること

せっかくなので、Bingに翻訳してもらいました。

オペレーティング システムは、一貫して高いパフォーマンスを維持するためにメモリを割り当てる方法について Windows 8 のバージョンよりもより保守的なので、Windows 8.1 ではこの問題が発生します。Windows 8.1 では、Hyper-V のメモリ管理は任意のエミュレーターのインスタンスを起動する前に、プログラムによって消費されるメモリを占めています。ハイパー-V は Windows 8 でこの意識をしていません。

予想

たぶん、実体OSのパフォーマンスを優先するために、仮想マシンのメモリー管理がざっくりになっているから、エミュレーターに割く分を明示してあげればうまくいくということなのかと。

ここまで読んでくださりありがとうございます。

« ホームページを順次更新しております | トップページ | 新しいことに挑戦してみました »

パソコン・インターネット」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: VisualStudioでWindowaPhoneのエミュレーターがメモリー不足で苦労した:

« ホームページを順次更新しております | トップページ | 新しいことに挑戦してみました »

新ブログ

わたしたちのこと

  • わたしたち「ともだちひろば運営委員会」は、埼玉県戸田市内を中心に活動するボランティア団体です。「ともだちひろば」の企画と運営を行います。
    「ともだちひろば」は、障がいのある方たちが余暇を楽しむためのイベントです。職場や学校とは違う、交流の場所になります。体操や作品づくりやゲームなどの集団活動を楽しむイベントです。季節を感じ、日本の伝統文化も体験できます。

スポンサーリンク

Twitter