"メモリと、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、前記メモリをアクセスする複数のプロセッサと、前記複数のプロセッサ各々における利用可能なキャッシュメモリの容量を判定する判定部と、前記判定部の判定結果、利用可能なキャッシュメモリの容量が最も小さいプロセッサを選択する選択部と、前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサには、その他のソフトウエアの処理を実行させる処理部と、を有することを特徴とする情報処理装置。前記メモリの領域を前記各プロセッサに割り当てるメモリ割り当て部を有し、前記選択部は、前記各プロセッサのうち、前記メモリ割り当て部によって割り当てられたメモリの容量が一番小さいプロセッサを選択することを特徴とする請求項1に記載の情報処理装置。前記格納部は、仮想マシンを実現するための仮想マシンプログラムを格納しており、前記処理部は、前記選択部により選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させる事を特徴とする請求項1又は2に記載の情報処理装置。メモリと、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、前記メモリをアクセスする複数のプロセッサと、前記複数のプロセッサにおける処理能力を判定する判定部と、前記判定部の判定結果、一番処理能力が低いプロセッサを選択する選択部と、前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外の前記プロセッサには、その他のソフトウエアの処理を実行させる処理部と、を有することを特徴とする情報処理装置。前記複数のプロセッサは、各々、キャッシュメモリを有し、前記判定部は、前記各プロセッサのうち、前記キャッシュメモリの利用可能範囲が一番小さいプロセッサを選択することを特徴とする請求項4に記載の情報処理装置。前記判定部は、前記各プロセッサのうち、対応するメモリの容量が一番小さいプロセッサを選択することを特徴とする請求項4に記載の情報処理装置。前記格納部は、仮想マシンを実現するための仮想マシンプログラムを格納しており、前記処理部は、前記選択部により選択されなかったプロセッサの各々に、1以上の仮想マシンプログラムを実行させる事を特徴とする請求項4乃至6の何れか一項に記載の情報処理装置。メモリ、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部、及び、前記メモリをアクセスする複数のプロセッサ、前記メモリに書き込まれているデータを一時的に格納するキャッシュを有する情報処理装置の処理方法であって、前記複数のプロセッサ各々における利用可能なキャッシュの容量を判定し、前記判定の結果、利用可能なキャッシュの容量が最も小さいプロセッサを選択し、選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサにはその他のソフトウエアの処理を実行させることを特徴とする情報処理装置の処理方法。前記メモリの領域を前記各プロセッサに割り当てるメモリ割り当て部を有し、前記各プロセッサのうち、前記メモリ割り当て部によって割り当てられたメモリ全域の容量が一番小さいプロセッサを選択することを特徴とする請求項8に記載の情報処理装置の処理方法。仮想マシンを実現するための仮想マシンプログラムを格納しており、選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させることを特徴とする請求項8又は9に記載の情報処理装置の処理方法。メモリ、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部、及び、前記メモリをアクセスする複数のプロセッサを有する情報処理装置の処理方法であって、前記複数のプロセッサにおける処理能力を判定し、前記判定の結果、一番処理能力が低い前記プロセッサを選択し、選択された前記プロセッサに、前記メモリダンププログラムを実行させ、それ以外の前記プロセッサには、その他のソフトウエアの処理を実行させることを特徴とする情報処理装置の処理方法。前記複数のプロセッサは、各々、キャッシュメモリを有し、前記各プロセッサのうち、前記キャッシュメモリの利用可能範囲が一番小さいプロセッサを選択することを特徴とする請求項11に記載の情報処理装置の処理方法。前記メモリの領域を、前記各プロセッサに割り当てるメモリ割り当て部を有し、前記各プロセッサのうち、対応するメモリの容量が一番小さいプロセッサを選択することを特徴とする請求項11に記載の情報処理装置の処理方法。仮想マシンを実現するための仮想マシンプログラムを格納しており、選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させることを特徴とする請求項11乃至13の何れか一項に記載の情報処理装置の処理方法。しかしながら、仮想マシンを実行する情報処理装置に於いては、仮想マシンの処理が、基盤となるOSと連動していない事から、基盤となるOSの割込みで、仮想マシン内で停止できない処理を停止させてしまう事を防止する為に、基盤となるOSの割込みを受け付けないようにしているものがある。即ち、仮想マシンを実行する情報処理装置で障害が発生した場合、メモリダンプ採取プログラムの割込みができなくなり、その結果、メモリダンプが取得できないという問題があった。開示の技術は、仮想マシンを実行するOSに障害が発生した場合においても、メモリダンプを取得することができる情報処理装置及び情報処理装置の処理方法を提供することを目的とする。本発明の課題を解決するため、開示の技術の第1の側面によれば、メモリと、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、前記メモリをアクセスする複数のプロセッサと、前記複数のプロセッサ各々における利用可能なキャッシュメモリの容量を判定する判定部と、前記判定部の判定結果、利用可能なキャッシュメモリの容量が最も小さいプロセッサを選択する選択部と、前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサには、その他のソフトウエアの処理を実行させる処理部と、を有することを特徴とする情報処理装置が提供される。開示の技術によれば、専用のプロセッサがOSと独立して、メモリダンプ処理を行なうことができる。そのため、OSに割り込み処理が効かない仮想マシンを実行している情報処理装置に於いても、メモリダンプを実行することができる。更に、キャッシュメモリを有する複数のプロセッサを備え、利用可能なキャッシュメモリが一番小さいCPUをメモリダンプ用として選択する。他のプロセッサには通常処理を行わせることにより、メモリダンプを行う際の処理能力の低減を抑制できる。以下、開示の技術について、図面を用いて詳細に説明する。図1は、本実施の形態における情報処理装置1000の構成の一例を示す図である。図1に示すように、情報処理装置1000は、ノード10~13、ハードディスク400、NVRAMNon-VolatileRandomAccessMemory500及び通信インタフェース700を有する。ノード10は、CPUCentralProcessingUnit100A、メインメモリ200A及びキャッシュメモリ300Aを有する。ノード11は、CPU100B、メインメモリ200B及びキャッシュメモリ300Bを有する。ノード12は、CPU100C、メインメモリ200C及びキャッシュメモリ300Cを有する。ノード13は、CPU100D、メインメモリ200D及びキャッシュメモリ300Dを有する。ノード10~13は、バス800によって互いに接続されている。情報処理装置1000は、NUMANon-UniformMemoryAccessが採用されている。なお、ノード10~13は同一の構造を備える。以下、ノード10について説明し、ノード11~13においてノード10で説明した構成と同様の構成には同一符号を付し、説明を省略する。CPU100Aは、バス800を介してキャッシュメモリ300Aと接続されている。CPU100Aは、ノード10の各種処理を実行する。メインメモリ200Aは、バス800を介して、キャッシュメモリ300Aと接続されている。メインメモリ200Aは、CPU100Aが実行するOSOperatingSystemのプログラム、ノード10を制御するプログラム201Aの少なくとも一部を格納する。また、メインメモリ200Aは、CPU100Aにおける処理に必要な各種データを格納する。キャッシュメモリ300Aは、例えばCPU100Aとメインメモリ200AとのREAD/WRITEI/O処理以下、単にアクセスというを高速にする目的で設けられている。キャッシュメモリ300Aは、CPU100Aのアクセスに応じてメインメモリ200Aに書き込むデータの一部を記憶する。キャッシュメモリ300Aは、CPU100Aのアクセスに応じてメインメモリ200Aから読み出したデータの一部を記憶する。キャッシュメモリ300Aにデータの一部を記憶しておくことで、CPU100Aは、メインメモリ200Aにアクセスすることなくデータをキャッシュメモリ300Aから読み出すことができる。なお、図1において、キャッシュメモリ100Aは、CPU100Aと物理的に異なるキャッシュメモリとして図示されている。しかし、キャッシュメモリ300Aは、CPU100Aに内蔵される構成にしてもよい。ハードディスク400は、バス800を介して、ノード10~13、NVRAM500及び通信インタフェース700と接続する。ハードディスク400は、OSローダ410、OSイメージ420及びダンプディスク430を格納する。OSローダ410は、ハードディスク400に格納されているOSをメインメモリ200A~200Dに読み込ませるためのプログラムである。OSイメージ420は、メインメモリ200A~200Dのファイルの内容と構造が、それぞれ1つのファイルに格納されたデータである。ダンプディスク430には、CPU100A~100Dが実行するOS240に動作を継続できないほど深刻な障害が発生した場合に、メインメモリ200A~200D、及び、キャッシュメモリ300A~300Dが記憶しているデータの内容が格納される。ダンプディスク430には、OS240の障害発生時に、CPU100A~100Dのコンテキスト情報を含むデータが格納される。メインメモリ200A~200D、及び、キャッシュメモリ300A~300Dが格納しているデータ内容は、障害調査のための資料として使用される。CPU100A~100Dのコンテキスト情報は、動作していた全てのCPU100A~100Dの実行状態を回復するために使用される。ダンプディスク430に保存されたデータは、一般的にメモリダンプと呼ばれる。NVRAM500は、バス800を介して、ノード10~13、ハードディスク400及び通信インタフェース700と接続されている。NVRAM500は、ROMReadOnlyMemoryファームウエア501を格納する。ROMファームウエア501は、NVRAM500の所定のアドレスから読み出されたブートファームウエアをメインメモリ200A~200Dに格納する。ROMファームウエア501は、図2に後述するブートファームウエア210をメインメモリ200A~200D上に実行可能なブートファームウエア210として展開する。通信インタフェース700は、情報処理装置1000がネットワーク900を介してシステム監視装置2000と接続するために設けられる。通信インタフェース700は、ノード10~13、及びシステム監視装置2000間のデータの送受信を行うインタフェースの機能を提供する。システム監視装置2000は、ネットワーク900を介して情報処理装置1000の通信インタフェース700と接続されている。システム監視装置2000は、情報処理装置1000の電源のON又はOFFを遠隔操作によって行う。システム監視装置2000は、情報処理装置1000のノード10~13のパーティションの設定及び解除を行う。システム監視装置2000は、ノード10~13の装置情報の表示を行う。システム監視装置2000は、ノード10~13の故障箇所の指摘を行う。システム監視装置2000は、ノード10~13が有するキャッシュメモリ300A~300Dの縮退処理を、CPU100A~100Dを使用して実行する。なお、SBSPSystemBootstrapProcessorとして動作するCPU100Aは、メインメモリ200A~200Dの領域を、CPU100A~100Dにそれぞれ割り当てるメモリ割り当て部として動作する。SBSPは、情報処理装置1000の起動時のメイン処理を実行するCPUであり、複数のCPU100A~100Dの中の1つがSBSPとして選択される。又、CPU100A~100Dは、キャッシュメモリ300A~300Dの障害の状態に応じて、キャッシュメモリ300A~300Dの利用可能範囲を制限して使用する縮退機能を有する。図2は、本実施の形態における情報処理装置1000におけるノード10のメインメモリ200Aの構成を示す図である。メインメモリ200Aは、ブートファームウエア210、SMISystemManagementInterruptハンドラ220、OSローダ230及びOS240を格納する。なお、ノード10のメインメモリ200Aは、ノード11のメインメモリ200B、ノード12のメインメモリ200C及びノード13のメインメモリ200Dと同じ構成を有する。図2において、図1で説明した構成と同様の構成には同一の符号を付し、説明を省略する。ブートファームウエア210は、ノード10~13が有するメインメモリ200A~200Dの実装状態を認識する。ブートファームウエア210は、OSローダ230及びOS240をメインメモリ200A~200Dの実装環境下で動作させる。SMIハンドラ220は、システム管理割込みSystemManagementInterrupt、以下SMIという割込みの一種により、CPU100A~100Dの動作モードの一つであるシステム管理モードSystemManagementMode、以下SMMに移行する機能を備える。SMMとは、Intel社のx86アーキテクチャに導入されているCPU100A~100Dの動作モードのうちの一つである。CPU100A~100Dは、SMIを受信するとSMMに移行する。SMMに移行したCPU100A~100Dは、SMIを実行する。SMIは、他の動作モードからはアクセスできないメインメモリ200A~200Dのメモリ空間内の独立したアドレス空間内で、SMIを処理するプログラムである。CPU100A~100Dは、SMIの処理が完了すると、SMM移行前のモードに戻る。OSローダ230は、ハードディスク400に格納されているOSをメインメモリ200A~200Dに読み込ませるためのプログラムである。OS240は、CPU100Aが実行するプログラムである。OS240は、複数の種類が含まれる。OS240は、OS240上で物理マシンをエミュレートした複数の仮想マシンが動作する仮想マシンプログラムを含む。OS240の障害発生時、OS240とは異なるメモリダンプ採取プログラムを起動させるためのSMIが行われる。しかしながら、仮想マシンを実行させるOS240に障害が検出された場合、OS240がメモリダンプ採取プログラムを起動させる為の割込みを行うと、仮想マシン内で中断されてはいけない処理が中断される事態が発生する。仮想マシン内の処理は、基盤となっているOS240と連動していないためである。このような事態を回避するために、仮想マシンには、INITによって、OS240上で動作する仮想マシンの処理が中断されるのを防ぐためのプロテクトが掛けられている。図6に後述するダンプ専用CPU切離し部211Bは、選択されたダンプ専用CPUを、通常運用系CPUから切り離し、OS240に使用させない処理を行う。ダンプ専用CPU切離し部211Bによって、ダンプ専用CPUとして動作するCPU100DがOS240と独立して、メモリダンプ処理を行なうことができる。そのため、OS240に割り込み処理が効かない仮想マシンを実行している情報処理装置1000に於いても、メモリダンプを実行することができる。図3は、本実施の形態における情報処理装置1000におけるノード10のブートファームウエア210の構成を示す図である。ブートファームウエア210は、ダンププログラム制御部211及びメモリダンププログラム210Bを有する。なお、ノード10のブートファームウエア210は、ノード11~13のブートファームウエアと同じ構成を有する。図3において、図1及び図2で説明した構成と同様の構成には同一の符号を付し、説明を省略する。ダンププログラム制御部211は、ダンプ専用CPU選択部211A及びダンプ専用CPU切離し部211Bを有する。ダンプ専用CPU選択部211Aは、情報処理装置1000の起動時にダンプ専用CPUを選択し、ダンプ専用CPUの制御を行う。ダンプ専用CPU切離し部211Bは、ACPIAdvancedConfigurationandPowerInterfaceテーブル作成部211B1及びダンプ専用ループ実行部211B2を有する。ACPIテーブル作成部211B1は、ACPIテーブルを作成する。ACPIテーブルは、ノード10~13に含まれるCPU100A~100D、メインメモリ200A~200D、及びキャッシュメモリ300A~300Dを含む情報処理装置1000のハードウエア情報を含む。ACPIテーブルは、ノード間の距離を表すSLITSystemLocalityDistanceInformationTableを含む。ACPIテーブル作成部211B1は、作成されたACPIテーブルを、OS240に通知する。ダンプ専用ループ実行部211B2は、選択されたダンプ専用CPUに対して、ブートファームウエア210から待機ループする指示を行う。メモリダンププログラム210Bは、選択されたダンプ専用CPUがメモリダンプを行うための機能の処理内容を記述したプログラムである。選択されたダンプ専用CPUは、メモリダンププログラム210Bを実行することにより、メモリダンプ処理を実行する。図4は、本実施の形態における情報処理装置1000のダンプ専用CPUの選択要因を説明する図である。図4において、図1~図3で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図4に示すように、NUMAを適用したシステムは、CPU100A~100D、メインメモリ200A~200D及びキャッシュメモリ300A~300Dを含むノード10~13を有する。NUMAにおいて、ノード10~13は、インターコネクトとして機能するバス800によって接続される。CPU100A~100Dは、ノード10~13に含まれるメインメモリ200A~200Dを使用することができる。SBSPとして動作するCPU100Aを基準とした場合、ノード10内のメインメモリ200Aは、ローカルメモリと呼ばれる。また、ノード11~13のメインメモリ200B~200Dは、CPU100Aから見たリモートメモリと呼ばれる。NUMAにおいて、CPU100Aを基準とした場合、ローカルメモリであるメインメモリ200Aに対するアクセス時間は、リモートメモリであるメインメモリ200B~200Dに対するアクセス時間よりも短くなる。また、CPU100Aのリモートメモリであるメインメモリ200B~200Dに対するアクセス時間は、SBSPを含むノードから各ノードまでの距離に比例して長くなる。また、ノード10~13の各メインメモリ200A、200B、200C及び200Dそれぞれのメモリ全域の容量及びCPU100A~100Dの状態が均一である場合がある。このような場合、上述したNUMAの特性を考慮した上で、SBSPのCPU100Aを含むノードから一番離れたノードであるノード13にあるCPU100Dがダンプ専用CPUとして選択される。CPU100Aを基準としてダンプ専用CPUが選択される理由は、OS240のカーネルを運用する際の核となるデータが、CPU100Aのローカルメモリを中心に、SBSPとして動作するCPU100Aから近いリモートメモリに格納されるからである。更に、OS240のカーネルへのアクセス時間の長短が、ノード10~12の性能に直接影響を与えるためである。即ち、ダンプ専用CPUは、メモリアクセス遅延等を考慮した上で決定される。また、CPUに対応するキャッシュメモリが縮退して性能的に劣ったCPUを、通常運用系CPUで使用する代わりにダンプ専用CPUとして使用した方がよい場合もある。なお、ノード10のCPU100Aは、SBSPとして動作する。SBSPとして動作するCPU100Aと、ダンプ専用として動作するCPU100D以外のCPU100B~100Cは、SBSPに従って動作するAPApplicationProcessorとなる。ノードのメインメモリのメモリ実装容量が他のノードに比べて少ない場合、又は、ノード11~13のキャッシュメモリ300B~300Dが縮退している場合も考慮してダンプ専用CPUを選択する。ノード12のメインメモリ200Cのメモリ全域の容量が、ノード11のメインメモリ200B及びノード13のメインメモリ200Dのメモリ全域の容量よりも小さい場合がある。ローカルメモリの容量が小さいとリモートメモリに対するアクセスが増加するため、メモリ容量を考慮してダンプ専用CPUを選択する。又、ノード13のキャッシュメモリ300Dが縮退している場合がある。キャッシュメモリが縮退していると、縮退が存在しないキャッシュメモリに対するアクセスが増加するため、キャッシュメモリの縮退の有無を考慮してダンプ専用として動作するCPUを選択する。キャッシュメモリ300Dの縮退は、キャッシュメモリ300Dのキャッシュブロックの部分故障に伴い、故障箇所が縮退されることにより発生する。ダンプ専用CPUは、上述したノード11~13のキャッシュメモリ300B~300Dの縮退の有無、メインメモリ200B~200Dのメモリ全域の容量の大小、ACPIのSLITに基づいて選択される。なお、ノード10~13は同一の構造を備える。ノード10~13にある全CPUのうち、何れか1つがダンプ専用CPUとして選択されても、運用OSに依存せずにメモリダンプを実行することができる。図5は、本実施の形態における情報処理装置1000におけるダンプ専用CPUの選択要因を説明する表を示す。図5における各データは、図4において前述した本実施の形態におけるダンプ専用CPU選択要因に対応している。図5において、図1~図4で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図5に示すように、ノード10のSLITで表すSBSPからの距離は10である。ノード10のメインメモリ200Aにおけるメモリ全域の容量は256GBである。ノード10のキャッシュメモリ300Aにおけるキャッシュメモリ容量は24MBである。ノード11のSLITで表すSBSPからの距離は11である。ノード11のメインメモリ200Bにおけるメモリ全域の容量は256GBである。ノード11のキャッシュメモリ300Bにおけるキャッシュメモリ容量は24MBである。ノード12のSLITで表すSBSPからの距離は13である。ノード12のメインメモリ200Cにおけるメモリ全域の容量は64GBである。ノード12のキャッシュメモリ300Cにおけるキャッシュメモリ容量は24MBである。ノード13のSLITで表すSBSPからの距離は12である。ノード13のメインメモリ200Dにおけるメモリ全域の容量は128GBである。ノード13のキャッシュメモリ300Dは、縮退している。そのため、キャッシュメモリ300Dにおけるキャッシュメモリ容量は21MBである。図5に示すように、ノード11~13において、キャッシュメモリ300B~300Dの縮退の有無を比較すると、ノード13のキャッシュメモリ300Dが縮退していることが分かる。キャッシュメモリ300B~300Dの縮退の有無をダンプ専用CPUの選択基準とした場合、ノード13のCPU100Dがダンプ専用CPUとして選択される。即ち、キャッシュメモリを有する複数のプロセッサを備え、利用可能なキャッシュメモリが一番小さいCPUをメモリダンプ用として選択する。他のプロセッサには通常処理を行わせることにより、メモリダンプを行う際の処理能力の低減を抑制できる。また、ノード11~13において、メインメモリ200B~200Dのメモリ全域の容量を比較すると、ノード12のメインメモリ200Cのメイン全域の容量が一番小さいことが分かる。メインメモリ200B~200Dのメモリ全域の容量の大小をダンプ専用CPUの選択基準とした場合、ノード12のCPU100Cがダンプ専用CPUとして選択される。また、ノード11~13において、SBSPを含むノードから一番遠いノードに含まれるCPUは、ノード13のCPU100Dである。ACPIのSLITに基づいてダンプ専用CPUが選択される場合、一番遠いCPU100Dがダンプ専用CPUとして選択される。図6は、本実施の形態における情報処理装置1000の起動時におけるダンププログラム制御部の処理を説明する図である。図6において、図1~図5で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図6は、ブートファームウエア210について説明する図である。図6に示すように、ダンププログラム制御部211のダンプ専用CPU選択部211Aは、情報処理装置1000の電源投入後、ノード11~13のCPU100B~100Dから、ダンプ専用CPUを1つ選択する。ダンプ専用CPU切離し部211Bは、選択されたダンプ専用CPUを、通常運用系CPUから切り離し、OS240に使用させない処理を行う。ACPIテーブル作成部211B1は、ACPIテーブルを作成する際に、ダンプ専用CPUを除いたACPIテーブルを作成する。次いで、ダンプ専用ループ実行部211B2は、選択されたダンプ専用CPUに対して、ブートファームウエア210から待機ループする指示を行う。ダンプ専用CPU切離し部211Bによって、ダンプ専用CPUとして動作するCPU100DがOS240と独立して、メモリダンプ処理を行なうことができる。そのため、OS240に割り込み処理が効かない仮想マシンを実行している情報処理装置1000に於いても、メモリダンプを実行することができる。次いで、OSローダ230は、ハードディスク400に格納されているOSをメインメモリ200A~200Dに読み込ませる。メインメモリ200A~200Dに読み込まれたOS240は、CPU100Aによって実行される。実行されるOS240は、複数の種類が含まれる。OS240は、OS240上で物理マシンをエミュレートした複数の仮想マシンが動作する仮想マシンプログラムを含む。図7は、本実施の形態におけるダンププログラム制御部211の処理を説明する図である。図7において、図1~図6で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図7に示すように、ダンププログラム制御部211は、ダンプ専用CPUを選択するOP1。次いで、ダンププログラム制御部211は、ACPIテーブルを作成するOP2。図8は、本実施の形態におけるダンププログラム制御部211のダンプ専用CPUの選択処理を説明する図である。なお、本実施の形態において、CPU100AはSBSPとして予め選択されている。図8において、図1~図7で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図8に示すように、ダンププログラム制御部211は、ノード11~13におけるメインメモリ200B~200Dのメモリ全域の容量を確認するOP11。次いで、ダンププログラム制御部211は、ノード11~13におけるメインメモリ200B~200Dのメモリ全域の容量が全て同じであるか判断するOP12。メインメモリ200B~200Dのメモリ全域の容量が全て同じである場合OP12Y、ダンププログラム制御部211は、ノード11~13のキャッシュメモリ300B~300Dにおける縮退の有無を確認するOP13。なお、メインメモリ200B~200Dのメモリ全域の容量が全て同じではない場合OP12N、ダンププログラム制御部211は、メインメモリ200B~200Dのうち、メモリ全域の容量が最小であるメインメモリが複数あるか確認するOP18。ノード11~13のキャッシュメモリ300B~300Dにおける縮退の有無を確認した後OP13、ダンププログラム制御部211は、ノード11~13のキャッシュメモリ300B~300Dにおける縮退が存在するか確認するOP14。キャッシュメモリ300B~300Dにおける縮退が存在しない場合OP14N、ダンププログラム制御部211は、メモリ全域の容量が最小である複数のメインメモリ間において、SLITを確認するOP15。キャッシュメモリ300B~300Dのいずれかに縮退が存在する場合OP14Y、ダンププログラム制御部211は、縮退しているキャッシュメモリが複数存在するか確認するOP20。キャッシュメモリ300B~300Dにおける縮退が存在しない場合OP14N、ダンププログラム制御部211は、SBSPのCPU100AであるSLIT番号を確認するOP15。ダンププログラム制御部211は、CPU100B~100Dのうち、SBSPのCPU100Aから一番遠いCPUを選択するOP16。次いで、ダンププログラム制御部211は、SBSPのCPU100Aから一番遠いCPUを、ダンプ専用CPUとして選択するOP17。なお、メインメモリ200B~200Dのうち、メモリ全域の容量が最小であるメインメモリが複数ある場合OP18Y、ダンププログラム制御部211は、メモリ全域の容量が最小であるメインメモリを含むノードのキャッシュメモリの中で、縮退しているキャッシュメモリがあるか確認するOP19。メモリ全域の容量が最小であるメインメモリが複数存在しない場合OP18N、ダンププログラム制御部211は、OP17の処理に移行する。また、縮退しているキャッシュメモリが複数存在する場合OP20Y、ダンププログラム制御部211は、メモリ全域の容量が最小である複数のメインメモリ、且つ縮退しているキャッシュメモリが存在するノードの中で、SBSPのCPU100Aから一番遠いCPUを選択するOP21。縮退しているキャッシュメモリが複数存在しない場合OP20N、ダンププログラム制御部211は、縮退しているキャッシュメモリが存在するノード内のCPUをダンプ専用CPUとして選択するOP17。図9は、本実施の形態における障害発生時の割込み処理を説明する図を示す。図9において、図1~図8で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図9において、ノード10のCPU100AがSBSPとして動作する。ノード11のCPU100B及びノード12のCPU100Cは、APとして動作する。APとして動作するCPU100B及びCPU100Cは、仮想マシンがOS上で動作する。ダンプ専用CPUとして動作するCPU100Dには、ブートファームウエア210によって、SIPIStartupInter-ProcessorInterruptの発行待ちの指示が発行される。SIPIは、情報処理装置1000のマルチプロセッサ構成において、SBSPとして動作するCPU100Aが、ダンプ専用CPUとして動作するCPU100Dを起動する為に使用される割込みである。図9に示すように、ノード10において仮想マシンがOS上で稼動している時に、OSの障害により、情報処理装置1000の処理が停止したとする。このような場合、システム監視装置2000は、情報処理装置1000の全CPUに対し、メモリダンプを実行させるためにSMIを発行する。図10は、本実施の形態における障害発生時のメインメモリの割込み処理を説明する図を示す。図10において、図1~図9で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図10に示すように、ノード10においてOSに障害が発生した後、システム監視装置2000は、全CPUに対し、メモリダンプを実行させるためにSMIを発行する。SMIの発行を受けたCPUは、情報処理装置1000の制御をSMMへ移行させる。SMMに移行したSBSPであるCPU100Aは、SMIを実行する。SMIは、他の動作モードからはアクセスできないメインメモリ200A~200Dのメモリ空間内の独立したアドレス空間内でSMIを処理するプログラムである。全CPUは、SMIハンドラ220の処理が完了すると、SMM移行前のモードに戻る。図11は、本実施の形態における障害発生時のダンププログラム制御部の処理を説明する図を示す。SMIハンドラ220は、割込み要因判定部221、SBSP切換え部212、及びINIT発行部213を有する。ブートファームウエア210は、メモリメモリ210Bを有する。ハードディスク400は、ダンプディスク430を有する。図11において、図1~図10で説明した構成と同様の構成には同一の符号を付し、説明を省略する。ダンプ専用CPUとして動作するCPU100Dは、ノード10のOS240において処理を継続できないほど深刻な障害であるシステムハングやOSパニックの発生を検出すると、OSの障害の原因究明のため、必要となるシステムメモリのダンプを行う。システムメモリのダンプが必要な場合、最初に、システム監視装置2000がSMIを発生させてSMIハンドラ220へと制御を移行させる。割込み要因判定部221は、最初に,割込み要因判定処理を実行する。割込み要因判定部221は、割込みが何の要因で発生したか確認する。具体的には、割込み要因判定部221は、割込みが、ダンプ指示の割込みで発生したか確認する。SBSP切換え部212は、今まで待機ループしていたダンプ専用CPUであるCPU100DをSBSPに切り替える処理を行う。また,SBSP切換え部212は、通常運用系CPU100Aから100Cを全て待機ループするように切り替える処理を行う。SBSPとして動作するCPU100Aは、仮想マシンモードで動作していないダンプ専用CPUであるCPU100Dのみ動作するように切り替える指示を、CPU100Dに対して発行する。そのため、SBSP切換え部212は、CPU100Dによって、INIT割込みを実行できる環境を創出できる。INIT割込み処理は、システムハングやOSパニックなどの障害が発生したノード10のOS240を初期化するための割込み処理である。INIT発行部213は、ダンプ専用CPUとして動作するCPU100Dに対してINIT割込みを発行する。CPU100Dは、INIT割込みによって実行アドレスがリセットエントリに移行される。つまり,CPU100Dは、情報処理装置1000のリセット時に情報処理装置1000の電源を落とさないWarmResetを実施せずに、メモリダンプ処理をブートファームウエア210に移行できる。Xenなどの仮想OSが動作していた環境では、CPU100Dのみがリセットエントリに移行される。リセットエントリは、SMIハンドラ220のINIT発行部213によって起動される。リセットエントリは、障害が発生したノード10のCPU100A、及び、リセット時に初期化が必要であるノード10の周辺デバイスであるメインメモリ200A及びキャッシュメモリ300Aに対して初期化を実行する処理である。ダンプ専用CPUとして動作するCPU100Dは、ブートファームウエア210におけるメモリダンププログラム210Bを実行する。CPU100Dは、メモリダンププログラム210Bを実行することにより、障害が発生したノード10のメインメモリ200Aのデータを、予め指定されているダンプディスク430にダンプする。図12は、本実施の形態における障害発生時のSMMに移行した後の制御処理を示すフローチャートである。図12において、図1~図11で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図12に示すように、SMMに移行したCPUは、最初にCPUコンテキスト情報を退避する処理を実行するOP31。CPUがCPUコンテキスト情報を退避させる領域は、障害が発生したノード10のOS240から存在が見えないメモリ空間である。SBSPは、割込みの要因を特定する為の割込み要因判定処理を実行するOP32。割込み要因判定処理は、メモリダンプが指示されたか否かを判定する処理である。割込み要因がメモリダンプ指示であることが特定されると、SBSPは、最初に、NVRAM500に、メモリダンプ指示フラグを作成する。メモリダンプ指示フラグは、ノード10のOS240のリセット実行後の起動がノーマル起動なのか、又はメモリダンプ用の起動なのかを特定する為に使用される。又、SBSPは、CPUコンテキストが退避した領域のメモリアドレスをNVRAM500に格納する。SBSPであるCPU100Aは、SBSP切換え処理を実行するOP33。SBSP切換え処理は、SBSPとして動作していたCPU100Aを待機ループさせ、ダンプ専用CPUとして動作するCPU100DをSBSPとして動作させる処理である。CPU100Dは、INIT発行処理を実行するOP34。INIT発行処理は、ダンプ専用CPUとして動作するCPU100DがINITを発行し、ダンプ専用CPUとして動作するCPU100Dの処理をリセットエントリに移行させる処理である。図13は、本実施の形態における障害発生時のメモリダンプ処理を示すフローチャートである。図13は、リセットエントリからメモリダンプまでの処理を示すフローチャートである。図13において、図1~図12で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図13に示すように、CPU100Dは、リセットエントリへ処理が移ると、始めにメモリダンプ判定処理を実行するOP41。CPU100Dは、NVRAM500に保存されたメモリダンプ指示フラグを確認する。CPU100Dは、メモリダンプ指示フラグを確認することによって、OS240のリセット実行後の起動がノーマル起動なのか、又はメモリダンプ用の起動なのかを確認する。CPU100Dは、メモリ初期化スキップ処理を実行するOP42。CPU100Dは、OS240のリセット実行後の起動がメモリダンプのための起動であることを確認すると、ノーマル起動の場合に行われるメインメモリ200A~200Dの初期化を行わずにスキップする。CPU100Dは、メモリダンププログラムを実行するOP43。CPU100Dは、不図示のI/Oの初期化などが行われた後、メモリダンププログラムを実行する。CPU100Dは、メインメモリ200A~200Dのメモリダンプを実行する。CPU100Dは、メモリダンプを実行する際に、予め退避させたCPUコンテキスト情報を採取する。メモリダンプの完了後、CPU100Dは、NVRAM500に格納されたメモリダンプ指示フラグをクリアする。図14~図15は、本実施の形態における障害発生時のSBSPとして動作するCPU100A、APとして動作するCPU100B及びダンプ専用CPUとして動作するCPU100Dの処理を示すシーケンス図である。図14のAに示す処理は図15のAに続いている。図14~図15において、SBSPとして動作するCPU100A、APとして動作するCPU100Bは、OS240を運用する。図14~図15において、図1~図13で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図14に示すように、OS240の運用時OP51、SBSPとして動作するCPU100Aは通常動作を行うOP52。OS240の運用時OP51、APとして動作するCPU100Bは、SBSPとして動作するCPU100Aと同様に通常動作を行うOP53。ダンプ専用CPUとして動作するCPU100Dには、ブートファームウエア210によって、SIPIの発行待ちの指示が発行されるOP54。OS240に、システムハングやOSパニックなどの障害が発生するとOP55、SBSPとして動作するCPU100Aは、OS240上でハングアップするOP56。APとして動作するCPU100Bは、システムハングやOSパニックなどの障害が発生するとOP55、SBSPとして動作するCPU100Aと同様に、OS240上でハングアップするOP57。システム監視装置2000は、OS240の障害を検出すると、SBSPとして動作するCPU100A、APとして動作するCPU100B、及び、ダンプ専用CPUとして動作するCPU100Dに対してSMIを発行するOP58。SMIが発行されたSBSPとして動作するCPU100A、APとして動作するCPU100B、及び、ダンプ専用CPUとして動作するCPU100Dは、SMMに移行するOP59。SMMにおいて、SBSPとして動作するCPU100Aは、図12のOP32で前述した割込み要因判定処理を実行するOP60。なお、OP60において、割込み要因がメモリダンプではないと判定された場合は,SMMではSBSPとして動作するCPU100Aのみ動作する。CPU100Aのメモリダンプ完了後、CPU100B及びCPU100Dは、NVRAM500に格納されたCPUコンテキストのリストアを実施したあと、割込み前の処理へと復帰する。SMMに移行したAPとして動作するCPU100Bは、待機ループに移行するOP61。SMMに移行したダンプ専用CPUとして動作するCPU100Dは、APとして動作するCPU100Bと同様に、待機ループに移行するOP62。SBSPとして動作するCPU100Aは、図12のOP33で前述したSBSPの切換え処理を実行するOP63。SBSPとして動作するCPU100Aは、ダンプ専用CPUとして動作するCPU100Dに対して、SBSPとして動作する切換え命令を発行する。ダンプ専用CPUとして動作するCPU100Dは、CPU100Aから発行された切換え命令に基づいて、SBSPとしての動作を開始するOP64。切換え命令を発行したCPU100Aは、待機ループに移行するOP65。ダンプ専用CPUとして動作するCPU100Dは、全CPUに対して、図12のOP34で前述したINIT命令を発行するOP71。CPU100Dは、INIT命令の発行後、図11で前述したリセットエントリ処理に移行するOP72。ダンプ専用CPUとして動作するCPU100Dは、図13のOP41で前述したメモリダンプ判定処理を行うOP73。次いで、CPU100Dは、図13のOP42で前述したメモリ初期化スキップ処理を実行するOP74。CPU100Dは、図13のOP43で前述したメモリダンププログラムを実行するOP75。"