JPWO2013030939A1 - 情報処理装置、メモリダンプ採取方法、及びプログラム - Google Patents

情報処理装置、メモリダンプ採取方法、及びプログラム Download PDF

Info

Publication number
JPWO2013030939A1
JPWO2013030939A1 JP2013530921A JP2013530921A JPWO2013030939A1 JP WO2013030939 A1 JPWO2013030939 A1 JP WO2013030939A1 JP 2013530921 A JP2013530921 A JP 2013530921A JP 2013530921 A JP2013530921 A JP 2013530921A JP WO2013030939 A1 JPWO2013030939 A1 JP WO2013030939A1
Authority
JP
Japan
Prior art keywords
virtual machine
domain
address
memory
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013530921A
Other languages
English (en)
Other versions
JP5772962B2 (ja
Inventor
笑陽 張
笑陽 張
史哲 山名
史哲 山名
賢次 五坪
賢次 五坪
裕之 出井
裕之 出井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013530921A priority Critical patent/JP5772962B2/ja
Publication of JPWO2013030939A1 publication Critical patent/JPWO2013030939A1/ja
Application granted granted Critical
Publication of JP5772962B2 publication Critical patent/JP5772962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

複数の仮想マシンが動作する情報処理装置は、第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する。

Description

本発明は、情報処理装置、メモリダンプ採取方法、及びプログラムに関する。
オペレーティングシステム(OS(Operating System))は、致命的なエラーが検知されると、パニック処理を実行し、緊急停止する。この場合、オペレーティングシステムは、使用していたメモリの内容のメモリダンプをハードディスクに保存して、システムを再起動する。メモリダンプは、致命的なエラーの原因調査等に用いられる。
物理マシン(コンピュータ)とOSとが一対一に対応する場合、OSごとのドメインは、独立性が高い。したがって、或るドメインにおいてパニックが発生しても他のドメインが影響を受ける可能性は小さかった。
一方、近年では、コンピュータの仮想化技術が普及している。仮想化技術を利用すれば、一つの物理マシン上に、複数の仮想マシン(ドメイン)を起動することができる。それぞれのドメインでは、個別にオペレーティングシステムを動作させることができる。すなわち、一つの物理マシン上で、複数のオペレーティングシステムを動作させることができる。
仮想化環境においては、ドメインに特殊な役割が割り当てられる場合がある。例えば、「サービスドメイン」は、他のドメインに対して仮想化されたデバイスに関するサービスを提供し、「ゲストドメイン」はサービスドメインにより提供されるサービスを利用する。このような仮想化環境において、或るゲストドメインでパニックが発生した場合、該パニックがサービスドメインの問題に起因する可能性もある。
図1は、サービスドメインの障害によってゲストドメインにパニックが発生した場合の例を示す図である。図1では、ハイパーバイザによって、サービスドメイン、ゲストドメインA、及びゲストドメインBの三つのドメイン(仮想マシン)が起動されている。なお、ハイパーバイザとは、コンピュータを仮想化し、複数のOSの並列実行を可能とするソフトウェアである。ハイパーバイザは、ソフトウェアによって実現される仮想的なコンピュータ(仮想マシン)を起動し、仮想マシン上でOSを動作させる。
例えば、サービスドメインがゲストドメインBに対してサービスを提供中に、サービスドメインにおいて障害(S1)が発生したとする。当該障害の影響によって、ゲストドメインBにおいてパニックが発生した場合(S2)、ゲストドメインBが使用しているメモリの内容がメモリダンプとして保存される(S3)。
しかし、図1のケースでは、サービスドメインのメモリダンプも採取されないと、ゲストドメインBのパニックの真の原因を特定することは困難である。ゲストドメインBのメモリダンプを解析したとしても、サービスドメインにおける障害の発生を検出することができないかもしれない。また、当該障害の発生を検出できたとしても、当該障害の原因を特定するのは困難であると考えられる。
そこで、従来、図2に示されるような方法で、サービスドメインのメモリダンプが採取されていた。
図2は、サービスドメインのメモリダンプの採取方法を説明するための図である。図2において、ステップS1〜S3は、図1と同様である。
図2では、ゲストドメインBにおけるパニックの発生を受けて、ユーザは、サービスドメインを手動でパニックさせる(S4)。その結果、サービスドメインが使用しているメモリの内容がメモリダンプとして保存される(S5)。
しかし、図2の方法では、サービスドメインがゲストドメインB以外のゲストドメイン(図2では、ゲストドメインA)にもサービスを提供していた場合、ゲストドメインAに対するサービスの提供が停止されてしまうという問題があった。
そこで、ライブダンプ技術を利用して、サービスドメインのオペレーティングシステムが稼働状態のままで、メモリダンプの採取も行われている。
特開2005−122334号公報 特開2001−229053号公報
しかしながら、ライブダンプ技術を利用してメモリダンプを採取する場合、メモリダンプ採取中に、採取対象のメモリの内容が動作中のドメイン(サービスドメイン)により更新されてしまう可能性がある。すなわち、ライブダンプ技術を利用して採取されたメモリダンプの内容は、サービスドメインの障害発生時におけるサービスドメインのメモリの内容と異なる可能性がある。したがって、採取されたメモリダンプは、データの整合性が失われて解析不能な状態であったり、原因を特定するための重要な情報が失われた状態であったりすることがあり、パニックの原因を調査するための資料として有効でないことがあった。
そこで、1側面では、仮想マシンにおけるパニックの原因調査に有効なメモリダンプを採取できる可能性を高めることのできる情報処理装置、メモリダンプ採取方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、複数の仮想マシンが動作する情報処理装置は、第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する。
仮想マシンにおけるパニックの原因調査に有効なメモリダンプを採取できる可能性を高めることができる。
サービスドメインの障害によってゲストドメインにパニックが発生した場合の例を示す図である。 サービスドメインのメモリダンプの採取方法を説明するための図である。 本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。 本発明の実施の形態の情報処理装置のソフトウェア構成例を示す図である。 ゲストドメインにパニックが発生した際に実行される処理手順の一例を説明するためのシーケンス図である。 パニックの発生したドメインのメモリダンプの採取処理の一例を説明するための図である。 ドメイン関係情報記憶部の構成例を示す図である。 サービスドメインのメモリダンプの採取処理の一例を説明するための図である。 アドレス変換バッファの無効化に応じたトラップの発生の一例を説明するための図である。 アドレス変換バッファの再設定処理の一例を説明するための図である。 トラップの検知に応じてハイパーバイザが実行する処理手順の一例を説明するためのフローチャートである。 アドレス変換バッファの第一の構成例を示す図である。 TLB及びRRを用いたアドレス変換の手順の一例を説明するための図である。 アドレス変換バッファの第二の構成例を示す図である。 TLBを用いたアドレス変換の手順の一例を説明するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図3は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図3において、情報処理装置10は、CPU104a、104b、及び104c等の複数のCPU104を有する。後述されるように、各CPU104は、各仮想マシンに割り当てられる。なお、情報処理装置10は、必ずしも複数のCPU104を備えていなくてもよい。例えば、一つのマルチコアプロセッサによって、複数のCPU104が代替されてもよい。この場合、各プロセッサコアが、各仮想マシンに割り当てられればよい。
情報処理装置10は、更に、補助記憶装置102、主記憶装置103、CPU104、及びインタフェース装置105等を有する。CPU104及びこれらハードウェアは、バスBによって接続されている。
情報処理装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
主記憶装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、主記憶装置103に格納されたプログラムに従って情報処理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
図4は、本発明の実施の形態の情報処理装置のソフトウェア構成例を示す図である。図4において、情報処理装置10は、ハイパーバイザ11、及びドメイン12a〜ドメイン12cの複数のドメイン12を有する。ハイパーバイザ11及びドメイン12は、情報処理装置10にインストールされたプログラム(仮想化プログラム)がCPU104に実行させる処理によって実現される。
ハイパーバイザ11は、コンピュータを仮想化し、複数のOS13(Operating System)の並列実行を可能とする。ハイパーバイザ11は、ソフトウェアによって実現される仮想的なコンピュータ(仮想マシン)を作り出し、仮想マシン上でOS13を動作させる。なお、本実施の形態では、仮想マシンの実行単位を「ドメイン12」と呼ぶ。図4では、ドメイン12a、ドメイン12b、及びドメイン12cの三つの仮想マシンの実行単位(ドメイン12)が実行されている状態が示されている。
本実施の形態において、ドメイン12a、ドメイン12b、及びドメイン12cは、相互に役割又は立場が異なる。ドメイン12aは、仮想I/Oや仮想コンソールなどの仮想環境サービスを他のドメイン12に提供するドメイン12である。ドメイン12b及びドメイン12cは、ドメイン12aによって提供されるサービスを利用するドメイン12である。
各ドメイン12の、以上のような、役割又は立場の違いの把握を容易にするため、本実施の形態においては、ドメイン12aを「サービスドメイン12a」という。また、ドメイン12b、ドメイン12cを、それぞれ「ゲストドメイン12b」、「ゲストドメイン12c」という。各ドメイン12を区別しない場合、単に、ドメイン12という。
各ドメイン12には、ハードウェア資源として、CPU104a、104b、又は104cの他に、メモリ130a〜130c及びディスク120a〜120c等が、ハイパーバイザ11によって割り当てられる。メモリ130a〜130cは、それぞれ、主記憶装置103における一部の記憶領域である。各ドメイン12には、主記憶装置103において相互に重複しない記憶領域が、メモリ130a、130b、又は130cとして割り当てられる。ディスク120a〜120cは、それぞれ、補助記憶装置102における一部の記憶領域である。各ドメイン12には、補助記憶装置102において相互に重複しない記憶領域が、ディスク120a、120b、又は120cとして割り当てられる。
各CPU104は、アドレス変換バッファ14を有する。アドレス変換バッファ14は、OS13がメモリ130にアクセスする際に指定するアドレス(仮想アドレス又は中間アドレス)を、物理アドレスに変換するためのマッピング情報(対応情報)を記憶する。仮想アドレス(Virtual Address)とは、OS13が使用する仮想アドレス空間におけるアドレス(以下、「仮想アドレスVA」又は単に「VA」と表記する。)である。中間アドレス(Real Address)は、オペレーティングシステムにとっての(又はオペレーティングシステムから見た場合の)物理アドレスに相当するアドレス(以下、「中間アドレスRA」又は単に「RA」と表記する。)である。物理アドレス(Physical Address)とは、主記憶装置103における物理的なアドレス(以下、「物理アドレスPA」又は単に「PA」と表記する。)である。
各ドメイン12のオペレーティングシステム(OS13)は、パニック通知部131、メモリダンプ採取部132、及び仮想・中間アドレス変換バッファ133(以下、「TSB133」という。)等を含む。パニック通知部131は、当該ドメイン12に障害が発生しパニック処理を実行した際に、当該パニックをハイパーバイザ11に通知する。障害とは、致命的なエラーが検知され、安全に復旧できなくなった状態をいう。パニック処理を実行したOS13は、緊急停止する。
メモリダンプ採取部132は、パニックの発生に応じ、当該ドメイン12のメモリ130の内容(メモリダンプ)を当該ドメイン12のディスク120に保存(記憶)する。但し、後述されるように、メモリダンプ採取部132は、他のドメイン12のメモリ130の内容に関して、メモリダンプを採取する場合もある。
TSB133(Translation Storage Buffer)は、仮想アドレスVAと中間アドレスRAとのマッピング情報を保持する。TSB133は、例えば、各ドメイン12のメモリ130を用いて実現可能である。
なお、図4では、各ドメイン12のハードウェア資源、又は各ドメイン12のソフトウェア資源(OS13及びOS13に含まれる構成要素)に関して、対応するドメイン12の符号の末尾と同じアルファベット(a〜c)が付されている。当該ハードウェア資源及び当該ソフトウェア資源に関して、ドメイン12を区別しない場合で言及する場合、当該アルファベットは省略される。
一方、ハイパーバイザ11は、ドメイン関係判定部111、ドメイン関係情報記憶部112、アドレス変換バッファ処理部113、ダンプ採取要求部114、トラップ処理部115、メモリ管理部116、及びアドレス変換表117等を含む。
ドメイン関係判定部111は、或るドメイン12に対するサービスドメイン12を判定する。すなわち、本実施の形態では、便宜上、ドメイン12aをサービスドメインとしているが、サービスドメインとしての地位は、ドメイン12間において相対的なものである。ドメイン関係情報記憶部112は、ドメイン12ごとに、当該ドメイン12のサービスドメイン12を示す情報を記憶する。アドレス変換バッファ処理部113は、アドレス変換バッファ14に記憶されたマッピング情報のクリア若しくは無効化又は再設定等を行う。ダンプ採取要求部114は、或るドメイン12(例えば、ゲストドメイン12c)に対して、他のドメイン12(例えば、サービスドメイン12a)に関するメモリダンプの採取を要求する。トラップ処理部115は、各ドメイン12のCPU104より通知されるトラップに応じた処理を実行する。トラップとは、例外の発生をハードウェアからソフトウェアに通知すること、また、該通知において通知される情報をいう。メモリ管理部116は、各ドメイン12のメモリ130に関する処理を行う。
アドレス変換表117は、中間アドレスRAと物理アドレスPAとのマッピング情報(対応情報)を記憶する。アドレス変換表117が記憶する情報は、ハイパーバイザ11によって生成及び管理される。
なお、図4において、メモリプール130pは、主記憶装置103において、いずれのドメイン12にも割り当てられていない記憶領域である。
以下、情報処理装置10が実行する処理手順について説明する。図5は、ゲストドメインにパニックが発生した際に実行される処理手順の一例を説明するためのシーケンス図である。
例えば、ゲストドメイン12bのOS13bにおいて、致命的なエラーが検出されてパニックが発生したとする(S101)。この場合、パニック通知部131bは、ハイパーバイザAPI(Application Program Interface)を介して、「パニック」というステータス情報を、ハイパーバイザ11に通知する(S102)。当該ステータス情報には、ゲストドメイン12bの識別情報(ドメイン番号)が含まれる。続いて、メモリダンプ採取部132bは、メモリダンプの採取処理を実行する(S103)。すなわち、メモリ130bの内容のスナップショットがディスク120bに保存される。
図6は、パニックの発生したドメインのメモリダンプの採取処理の一例を説明するための図である。図6中、図5に対応する処理には、図5と同一のステップ番号が付与されている。
図6では、ゲストドメイン12bにおいてパニックが発生し(S101)、パニックの通知(S102)、及びメモリダンプの採取(S103)が行われる様子が示されている。
なお、メモリダンプの採取後、ゲストドメイン12bは、ハイパーバイザ11に対して再起動命令を入力する。その結果、ゲストドメイン12bは、緊急停止した後、再起動される。
図5に戻る。「パニック」というステータス情報を通知されたハイパーバイザ11のドメイン関係判定部111は、ゲストドメイン12bに対してサービスを提供しているドメイン12(すなわち、サービスドメイン)を特定する(S104)。サービスドメインの特定は、ドメイン関係情報記憶部112を参照して行われる。
図7は、ドメイン関係情報記憶部の構成例を示す図である。図7において、ドメイン関係情報記憶部112は、各ドメイン12のドメイン番号ごとに、当該ドメイン12のサービスドメインのドメイン番号を記憶する。図7において、「ドメイン12a」、「ドメイン12b」、「ドメイン12c」は、順番に、サービスドメイン12a、ゲストドメイン12b、ゲストドメイン12cのドメイン番号を示す。なお、図7では、便宜上、ドメイン12a」、「ドメイン12b」、「ドメイン12c」といった文字列によって、ドメイン番号が表現されている。
ドメイン関係判定部111は、通知されたステータス情報からドメイン番号を抽出し、当該ドメイン番号に対するサービスドメインのドメイン番号を、ドメイン関係情報記憶部112より取得する。図7に基づけば、「ドメイン12b」に対して、「ドメイン12a」が取得される。すなわち、サービスドメイン12aが、ゲストドメイン12bのサービスドメインとして特定される。ドメイン関係判定部111は、特定されたサービスドメイン12aのドメイン番号を、アドレス変換バッファ処理部113に送信(通知)する。ここで特定されたサービスドメイン12aが、以降の処理においてメモリダンプの採取対象とされるドメイン12である。
続いて、ハイパーバイザ11のアドレス変換バッファ処理部113は、サービスドメイン12aのCPU104aにおけるアドレス変換バッファ14aの内容をクリア(消去)する(S105)。すなわち、アドレス変換バッファ14aが無効化される。
続いて、ハイパーバイザ11のダンプ採取要求部114は、パニックが発生したゲストドメイン12b及びサービスドメイン12a以外のドメイン12に対して、ハイパーバイザAPIを介して、サービスドメイン12aのメモリダンプの採取要求を送信する(S106)。この際、サービスドメイン12aのメモリ130aの物理アドレスPAの範囲が指定される。すなわち、各ドメイン12に対してメモリ130を割り当てるのは、ハイパーバイザ11である。したがって、ハイパーバイザ11は、各ドメイン12のメモリ130物理アドレスPAの範囲を知っている。本実施の形態において、パニックが発生したゲストドメイン12b及びサービスドメイン12a以外のドメイン12は、ゲストドメイン12cである。したがって、ゲストドメイン12cに対して、サービスドメイン12aのメモリダンプの採取要求が送信される。
続いて、ゲストドメイン12cのメモリダンプ採取部132cは、指定された物理アドレスPAの範囲の主記憶装置103の領域(すなわち、メモリ130a)の内容のスナップショットをディスク120cにコピーし、メモリダンプとして保存する(S107)。
図8は、サービスドメインのメモリダンプの採取処理の一例を説明するための図である。図8中、図5に対応する処理には、図5と同一のステップ番号が付与されている。
ハイパーバイザ11のダンプ採取要求部114は、ゲストドメイン12cのメモリダンプ採取部132cに、サービスドメイン12aのメモリダンプの採取要求を送信する(S106)。当該採取要求には、メモリ130aの物理アドレスPAの範囲(図8では、X番地からY番地まで)が指定される。当該採取要求に応じ、メモリダンプ採取部132cは、当該範囲の主記憶装置103の領域(すなわち、メモリ130a)の内容のスナップショットをディスク120cにコピーし、メモリダンプとして保存する(S107−1、S107−2)。すなわち、サービスドメイン12aにおける仮想アドレスVAではなく、物理アドレスPAによってメモリダンプの範囲が指定されるため、メモリダンプ採取部132cは、他のドメインのメモリ領域であっても、主記憶装置103においてメモリダンプとして保存する範囲を特定することができる。
図5に戻る。ステップS107で保存されるメモリダンプは、ゲストドメイン12bにおいてパニックが発生した時のメモリ130aの状態を示すものである。すなわち、アドレス変換バッファ14aが無効化されることにより、サービスドメイン12aは、それまでアクセス可能であったメモリ130aに対してアクセスできなくなる(S108)。CPU104aは、OS13aによって指定される仮想アドレスVAから物理アドレスPAへの変換に失敗するからである。したがって、メモリ130aの内容は、更新されずに保護される。その結果、ゲストドメイン12bにおいてパニックが発生した時のメモリ130aの状態を示すメモリダンプが採取される。
CPU104aは、アドレス変換に失敗すると、当該アドレス変換の失敗を示すトラップを生成し、当該トラップをハイパーバイザ11に通知する。ハイパーバイザ11のトラップ処理部115は、当該トラップを検知する(S109)。
図9は、アドレス変換バッファの無効化に応じたトラップの発生の一例を説明するための図である。図9中、図5に対応する処理には、図5と同一のステップ番号が付与されている。
図9に示されるように、ハイパーバイザ11のアドレス変換バッファ処理部113は、ドメイン関係判定部111から送信されたサービスドメイン12aのドメイン番号に基づいて、サービスドメイン12aのCPU104aのアドレス変換バッファ14aをクリアする(S105)。アドレス変換バッファ14aのクリア(無効化)により、サービスドメイン12のCPU104aは、メモリ130aのデータにアクセスしようとしても、アドレス変換に失敗してしまう(S108)。そこで、CPU104aは、アドレス変換失敗を示すトラップを生成する。ハイパーバイザ11のトラップ処理部115は、当該トラップを検知する(S109)。
図5に戻る。トラップ処理部115は、トラップの通知元がCPU104aであることに基づいて、アドレス変換に失敗したドメイン12は、サービスドメイン12aであることを特定する。すなわち、ハイパーバイザ11は、各CPU104と、各ドメイン12との対応を知っている。また、トラップには、アドレス変換に失敗したアドレス(VA又はRA)が含まれている。トラップ処理部115は、アドレス変換表117を参照して、当該アドレスを物理アドレスPAに変換し、変換後の物理アドレスPAをメモリ管理部116に通知する。メモリ管理部116は、主記憶装置103において当該物理アドレスPAに位置するデータ(例えば、当該物理アドレスPAが含まれるページ)を、メモリプール130pにおける空き領域にコピーする(S110)。すなわち、サービスドメイン12aにおいてアクセスされようとしていたデータが、メモリプール130pにコピーされる。
なお、トラップに含まれているアドレスがVAであるかRAであるかは、アドレス変換バッファ14の構成によって異なる。また、トラップ処理部115による、物理アドレスPAへの変換方法は、トラップに含まれているアドレスがVAであるかRAであるかによって異なる。アドレス変換バッファ14の構成及びトラップに含まれているアドレスの物理アドレスPAへの変換の詳細については後述される。
続いて、ハイパーバイザ11のアドレス変換バッファ処理部113は、アクセス対象のアドレス(VA又はRA)と、コピー先の物理アドレスPAとのマッピング情報をアドレス変換バッファ14aに再設定する(S111)。すなわち、アクセス対象に対応する物理アドレスPAが、メモリプール130pにおけるコピー先とされる。続いて、アドレス変換バッファ処理部113は、サービスドメイン12aのCPU104aに、アドレス変換バッファ14aの再設定の完了を通知し、メモリアクセスの再実行を指示する(S112)。
サービスドメイン12aは、トラップ生成後、ステップS112における通知を受信するまで、アクセスに失敗したデータに関するメモリアクセスを待機している(S113)。ハイパーバイザ11からのアドレス変換バッファ14aの再設定の完了の通知に応じ、サービスドメイン12aはメモリ130aへのアクセスを再開する(S114)。この際、アクセスに失敗したデータに対応する物理アドレスPAは、アドレス変換バッファ14aに記録されている。したがって、当該データに関するアドレス変換は成功する。
図10は、アドレス変換バッファの再設定処理の一例を説明するための図である。図10中、図5に対応する処理には、図5と同一のステップ番号が付与されている。
ハイパーバイザ11のトラップ処理部115は、検知されたトラップに含まれているアドレス(VA又はRA)を、アドレス変換表117を参照して物理アドレスPAに変換する(S110−1)。続いて、トラップ処理部115は、変換後の物理アドレスPAをメモリ管理部116に通知する(S110−2)。当該物理アドレスPAは、N番地であるとする。メモリ管理部116は、メモリ130aのN番地に係るデータを、メモリプール130pの空き領域(図10では、M番地)にコピーする(S110−3)。続いて、アドレス変換バッファ処理部113は、コピー先のM番地と、アクセスに失敗したアドレス(VA又はRA)とのマッピング情報をアドレス変換バッファ14aに再設定する(S111)。アドレス変換バッファ14aの再設定の完了後、アドレス変換バッファ処理部113は、アドレス変換バッファ14の再設定の完了通知をサービスドメイン12のCPU104aに送信する(S112)。当該通知に応じ、CPU104aは、メモリアクセスを再試行する。すなわち、CPU104aは、メモリプール130p内のM番地へのアクセスに成功する。このように、CPU104aは、メモリ130a内のN番地ではなく、メモリプール130p内のM番地にアクセスすることになる。その結果、サービスドメイン12aは、メモリ130aの内容を更新せずに処理を継続することができる。すなわち、サービスドメイン12aは、メモリプール130pにコピーされたデータに対して読み書きを行うことにより、処理を継続することができる。
図5に戻る。ステップS114の後、サービスドメイン12aにおけるメモリアクセスに関して、メモリプール130pにコピーされ、マッピング情報がアドレス変換バッファ14aに設定されたアドレスに対するアクセスは成功し(S115)、そうでないアドレスについては、アドレス変換に失敗する(S116)。アドレス変換に失敗した場合、改めてトラップが生成され、ステップS109以降が繰り返される。したがって、サービスドメイン12aによる処理は、完全に停止することなく継続することができる。すなわち、サービスドメイン12aは、サービスの提供を継続することができる。
一方、ゲストドメイン12cのメモリダンプ採取部132cは、サービスドメイン12aのメモリ130aのメモリダンプの採取(ディスク120cへの保存)が終了すると、メモリダンプの採取の完了通知をハイパーバイザ11に送信する(S117)。
ハイパーバイザ11のメモリ管理部116は、当該完了通知の受信後は、メモリプール130pへのデータのコピーは行わない。具体的には、当該完了通知の受信後に、サービスドメイン12aにおいてアドレス変換失敗のトラップが発生した場合、メモリ管理部116は、アクセス対象とされたデータのメモリ130aにおける物理アドレスPAを、アドレス変換バッファ処理部113に通知する。アドレス変換バッファ処理部113は、当該物理アドレスPAと、アクセス対象とされたデータのアドレス(VA又はRA)とのマッピング情報を、アドレス変換バッファ14aに設定する。したがって、この場合、メモリ130a内のデータがアクセスされることになる。メモリ130aのメモリダンプの採取は完了しているため、メモリ130aが更新されたとしても、メモリダンプへの影響は無い。
なお、ゲストドメイン12cによるメモリダンプの採取処理と、ステップS108以降とは並列的に実行される。
続いて、トラップの検知に応じてハイパーバイザ11が実行する処理を、より一般化して説明する。
図11は、トラップの検知に応じてハイパーバイザが実行する処理手順の一例を説明するためのフローチャートである。
ハイパーバイザ11のトラップ処理部115は、トラップを検知すると(S201)、トラップの種別を判定する(S202)。トラップの種別は、トラップに含まれている情報に基づいて判定可能である。当該トラップの種別が、アドレス変換失敗以外のトラップである場合(S203でNo)、トラップ処理部115は、当該トラップの種別に対応した処理を実行する(S204)。
一方、当該当トラップの種別が、アドレス変換失敗である場合(S203でYes)、トラップ処理部115は、当該トラップに含まれている情報に基づいて、トラップを生成したCPU104の番号を判定し、当該CPU104に対応するドメイン12を特定する(S205)。
当該ドメイン12が、サービスドメインでない場合、又は当該CPU104のアドレス変換バッファ14がクリア(無効化)されていない場合(S206でNo)、アドレス変換失敗トラップに対する一般対応処理が行われる(S207)。当該一般対応処理の詳細については、後述される。
一方、当該ドメイン12が、サービスドメインであり、かつ、当該ドメイン12のCPU104のアドレス変換バッファ14がクリア(無効化)されている場合(S206でYes)、トラップ処理部115は、当該トラップに含まれるアドレス(VA又はRA)に対応するアドレス(PA)(ここでは、N番地とする。)を特定する。トラップ処理部115は、特定された物理アドレスPAを、ハイパーバイザ11のメモリ管理部116に通知する(S208)。
当該ドメイン12が、他のドメイン12のサービスドメインであるか否かは、ドメイン関係情報記憶部112を参照して判定可能である。すなわち、当該ドメイン12のドメイン番号が、サービスドメインとしてドメイン関係情報記憶部112に記憶されていれば、当該ドメイン12は、サービスドメインである。また、当該トラップに含まれるアドレスに対応するアドレス(PA)は、アドレス変換表117を参照して計算される。
続いて、メモリ管理部116は、通知されたN番地が属するドメインを判定する(S209)。なお、ハイパーバイザ11(メモリ管理部116)は、各ドメイン12のメモリ130又はメモリプール130pの物理アドレスの範囲を知っている。したがって、メモリ管理部116は、N番地が、いずれのドメイン12のメモリ130内であるか、又はメモリプール130p内であるかを判定することができる。
N番地がメモリプール130p内である場合(S210でYes)、ステップS207(アドレス変換失敗トラップに対する一般対応処理)が実行される。
N番地がメモリプール130p外である場合(S210でNo)、メモリ管理部116は、N番地のデータを、メモリプール130pの空き領域(ここでは、M番地とする。)にコピーし、コピー先のM番地をアドレス変換バッファ処理部113に通知する(S211)。アドレス変換バッファ処理部113は、通知されたM番地と、CPU104aがアクセスに失敗したアドレスとのマッピング情報をアドレス変換バッファ14に再設定する(S212)。続いて、アドレス変換バッファ処理部113は、アドレス変換バッファ14の再設定の完了をサービスドメイン12aに通知する(S213)。
続いて、アドレス変換バッファ14の具体的な構成例について説明する。図12は、アドレス変換バッファの第一の構成例を示す図である。
図12において、アドレス変換バッファ14は、仮想・物理アドレス変換バッファ141(以下、「TLB141」という。)及び中間・物理アドレス変換バッファ142(以下、「RR142」という。)を含む。TLB(Translation Lookaside Buffer)141は、仮想アドレスVAと物理アドレスPAとのマッピング情報を保持する。RR(Range Register)142は、ドメイン12上のOS13にとっての物理アドレスに相当する中間アドレスRAと物理アドレスPAとのマッピング情報を保持する。
アドレス変換バッファ14が、図12に示される構成を有する場合、仮想アドレスVAから物理アドレスPAへの変換は、図13に示されるような手順で実行される。
図13は、TLB及びRRを用いたアドレス変換の手順の一例を説明するための図である。
CPU104は、まず、アクセス対象の仮想アドレスVAに関して、TLB141を探索する(S301)。TLB141によって、仮想アドレスVAから物理アドレスPAへの変換が成功すると(S302でYes)、CPU104は、変換後の物理アドレスPAに対してアクセスする。
一方、TLB141による仮想アドレスVAから物理アドレスPAへの変換に失敗すると(S302でNo)、CPU104は、トラップを生成し、当該トラップをOS13に通知する。当該トラップには、仮想アドレスVAが指定されている。OSは、当該トラップに応じ、当該トラップに指定されている仮想アドレスVAに関して、TSB133を探索する(S304)。TSB133によって、仮想アドレスVAは、中間アドレスRAへ変換される。なお、本実施の形態において、TSB133は、クリア(無効化)の対象ではないため、TSB133による変換は成功する。OS13は、変換後の中間アドレスにアクセスを行う。当該アクセスに応じ、CPU104は、変換後の中間アドレスに関して、RR142を探索する(S305)。RR142による中間アドレスRAから物理アドレスPAへの変換が成功すると(S306でYes)、CPU104は、変換後の物理アドレスPAにアクセスする。
一方、TSB133による変換又はRR142による変換に失敗すると(S305でNo、又はS306でNo)、CPU104は、アドレス変換失敗のトラップを生成する。(S307)。
したがって、アドレス変換バッファ14が、TLB141及びRR142を含む場合、図5又は図9のステップS105において、アドレス変換バッファ14のクリア(無効化)は、TLB141及びRR142の双方に関して行われる。すなわち、ハイパーバイザ11のアドレス変換バッファ処理部113は、TLB141をクリアする。また、アドレス変換バッファ処理部113は、RR142をクリアする。
そうすることにより、仮想アドレスVAから物理アドレスPAの変換は失敗し、図13のステップS307においてトラップが生成されることになる。
当該トラップには、中間アドレスRAが含まれる。したがって、この場合、図10のステップS110−1において、トラップ処理部115は、当該中間アドレスRAに関して、アドレス変換表117を探索することにより、物理アドレスPAを取得することができる。アドレス変換表117は、中間アドレスRAと物理アドレスPAとのマッピング情報を記憶するからである。
また、図5又は図10のステップS111における、アドレス変換バッファ14の再設定処理において、アドレス変換バッファ処理部113は、当該中間アドレスRAに対して、コピー先の物理アドレスPAを、RR142aに設定する。ここで、TLB141aに対する設定は行われなくてもよい。図13のステップS302でNoであっても、ステップS306でYesとなり、アドレス変換に成功するからである。
更に、アドレス変換バッファ14が、図12に示される構成を有する場合、図11のステップS208において、トラップ処理部115は、トラップから中間アドレスRAを抽出する。トラップ処理部115は、当該中間アドレスRAに対応する物理アドレスPAをアドレス変換表117より取得する。トラップ処理部115は、当該中間アドレスRA及び当該物理アドレスPAのマッピング情報をRR142に設定する。その結果、CPU104は、当該物理アドレスPAにアクセス可能となる。
次に、アドレス変換バッファ14の第二の構成例について説明する。図14は、アドレス変換バッファの第二の構成例を示す図である。図14中、図12と同一部分には同一符号を付し、その説明は省略する。第二の構成例において、アドレス変換バッファ14は、RR142を含まない。
アドレス変換バッファ14が、図14に示される構成を有する場合、仮想アドレスVAから物理アドレスPAへの変換は、図15に示されるような手順で実行される。
図15は、TLBを用いたアドレス変換の手順の一例を説明するための図である。図15中、図13と同一ステップには同一ステップ番号を付し、その説明は、適宜省略する。
図15に示されるように、アドレス変換バッファ14が、図14に示される構成を有する場合、TLB141によって、仮想アドレスVAから物理アドレスPAへの変換に失敗すると(S302でNo)、CPU104は、アドレス変換失敗のトラップを生成する。(S307)。
したがって、アドレス変換バッファ14が、図14に示される構成を有する場合、アドレス変換バッファ14のクリア(無効化)は、TLB141に関して行われればよい。そうすることにより、仮想アドレスVAから物理アドレスPAへの変換は失敗し、図15のステップS307においてトラップが生成されることになる。
当該トラップには、仮想アドレスVAが含まれる。したがって、この場合、図10のステップS110−1において、トラップ処理部115は、まず、サービスドメイン12aのTSB133aを参照して、当該仮想アドレスVAを中間アドレスRAに変換する。その後、トラップ処理部115は、当該中間アドレスRAに関して、アドレス変換表117を探索することにより、物理アドレスPAを取得する。
また、図5又は図10のステップS111における、アドレス変換バッファ14の再設定処理において、アドレス変換バッファ処理部113は、当該仮想アドレスVAに対して、コピー先の物理アドレスPAを、TLB141aに設定する。
更に、アドレス変換バッファ14が、図14に示される構成を有する場合、図11のステップS208において、トラップ処理部115は、トラップから仮想アドレスVAを抽出する。トラップ処理部115は、当該仮想アドレスVAに対応する中間アドレスRAを、トラップの生成元のドメイン12のTSB133より取得する。続いて、トラップ処理部115は、当該中間アドレスRAに対応する物理アドレスPAをアドレス変換表117より取得する。トラップ処理部115は、当該仮想アドレスVA及び当該物理アドレスPAのマッピング情報をTLB141に設定する。その結果、CPU104は、当該物理アドレスPAにアクセス可能となる。
上述したように、本実施の形態によれば、或るドメイン12におけるパニックの発生に応じて、当該ドメイン12に対するサービスドメイン12のアドレス変換バッファ14が無効化される。したがって、サービスドメイン12のメモリ130へのアクセスが抑止され、当該メモリ130が更新されない状態が維持される。そのような状況において、当該メモリ130に関するメモリダンプが採取される。その結果、サービスドメイン12のメモリ130に関して、パニック発生時のスナップショットをメモリダンプとして採取することができる。すなわち、パニックの原因調査に有効なメモリダンプを採取できる可能性を高めることができる。
また、サービスドメイン12においてメモリアクセスが発生した場合は、アクセス対象のデータが、いずれのドメイン12にも割り当てられていないメモリプール130pにコピーされる。コピー先の物理アドレスPAは、サービスドメイン12のアドレス変換バッファ14に設定される。その結果、サービスドメイン12は、アクセス対象のデータにアクセスすることができ、処理を継続することができる。すなわち、サービスドメイン12によるサービスの提供を停止することなく、サービスドメイン12のメモリ130に関するメモリダンプを採取することができる。
なお、本実施の形態は、サービスドメイン12が複数である場合においても有効である。すなわち、複数のそれぞれのサービスドメイン12に対して、本実施の形態において説明した処理が実行されればよい。この場合、各サービスドメイン12のメモリダンプを採取するドメイン12は、一つでもよいし、複数でもよい。また、パニックが発生したドメイン12以外でメモリダンプの採取対象とされるドメイン12は、サービスドメイン12に限定されなくてもよい。
なお、本実施の形態において、アドレス変換バッファ14は、対応情報記憶部の一例である。アドレス変換バッファ処理部113は、対応情報処理部の一例である。メモリダンプ採取部132は、保存部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 情報処理装置
11 ハイパーバイザ
12 ドメイン
13a、13b、13c OS
14 アドレス変換バッファ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 主記憶装置
104、104a、104b、104c CPU
105 インタフェース装置
111 ドメイン関係判定部
112 ドメイン関係情報記憶部
113 アドレス変換バッファ処理部
114 ダンプ採取要求部
115 トラップ処理部
116 メモリ管理部
117 アドレス変換表
120a、120b、120c ディスク
130a、130b、130c メモリ
130p メモリプール
131 パニック通知部
132 メモリダンプ採取部
133 仮想・中間アドレス変換バッファ(TSB)
141 仮想・物理アドレス変換バッファ(TLB)
142 中間・物理アドレス変換バッファ(RR)
B バス

Claims (9)

  1. 複数の仮想マシンが動作する情報処理装置であって、
    第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、
    前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する情報処理装置。
  2. 前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーするメモリ管理部を有し、
    前記対応情報処理部は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項1記載の情報処理装置。
  3. 前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項1又は2記載の情報処理装置。
  4. 複数の仮想マシンが動作する情報処理装置が実行するメモリダンプ採取方法であって、
    第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
    前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行するメモリダンプ採取方法。
  5. 前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーする処理を前記情報処理装置が実行し、
    前記無効化する処理は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項4記載のメモリダンプ採取方法。
  6. 前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項4又は5記載のメモリダンプ採取方法。
  7. 複数の仮想マシンが動作する情報処理装置に、
    第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
    前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行させるプログラム。
  8. 前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーする処理を前記情報処理装置に実行させ、
    前記無効化する処理は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項7記載のプログラム。
  9. 前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項7又は8記載のプログラム。
JP2013530921A 2011-08-29 2011-08-29 情報処理装置、メモリダンプ採取方法、及びプログラム Active JP5772962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013530921A JP5772962B2 (ja) 2011-08-29 2011-08-29 情報処理装置、メモリダンプ採取方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013530921A JP5772962B2 (ja) 2011-08-29 2011-08-29 情報処理装置、メモリダンプ採取方法、及びプログラム
PCT/JP2011/069500 WO2013030939A1 (ja) 2011-08-29 2011-08-29 情報処理装置、メモリダンプ採取方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2013030939A1 true JPWO2013030939A1 (ja) 2015-03-23
JP5772962B2 JP5772962B2 (ja) 2015-09-02

Family

ID=47755492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013530921A Active JP5772962B2 (ja) 2011-08-29 2011-08-29 情報処理装置、メモリダンプ採取方法、及びプログラム

Country Status (3)

Country Link
US (1) US20140181359A1 (ja)
JP (1) JP5772962B2 (ja)
WO (1) WO2013030939A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6099458B2 (ja) * 2013-03-29 2017-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード
US10387668B2 (en) * 2014-07-08 2019-08-20 International Business Machines Corporation Data protected process cores
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9584517B1 (en) 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US9442752B1 (en) * 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US9940287B2 (en) * 2015-03-27 2018-04-10 Intel Corporation Pooled memory address translation
US9727242B2 (en) 2015-06-10 2017-08-08 International Business Machines Corporation Selective memory dump using usertokens
JP6610094B2 (ja) * 2015-08-28 2019-11-27 富士ゼロックス株式会社 仮想計算機システム及び仮想計算機プログラム
US10216562B2 (en) * 2016-02-23 2019-02-26 International Business Machines Corporation Generating diagnostic data
US10929232B2 (en) 2017-05-31 2021-02-23 Intel Corporation Delayed error processing
GB2580968B (en) * 2019-02-01 2021-08-04 Advanced Risc Mach Ltd Lookup circuitry for secure and non-secure storage
US11269708B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
US11269707B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331351A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム、及びその障害回復方法並びにダンプ取得方法
JP2005122334A (ja) * 2003-10-15 2005-05-12 Hitachi Ltd メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP2007133544A (ja) * 2005-11-09 2007-05-31 Hitachi Ltd 障害情報解析方法及びその実施装置
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2383832A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee System and method for intelligent trap analysis
JP2006039763A (ja) * 2004-07-23 2006-02-09 Toshiba Corp ゲストosデバッグ支援方法及び仮想計算機マネージャ
US8817029B2 (en) * 2005-10-26 2014-08-26 Via Technologies, Inc. GPU pipeline synchronization and control system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331351A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム、及びその障害回復方法並びにダンプ取得方法
JP2005122334A (ja) * 2003-10-15 2005-05-12 Hitachi Ltd メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP2007133544A (ja) * 2005-11-09 2007-05-31 Hitachi Ltd 障害情報解析方法及びその実施装置
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム

Also Published As

Publication number Publication date
WO2013030939A1 (ja) 2013-03-07
US20140181359A1 (en) 2014-06-26
JP5772962B2 (ja) 2015-09-02

Similar Documents

Publication Publication Date Title
JP5772962B2 (ja) 情報処理装置、メモリダンプ採取方法、及びプログラム
US20210263829A1 (en) Virtualization of a central processing unit measurement facility
US8549241B2 (en) Method and system for frequent checkpointing
US9489265B2 (en) Method and system for frequent checkpointing
US8533382B2 (en) Method and system for frequent checkpointing
JP4783392B2 (ja) 情報処理装置および障害回復方法
US9575899B2 (en) Synchronizing a translation lookaside buffer with page tables
JP5717847B2 (ja) コンピューティング環境のイベントを管理する方法、これを実行するためのコンピュータ・プログラム、およびコンピュータ・システム
JP5764206B2 (ja) 処理を逐次化するための診断命令を実行する方法、システム及びプログラム
Fu et al. Exterior: Using a dual-vm based external shell for guest-os introspection, configuration, and recovery
Liu et al. Concurrent and consistent virtual machine introspection with hardware transactional memory
JP5484117B2 (ja) ハイパーバイザ及びサーバ装置
US20140006734A1 (en) Method of cloning data in a memory for a virtual machine, product of computer programs and computer system therewith
US20140164710A1 (en) Virtual machines failover
JP2001022713A (ja) メモリ・アクセス割込みを介して生成されるプロセッサ・リセット
Tao et al. Formal verification of a multiprocessor hypervisor on arm relaxed memory hardware
US9146818B2 (en) Memory degeneracy method and information processing device
Lu et al. HSG-LM: hybrid-copy speculative guest OS live migration without hypervisor
US10061918B2 (en) System, apparatus and method for filtering memory access logging in a processor
WO2015101148A1 (zh) 一种实现虚拟机自省的方法和装置
US9904567B2 (en) Limited hardware assisted dirty page logging
US10795708B1 (en) Transparent disk caching for virtual machines and applications
Egger et al. Efficient checkpointing of live virtual machines
JPWO2015122007A1 (ja) 計算機、及び、ハイパバイザによる資源スケジューリング方法
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5772962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150