Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7564445B2 - MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD - Google Patents
[go: Go Back, main page]

JP7564445B2 - MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD - Google Patents

MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD Download PDF

Info

Publication number
JP7564445B2
JP7564445B2 JP2021025875A JP2021025875A JP7564445B2 JP 7564445 B2 JP7564445 B2 JP 7564445B2 JP 2021025875 A JP2021025875 A JP 2021025875A JP 2021025875 A JP2021025875 A JP 2021025875A JP 7564445 B2 JP7564445 B2 JP 7564445B2
Authority
JP
Japan
Prior art keywords
kernel
memory
dump
unit
memory usage
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.)
Active
Application number
JP2021025875A
Other languages
Japanese (ja)
Other versions
JP2022127727A (en
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 JP2021025875A priority Critical patent/JP7564445B2/en
Publication of JP2022127727A publication Critical patent/JP2022127727A/en
Application granted granted Critical
Publication of JP7564445B2 publication Critical patent/JP7564445B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本件は、メモリ割当装置、メモリ割当プログラム、及びメモリ割当方法に関する。 This case relates to a memory allocation device, a memory allocation program, and a memory allocation method.

オペレーティングシステム(以下、単にOSという)が正常稼動を維持できない場合、当該OSが例外シグナルを発生させ、CPU(Central Processing Unit)の基本制御を行うためのOSの基幹部分であるカーネルにコアダンプ処理の実行を指示することが知られている。コアダンプ処理は例外シグナル発生時のメモリ空間内容の全てをそのままコアファイルに格納する処理である。 When an operating system (hereafter simply referred to as OS) is unable to maintain normal operation, it is known that the OS generates an exception signal and instructs the kernel, the core part of the OS responsible for basic control of the CPU (Central Processing Unit), to execute a core dump process. The core dump process is a process in which the entire contents of the memory space at the time the exception signal occurred are stored as is in a core file.

例えば、UNIX(登録商標)に代表されるような汎用のOSは、常時シグナルイベントを監視する機能を備えており、例外シグナルが発生した場合には、例外シグナルに応じた例外処理を実行する。例えばOSの稼動をこれ以上継続することが困難と判断した場合には、コアダンプ処理を実行し、その時点のメモリ空間内容の全てをそのまま格納したコアファイルを生成する。このように生成されたコアファイルは障害の原因を解析する作業に利用される(以上、例えば特許文献1参照)。 For example, general-purpose OSs such as UNIX (registered trademark) have a function for constantly monitoring signal events, and when an exception signal occurs, they execute exception processing according to the exception signal. For example, when it is determined that it is difficult to continue operating the OS any further, they execute a core dump process and generate a core file that stores all of the contents of the memory space at that time. The core file generated in this way is used to analyze the cause of the failure (see, for example, Patent Document 1).

特開2007-172414号公報JP 2007-172414 A

ところで、OSによっては2種類のカーネルが設けられている場合がある。例えばLinux(登録商標)であれば、ジョブ管理や記憶管理といった通常の制御を行うシステム運用カーネル(以下、第1カーネルという)と、OS(具体的には第1カーネル)に障害(クラッシュ)が発生したときの制御を行うダンプ運用カーネル(以下、第2カーネルという)が設けられている。第2カーネルはOSに障害が発生すると、kdump(カーネルクラッシュダンプ又はカーネルメモリダンプ)処理を実行し、障害時のメモリ空間内容におけるカーネル部分を格納したダンプファイルを生成する。 Some OSs have two types of kernels. For example, Linux (registered trademark) has a system operation kernel (hereinafter referred to as the first kernel) that performs normal control such as job management and memory management, and a dump operation kernel (hereinafter referred to as the second kernel) that performs control when a failure (crash) occurs in the OS (specifically the first kernel). When a failure occurs in the OS, the second kernel executes kdump (kernel crash dump or kernel memory dump) processing and generates a dump file that stores the kernel portion of the memory space contents at the time of the failure.

第2カーネルが動作する際に使用するメモリ量は、第1カーネルが使用しないように作業担当者の事前の見積もりによって指定されている。このメモリ量はOSの起動時に第1カーネルによって環境設定として事前に割り当てられる。第2カーネルの使用に割り当てるメモリ量が大きくなると、第1カーネルが使用できるメモリ量が少なくなるため、第2カーネル用のメモリ量はなるべく小さい方が望ましい。 The amount of memory used by the second kernel when it is running is specified by the operator's prior estimate so that the first kernel does not use it. This amount of memory is allocated in advance as an environment setting by the first kernel when the OS starts up. If the amount of memory allocated for the second kernel's use becomes large, the amount of memory available to the first kernel will decrease, so it is desirable to keep the amount of memory for the second kernel as small as possible.

ところが、第2カーネルの使用に割り当てるメモリ量はハードウェアの構成やソフトウェアの構成によってばらつきがあり、作業担当者が適切なメモリ量を見積もることが難しい。このため、ダンプ処理時の環境を新規に構築する時やその環境の構成を変更する時に作業担当者がメモリ量を調整しながら実機を使って実績確認をし、第2カーネルの使用に割り当てるメモリ量を見積もって決定している。しかしながら、この作業は煩雑な上に適切であるかの評価ができないため不十分であった。 However, the amount of memory allocated for use by the second kernel varies depending on the hardware and software configuration, making it difficult for workers to estimate an appropriate amount of memory. For this reason, when building a new environment for dump processing or changing the configuration of that environment, workers adjust the amount of memory while checking the actual performance on the actual machine, and then estimate and determine the amount of memory to be allocated for use by the second kernel. However, this work is cumbersome and insufficient because it is not possible to evaluate whether it is appropriate.

そこで、1つの側面では、第2カーネルの使用に割り当てる適応的なメモリ量を短時間で見積もることを目的とする。 Therefore, in one aspect, the objective is to quickly estimate an adaptive amount of memory to be allocated for use by the second kernel.

1つの実施態様では、メモリ割当装置は、OS障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行する第1実行部と、前記ダンプを取得する第2カーネルを実行する第2実行部と、前記取得環境の設定途中で前記第2カーネルに前記ダンプの取得を指示する実行指示部と、前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定する測定部と、測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる見積部と、を有する。 In one embodiment, the memory allocation device has a first execution unit that executes a first kernel that sets up an environment for acquiring a dump representing memory contents at the time of an OS failure, a second execution unit that executes a second kernel that acquires the dump, an execution instruction unit that instructs the second kernel to acquire the dump during the setting of the acquisition environment, a measurement unit that measures the memory usage of the second kernel while the second kernel is running, and an estimation unit that estimates the memory allocation amount to be assigned to the use of the second kernel based on the measured memory usage.

第2カーネルの使用に割り当てる適応的なメモリ量を短時間で見積もることができる。 It is possible to quickly estimate the adaptive amount of memory to allocate for use by the second kernel.

図1はサーバ装置のハードウェア構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a hardware configuration of a server device. 図2はサーバ装置の機能構成を例示するブロック図である。FIG. 2 is a block diagram illustrating an example of the functional configuration of the server device. 図3は第1カーネル及び第2カーネルの機能構成を例示するブロック図である。FIG. 3 is a block diagram illustrating the functional configuration of the first kernel and the second kernel. 図4は第1カーネルが実行する処理の一例を示すフローチャートである。FIG. 4 is a flowchart showing an example of a process executed by the first kernel. 図5はダンプを保存するための補助記憶部の領域(以下、ダンプ退避域)テーブルの一例である。FIG. 5 shows an example of a table of areas in the auxiliary storage unit for saving dumps (hereinafter referred to as dump save areas). 図6は第2カーネルが実行する処理の一例を示すフローチャートである。FIG. 6 is a flowchart showing an example of a process executed by the second kernel. 図7(a)はメモリ獲得処理の一例を示すフローチャートである。図7(b)はメモリ解放処理の一例を示すフローチャートである。7A and 7B are flow charts showing an example of a memory acquisition process and a memory release process, respectively. 図8は新メモリ使用量の推移を示すグラフである。FIG. 8 is a graph showing the transition of the new memory usage. 図9は比較例と第1実施形態を説明する図である。FIG. 9 is a diagram for explaining a comparative example and the first embodiment. 図10は第1カーネルが実行する処理の他の一例を示すフローチャートである。FIG. 10 is a flowchart showing another example of the process executed by the first kernel. 図11は第2実施形態を説明する図である。FIG. 11 is a diagram illustrating the second embodiment.

以下、本件を実施するための形態について図面を参照して説明する。 The following describes the implementation of this invention with reference to the drawings.

図1はサーバ装置100のハードウェア構成を例示するブロック図である。図1に示すように、メモリ割当装置としてのサーバ装置100は、ハードウェアプロセッサとしてのCPU100A及びRAM(Random Access Memory)100Bを含んでいる。サーバ装置100は、ROM(Read Only Memory)100C、ネットワークI/F(インタフェース)100D、及びHDD(Hard Disk Drive)100Eを含んでいる。HDD(Hard Disk Drive)100Eに代えて、SSD(Solid State Drive)を利用してもよい。サーバ装置100は、必要に応じて、入力I/F100F、出力I/F100G、入出力I/F100H、ドライブ装置100Iの少なくとも1つを含んでいてもよい。CPU100Aからドライブ装置100Iまでは、内部バス100Jによって互いに接続されている。すなわち、サーバ装置100はコンピュータによって実現することができる。尚、CPU100Aに代えてMPU(Micro Processing Unit)をハードウェアプロセッサとして採用してもよい。 FIG. 1 is a block diagram illustrating a hardware configuration of a server device 100. As shown in FIG. 1, the server device 100 as a memory allocation device includes a CPU 100A and a RAM (Random Access Memory) 100B as hardware processors. The server device 100 includes a ROM (Read Only Memory) 100C, a network I/F (interface) 100D, and a HDD (Hard Disk Drive) 100E. Instead of the HDD (Hard Disk Drive) 100E, a SSD (Solid State Drive) may be used. The server device 100 may include at least one of an input I/F 100F, an output I/F 100G, an input/output I/F 100H, and a drive device 100I, as necessary. The CPU 100A to the drive device 100I are connected to each other by an internal bus 100J. In other words, the server device 100 can be realized by a computer. Instead of the CPU 100A, an MPU (Micro Processing Unit) may be used as the hardware processor.

入力I/F100Fには入力装置11が接続される。入力装置11としては例えばキーボードやマウス、タッチパネルなどがある。出力I/F100Gには表示装置12が接続される。表示装置12としては例えば液晶ディスプレイなどがある。入出力I/F100Hには半導体メモリ13が接続される。半導体メモリ13としては、例えばUSB(Universal Serial Bus)メモリやフラッシュメモリなどがある。入出力I/F100Hは半導体メモリ730に記憶されたプログラムやデータを読み取る。入力I/F100F及び入出力I/F100Hは例えばUSBポートを備えている。出力I/F100Gは例えばディスプレイポートを備えている。 An input device 11 is connected to the input I/F 100F. Examples of the input device 11 include a keyboard, a mouse, and a touch panel. A display device 12 is connected to the output I/F 100G. Examples of the display device 12 include a liquid crystal display. A semiconductor memory 13 is connected to the input/output I/F 100H. Examples of the semiconductor memory 13 include a USB (Universal Serial Bus) memory and a flash memory. The input/output I/F 100H reads the programs and data stored in the semiconductor memory 730. The input I/F 100F and the input/output I/F 100H each include a USB port, for example. The output I/F 100G includes a display port, for example.

ドライブ装置100Iには可搬型記録媒体14が挿入される。可搬型記録媒体14としては、例えばCD(Compact Disc)-ROM、DVD(Digital Versatile Disc)といったリムーバブルディスクがある。ドライブ装置100Iは可搬型記録媒体14に記録されたプログラムやデータを読み込む。ネットワークI/F100Dは例えばLAN(Local Area Network)ポートや通信回路などを備えている。 A portable recording medium 14 is inserted into the drive device 100I. Examples of the portable recording medium 14 include removable disks such as a CD (Compact Disc)-ROM and a DVD (Digital Versatile Disc). The drive device 100I reads the programs and data recorded on the portable recording medium 14. The network I/F 100D includes, for example, a LAN (Local Area Network) port and a communication circuit.

RAM100BにはROM100C、HDD100E、半導体メモリ13の少なくとも1つに記憶されたプログラムがCPU100Aによって一時的に格納される。RAM100Bには可搬型記録媒体14に記録されたプログラムがCPU100Aによって一時的に格納される。格納されたプログラムをCPU100Aが実行することにより、CPU100Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。 The CPU 100A temporarily stores in the RAM 100B a program stored in at least one of the ROM 100C, the HDD 100E, and the semiconductor memory 13. The CPU 100A temporarily stores in the RAM 100B a program recorded on the portable recording medium 14. By executing the stored program, the CPU 100A realizes various functions described below and executes various processes described below. The program may correspond to the flowchart described below.

次に、図2を参照して、サーバ装置100の機能構成について説明する。 Next, the functional configuration of the server device 100 will be described with reference to FIG. 2.

図2はサーバ装置100の機能構成を例示するブロック図である。図2ではサーバ装置100の機能の要部が示されている。図2に示すように、サーバ装置100は補助記憶部110、主記憶部120、及び処理部130を備えている。補助記憶部110は上述したHDD100Eなどによって実現することができる。主記憶部120は上述したRAM100Bによって実現することができる。処理部130は上述したCPU100Aによって実現することができる。したがって、補助記憶部110、主記憶部120、及び処理部130は互いに接続されている。 Figure 2 is a block diagram illustrating an example of the functional configuration of the server device 100. Figure 2 shows the main functions of the server device 100. As shown in Figure 2, the server device 100 includes an auxiliary memory unit 110, a main memory unit 120, and a processing unit 130. The auxiliary memory unit 110 can be realized by the above-mentioned HDD 100E, etc. The main memory unit 120 can be realized by the above-mentioned RAM 100B. The processing unit 130 can be realized by the above-mentioned CPU 100A. Therefore, the auxiliary memory unit 110, the main memory unit 120, and the processing unit 130 are connected to each other.

ここで、補助記憶部110は図示しないOSを記憶する。OSとしては例えばLinux(登録商標)があるが、Linux(登録商標)以外のOSであってもよい。処理部130は、サーバ装置100の電源ボタンが押下されてサーバ装置100に電力が供給されると、補助記憶部110からOSを呼び出す。そして、処理部130は、呼び出したOSに含まれる第1カーネル50を主記憶部120の第1カーネルメモリ領域121に格納し、第1カーネル50を起動する。すなわち、第1カーネルメモリ領域121は第1カーネル50が動作するメモリ領域である。第1カーネル50を起動することにより、第1カーネル50は例えばジョブ(又はプロセス)管理やメモリ管理、運用管理、入出力管理といった通常の制御を行うほか、後述する各種の処理を実行する。第1カーネル50はシステムカーネルなどと呼ばれることがある。 Here, the auxiliary storage unit 110 stores an OS (not shown). For example, the OS is Linux (registered trademark), but it may be an OS other than Linux (registered trademark). When the power button of the server device 100 is pressed and power is supplied to the server device 100, the processing unit 130 calls up the OS from the auxiliary storage unit 110. Then, the processing unit 130 stores the first kernel 50 included in the called OS in the first kernel memory area 121 of the main storage unit 120 and starts the first kernel 50. That is, the first kernel memory area 121 is a memory area in which the first kernel 50 operates. By starting the first kernel 50, the first kernel 50 performs normal control such as job (or process) management, memory management, operation management, and input/output management, and also executes various processes described later. The first kernel 50 is sometimes called a system kernel.

また、第1カーネル50を起動することにより、第1カーネル50は第2カーネルメモリ領域122を主記憶部120に割り当て(又は予約し)、OSに含まれる第2カーネル60を第2カーネルメモリ領域122に格納する。すなわち、第2カーネルメモリ領域122は第2カーネル60が動作するメモリ領域である。第2カーネル60はOS(具体的には第1カーネル50)にカーネルクラッシュといった障害(異常)が発生したときの制御を行う。第2カーネルはダンプキャプチャカーネルや単にダンプカーネルなどと呼ばれることがある。 In addition, by starting the first kernel 50, the first kernel 50 allocates (or reserves) the second kernel memory area 122 in the main memory unit 120, and stores the second kernel 60 included in the OS in the second kernel memory area 122. In other words, the second kernel memory area 122 is the memory area in which the second kernel 60 operates. The second kernel 60 performs control when a failure (abnormality) such as a kernel crash occurs in the OS (specifically, the first kernel 50). The second kernel is sometimes called a dump capture kernel or simply a dump kernel.

具体的に説明すると、第1カーネル50は、自身の処理において論理の異常などを検出し、処理の続行が不可能と判断すると、第2カーネル60を起動する。第2カーネル60は第1カーネルメモリ領域121内のメモリ空間内容におけるカーネル部分を格納したダンプファイルを補助記憶部110のダンプ退避域111内に書き込む。第2カーネル60はダンプファイルを書き込んだ後、自身をシャットダウンまたは再起動する。 To be more specific, when the first kernel 50 detects a logical anomaly in its own processing and determines that it is impossible to continue the processing, it starts the second kernel 60. The second kernel 60 writes a dump file that stores the kernel portion of the memory space contents in the first kernel memory area 121 into the dump save area 111 of the auxiliary storage unit 110. After writing the dump file, the second kernel 60 shuts down or restarts itself.

次に、図3を参照して、第1カーネル50が備える機能及び第2カーネル60が備える機能の概要について説明する。第1カーネル50が備える機能は、処理部130が主記憶部120と連携して第1カーネル50の処理を実行することにより実現することができる。第2カーネル60についても第1カーネル50と同様である。なお、第1カーネル50及び第2カーネル60の処理の詳細については、サーバ装置100の動作を説明する際に詳しく説明する。 Next, referring to FIG. 3, an overview of the functions of the first kernel 50 and the second kernel 60 will be described. The functions of the first kernel 50 can be realized by the processing unit 130 working in conjunction with the main memory unit 120 to execute the processing of the first kernel 50. The processing of the second kernel 60 is similar to that of the first kernel 50. Details of the processing of the first kernel 50 and the second kernel 60 will be explained in detail when explaining the operation of the server device 100.

図3は第1カーネル50及び第2カーネル60の機能構成を例示するブロック図である。第1カーネル50は、第1カーネル実行部51、第1判定部52、第2判定部53、及び環境構築部54を構成要素として含んでいる。また、第1カーネル50は、初期設定部55、ダンプ操作部56、チェックポイント設定部57、及び第2カーネル実行指示部58を構成要素として含んでいる。第1カーネル実行部51が第1実行部の一例であって、第2カーネル実行指示部58が実行指示部の一例であって、環境構築部54が見積部の一例であって、チェックポイント設定部57が設定部の一例である。 Figure 3 is a block diagram illustrating the functional configuration of the first kernel 50 and the second kernel 60. The first kernel 50 includes a first kernel execution unit 51, a first judgment unit 52, a second judgment unit 53, and an environment construction unit 54 as components. The first kernel 50 also includes an initial setting unit 55, a dump operation unit 56, a checkpoint setting unit 57, and a second kernel execution instruction unit 58 as components. The first kernel execution unit 51 is an example of a first execution unit, the second kernel execution instruction unit 58 is an example of an execution instruction unit, the environment construction unit 54 is an example of an estimation unit, and the checkpoint setting unit 57 is an example of a setting unit.

第2カーネル60は、第2カーネル実行部61、メモリ使用量測定部62、メモリ使用量登録部63、及び第1カーネル実行指示部64を構成要素として含んでいる。第2カーネル実行部61が第2実行部の一例であって、メモリ使用量測定部62が測定部の一例である。第1カーネル50及び第2カーネル60は互いに直接的に連携し、また、ダンプ退避域111を介して間接的に連携する。 The second kernel 60 includes as its components a second kernel execution unit 61, a memory usage measurement unit 62, a memory usage registration unit 63, and a first kernel execution instruction unit 64. The second kernel execution unit 61 is an example of a second execution unit, and the memory usage measurement unit 62 is an example of a measurement unit. The first kernel 50 and the second kernel 60 cooperate directly with each other, and also cooperate indirectly via the dump evacuation area 111.

次に、図4乃至図6を参照して、第1カーネル50及び第2カーネル60の処理について説明する。 Next, the processing of the first kernel 50 and the second kernel 60 will be described with reference to Figures 4 to 6.

図4は第1カーネル50が実行する処理の一例を示すフローチャートである。図5はダンプ退避域テーブルT1の一例である。図6は第2カーネル60が実行する処理の一例を示すフローチャートである。まず、サーバ装置100に電力が供給されると、第1カーネル実行部51は第1カーネル50を起動する(ステップS1)。これにより、初期設定部55がダンプファイルの取得環境又は採取環境(以下、単に取得環境という)の初期設定を開始し、例えばネットワークのIPアドレスやHDD100Eのパーティションなどの設定を開始する。 Figure 4 is a flowchart showing an example of processing executed by the first kernel 50. Figure 5 is an example of a dump evacuation area table T1. Figure 6 is a flowchart showing an example of processing executed by the second kernel 60. First, when power is supplied to the server device 100, the first kernel execution unit 51 starts the first kernel 50 (step S1). This causes the initial setting unit 55 to start initial setting of the dump file acquisition environment or collection environment (hereinafter simply referred to as the acquisition environment), and starts setting, for example, the network IP address and the partition of the HDD 100E.

第1カーネル50が起動すると、初期設定と並行して、第1判定部52はダンプファイルの取得環境が構築済であるか否かを判定する(ステップS2)。具体的には、第1判定部52はダンプ退避域111にアクセスして、ダンプファイルの取得環境が構築済であるか否かを判定する。なお、ダンプファイルの取得環境が構築済であるとは、第2カーネル60用のメモリ使用量が第1カーネル50に既に設定された状態を表している。 When the first kernel 50 is started, in parallel with the initial setting, the first determination unit 52 determines whether or not the environment for acquiring the dump file has been constructed (step S2). Specifically, the first determination unit 52 accesses the dump save area 111 and determines whether or not the environment for acquiring the dump file has been constructed. Note that the state in which the environment for acquiring the dump file has been constructed indicates a state in which the memory usage for the second kernel 60 has already been set in the first kernel 50.

ここで、図5に示すように、ダンプ退避域111はダンプ退避域テーブルT1により様々な情報を管理する。具体的には、ダンプ退避域テーブルT1は、取得環境状態識別子、第2カーネルメモリ使用量、データ長、第1カーネル初期設定値といった情報を含んでいる。例えば、取得環境状態識別子には3種類の識別子のいずれかが登録されている。識別子「0」はダンプファイルの取得環境がまだ構築されていない状態(未構築)であることを表している。識別子「1」はダンプファイルの取得環境が構築の最中である状態(構築中)であることを表している。識別子「2」はダンプファイルの取得環境の構築が済んでいる状態(構築済)であることを表している。残りの情報については後述する。 As shown in FIG. 5, the dump save area 111 manages various information using the dump save area table T1. Specifically, the dump save area table T1 includes information such as the acquired environment state identifier, the second kernel memory usage, the data length, and the first kernel initial setting value. For example, one of three types of identifiers is registered as the acquired environment state identifier. The identifier "0" indicates that the dump file acquisition environment has not yet been constructed (not constructed). The identifier "1" indicates that the dump file acquisition environment is in the process of being constructed (under construction). The identifier "2" indicates that the dump file acquisition environment has already been constructed (constructed). The remaining information will be described later.

第1判定部52は、ダンプ退避域111にアクセスし、例えば取得環境状態識別子に識別子「0」が割り当てられている場合、取得環境が構築済でないと判定する(ステップS2:NO)。この場合、続けて第1判定部52はダンプファイルの取得環境が構築中であるか否かを判定する(ステップS3)。具体的には、第1判定部52はダンプ退避域111にアクセスして、ダンプファイルの取得環境が構築中であるか否かを判定する。第1判定部52は、取得環境状態識別子に同様に識別子「0」が割り当てられている場合、取得環境が構築中でないと判定する(ステップS3:NO)。したがって、第1判定部52のステップS2,S3の処理により、ダンプファイルの取得環境が未構築であると判定される。 The first determination unit 52 accesses the dump save area 111, and if the identifier "0" is assigned to the acquired environment state identifier, for example, it determines that the acquired environment has not been constructed (step S2: NO). In this case, the first determination unit 52 then determines whether the acquired environment of the dump file is being constructed (step S3). Specifically, the first determination unit 52 accesses the dump save area 111 and determines whether the acquired environment of the dump file is being constructed. If the identifier "0" is similarly assigned to the acquired environment state identifier, the first determination unit 52 determines that the acquired environment is not being constructed (step S3: NO). Therefore, the processing of steps S2 and S3 by the first determination unit 52 determines that the acquired environment of the dump file has not been constructed.

ダンプファイルの取得環境が未構築である場合、次いで、チェックポイント設定部57はチェックポイントを設定する(ステップS4)。具体的には、ダンプファイルの取得環境が未構築である場合、環境構築部54がチェックポイント設定部57にチェックポイントの設定を依頼する。チェックポイント設定部57はチェックポイントの設定が依頼されると、第1カーネル50を起動してから現時点までに設定された全ての初期設定値(具体的にはネットワークアドレスやパーティションなど)とその初期設定値のデータ長をチェックポイントとして設定する。そして、チェックポイント設定部57は設定したチェックポイントの登録をダンプ操作部56に依頼する。ダンプ操作部56はチェックポイントの登録が依頼されると、チェックポイントをダンプ退避域111に登録する。これにより、図5に示すように、ダンプ退避域111にはチェックポイントとしての初期設定値とその初期設定値のデータ長が登録される。 If the environment for acquiring the dump file has not been constructed, then the checkpoint setting unit 57 sets a checkpoint (step S4). Specifically, if the environment for acquiring the dump file has not been constructed, the environment construction unit 54 requests the checkpoint setting unit 57 to set a checkpoint. When the checkpoint setting unit 57 is requested to set a checkpoint, it sets all initial setting values (specifically, network addresses, partitions, etc.) that have been set since the first kernel 50 was started up to the present time and the data length of the initial setting values as checkpoints. Then, the checkpoint setting unit 57 requests the dump operation unit 56 to register the set checkpoint. When the dump operation unit 56 is requested to register a checkpoint, it registers the checkpoint in the dump save area 111. As a result, as shown in FIG. 5, the initial setting values as checkpoints and the data length of the initial setting values are registered in the dump save area 111.

チェックポイントが設定されると、次いで、環境構築部54は識別子を構築中に書き換える(ステップS5)。具体的には、環境構築部54は取得環境状態識別子の識別子「1」への書き換えをダンプ操作部56に依頼する。ダンプ操作部56は書き換えが依頼されると、取得環境状態識別子の識別子「0」を削除して識別子「1」をダンプ退避域111に登録する。これにより、ダンプ退避域テーブルT1の取得環境状態識別子が構築中を表す識別子「1」に書き換わり、第2カーネル60用のメモリ使用量の設定を開始する状態に移行する。 When the checkpoint is set, the environment construction unit 54 then rewrites the identifier to "under construction" (step S5). Specifically, the environment construction unit 54 requests the dump operation unit 56 to rewrite the acquired environment state identifier to the identifier "1". When the dump operation unit 56 is requested to rewrite, it deletes the identifier "0" from the acquired environment state identifier and registers the identifier "1" in the dump evacuation area 111. As a result, the acquired environment state identifier in the dump evacuation area table T1 is rewritten to the identifier "1" indicating that construction is in progress, and the state transitions to one in which setting of memory usage for the second kernel 60 begins.

識別子が構築中に書き換わると、環境構築部54はサーバ装置100内の全メモリ量を第2カーネル60の動作用に割り当てる(ステップS6)。この全メモリ量はRAM100Bの容量に相当する。これにより、メモリ不足に伴う第2カーネル60の動作中断や動作遅延を回避することができる。その後、第2カーネル実行指示部58は第2カーネル60の実行を指示する(ステップS7)。具体的には、第2カーネル実行指示部58は第2カーネル60の第2カーネル実行部61に第2カーネル60の実行を指示する。第2カーネル実行指示部58が第2カーネル60の実行を指示すると、第1カーネル実行部51は初期設定の途中であっても第1カーネルの起動を一時的に終了して、強制的に第2カーネル60の実行に切り替える。 When the identifier is rewritten during construction, the environment construction unit 54 allocates the entire memory capacity in the server device 100 for the operation of the second kernel 60 (step S6). This total memory capacity corresponds to the capacity of the RAM 100B. This makes it possible to avoid interruptions or delays in the operation of the second kernel 60 due to memory shortages. Thereafter, the second kernel execution instruction unit 58 instructs the execution of the second kernel 60 (step S7). Specifically, the second kernel execution instruction unit 58 instructs the second kernel execution unit 61 of the second kernel 60 to execute the second kernel 60. When the second kernel execution instruction unit 58 instructs the execution of the second kernel 60, the first kernel execution unit 51 temporarily terminates the startup of the first kernel even if it is in the middle of initial configuration, and forcibly switches to the execution of the second kernel 60.

第2カーネル60の実行が指示されると、図6に示すように、第2カーネル実行部61は第2カーネル60を起動する(ステップS8)。第2カーネル実行部61が第2カーネル60を起動すると、次いで、メモリ使用量測定部62は測定処理を実行する(ステップS9)。詳細は後述するが、測定処理は第2カーネル60が動作する際に使用するメモリ量を実際に測定(実測)し、最大のメモリ使用量を出力する処理である。メモリ使用量測定部62は測定処理を実行することにより、第2カーネル60の使用に要する最大のメモリ使用量を特定することができる。 When execution of the second kernel 60 is instructed, the second kernel execution unit 61 starts the second kernel 60 as shown in FIG. 6 (step S8). After the second kernel execution unit 61 starts the second kernel 60, the memory usage measurement unit 62 then executes a measurement process (step S9). Details will be described later, but the measurement process is a process that actually measures (measures) the amount of memory used when the second kernel 60 operates and outputs the maximum memory usage. By executing the measurement process, the memory usage measurement unit 62 can identify the maximum memory usage required for use of the second kernel 60.

メモリ使用量が特定されると、次いで、メモリ使用量登録部63はメモリ使用量を登録する(ステップS10)。具体的には、メモリ使用量登録部63はダンプ退避域111にアクセスし、メモリ使用量を登録する。これにより、図5に示すように、ダンプ退避域テーブルT1の第2カーネルメモリ使用量に、特定されたメモリ使用量が登録される。第2カーネルメモリ使用量に登録されるメモリ使用量は例えば128メガバイト(MB)から512メガバイト程度までの数百メガバイト単位のメモリ使用量が登録される。 Once the memory usage has been identified, the memory usage registration unit 63 then registers the memory usage (step S10). Specifically, the memory usage registration unit 63 accesses the dump save area 111 and registers the memory usage. As a result, as shown in FIG. 5, the identified memory usage is registered in the second kernel memory usage of the dump save area table T1. The memory usage registered in the second kernel memory usage is, for example, in units of several hundred megabytes, ranging from 128 megabytes (MB) to approximately 512 megabytes.

メモリ使用量が登録されると、第1カーネル実行指示部64は第1カーネル50の実行を指示する(ステップS11)。具体的には、第1カーネル実行指示部64は第1カーネル50の第1カーネル実行部51に第1カーネル50の実行を指示する。これにより、図4に示すステップS1の処理が再び実行される。第1カーネル実行指示部64が第1カーネル50の実行を指示すると、第2カーネル実行部61は第2カーネルの起動を終了する。 When the memory usage is registered, the first kernel execution instruction unit 64 instructs the first kernel 50 to be executed (step S11). Specifically, the first kernel execution instruction unit 64 instructs the first kernel execution unit 51 of the first kernel 50 to execute the first kernel 50. As a result, the process of step S1 shown in FIG. 4 is executed again. When the first kernel execution instruction unit 64 instructs the execution of the first kernel 50, the second kernel execution unit 61 ends the startup of the second kernel.

図4に戻り、第1カーネル50の実行が指示されると、ステップS1の処理において第1カーネル実行部51は第1カーネル50を起動する。ここで、上述したステップS5の処理において、取得構築状態識別子が識別子「1」に書き換えられている。このため、ステップS2の処理において第1判定部52は取得環境が構築済でないと判定するが、ステップS3の処理において第1判定部52は取得環境が構築中であると判定する(ステップS3:YES)。これにより、ダンプ操作部56はダンプ退避域111から各種の情報を取得する(ステップS12)。具体的には、ダンプ操作部56は第2カーネルメモリ使用量、データ長、及び第1カーネル初期設定値の各値を取得する。 Returning to FIG. 4, when execution of the first kernel 50 is instructed, the first kernel execution unit 51 starts the first kernel 50 in the process of step S1. Here, in the process of step S5 described above, the acquisition construction state identifier is rewritten to the identifier "1". Therefore, in the process of step S2, the first determination unit 52 determines that the acquisition environment has not been constructed, but in the process of step S3, the first determination unit 52 determines that the acquisition environment is being constructed (step S3: YES). As a result, the dump operation unit 56 acquires various information from the dump save area 111 (step S12). Specifically, the dump operation unit 56 acquires the values of the second kernel memory usage, data length, and first kernel initial setting value.

ダンプ操作部56が各種の情報を取得すると、環境構築部54は、データ長に基づいて、データ長が0(ゼロ)であるか否かを判定する(ステップS13)。データ長が0でない場合(ステップS13:NO)、第1カーネル初期設定値が存在するため、チェックポイント設定部57は第1カーネル初期設定値に基づいて初期設定を復元する(ステップS14)。復元した初期設定が初期設定を再開するチェックポイントになる。環境構築部54は、このチェックポイントを基準に再び初期設定を継続する。なお、データ長が0である場合(ステップS13:YES)、第1カーネル初期設定値が存在しないため、チェックポイント設定部57はステップS14の処理をスキップする。 When the dump operation unit 56 acquires various information, the environment construction unit 54 determines whether the data length is 0 (zero) based on the data length (step S13). If the data length is not 0 (step S13: NO), the first kernel initial setting value exists, so the checkpoint setting unit 57 restores the initial settings based on the first kernel initial setting value (step S14). The restored initial settings become a checkpoint for resuming the initial settings. The environment construction unit 54 continues the initial settings again based on this checkpoint. Note that if the data length is 0 (step S13: YES), the first kernel initial setting value does not exist, so the checkpoint setting unit 57 skips the processing of step S14.

次に、環境構築部54は、第2カーネルメモリ使用量に基づいて、メモリ割当量を見積もる(ステップS15)。例えば、環境構築部54は第2カーネルメモリ使用量をそのままメモリ割当量として見積もってもよいし、第2カーネルメモリ使用量と、その第2カーネルメモリ使用量より大きなメモリ使用量を算出する所定の算出式とに基づいてメモリ使用量を算出し、そのメモリ使用量をメモリ割当量として見積もってもよい。単に、メモリ使用量に余裕をもたせるために、第2カーネルメモリ使用量に所定のメモリ使用量を加算したメモリ使用量をメモリ割当量として見積もってもよい。 Next, the environment construction unit 54 estimates the memory allocation based on the second kernel memory usage (step S15). For example, the environment construction unit 54 may estimate the second kernel memory usage as the memory allocation as is, or may calculate the memory usage based on the second kernel memory usage and a predetermined calculation formula that calculates a memory usage larger than the second kernel memory usage, and estimate the memory usage as the memory allocation. Simply, to allow for some leeway in memory usage, the memory usage calculated by adding a predetermined memory usage to the second kernel memory usage may be estimated as the memory allocation.

環境構築部54はメモリ割当量を見積もると、そのメモリ割当量を第1カーネル50に設定する(ステップS16)。これにより、第1カーネル50の起動時に第1カーネル50はそのメモリ割当量の第2カーネルメモリ領域122を主記憶部120に予約することができる。メモリ割当量が設定されると、次いで、環境構築部54は識別子を構築済に書き換える(ステップS17)。具体的には、環境構築部54は取得環境状態識別子の識別子「2」への書き換えをダンプ操作部56に依頼する。ダンプ操作部56は書き換えが依頼されると、取得環境状態識別子の識別子「1」を削除して識別子「2」をダンプ退避域111に登録する。これにより、ダンプ退避域テーブルT1の取得環境状態識別子が構築済を表す識別子「2」に書き換わり、第2カーネル60用のメモリ使用量の設定が終了した状態に移行する。 When the environment construction unit 54 estimates the memory allocation amount, it sets the memory allocation amount to the first kernel 50 (step S16). As a result, when the first kernel 50 is started, the first kernel 50 can reserve the second kernel memory area 122 of that memory allocation amount in the main memory unit 120. After the memory allocation amount is set, the environment construction unit 54 then rewrites the identifier to "constructed" (step S17). Specifically, the environment construction unit 54 requests the dump operation unit 56 to rewrite the acquired environment state identifier to the identifier "2". When the dump operation unit 56 is requested to rewrite, it deletes the identifier "1" of the acquired environment state identifier and registers the identifier "2" in the dump evacuation area 111. As a result, the acquired environment state identifier in the dump evacuation area table T1 is rewritten to the identifier "2" indicating "constructed", and the state transitions to a state in which the setting of the memory usage amount for the second kernel 60 has been completed.

ステップS17の処理が完了すると、環境構築部54はダンプ退避域テーブルT1を初期化する(ステップS18)。具体的には、環境構築部54は第2カーネルメモリ使用量、データ長、及び第1カーネル初期設定値の各値の削除をダンプ操作部56に依頼する。ダンプ操作部56は削除が依頼されると、ダンプ退避域111のダンプ退避域テーブルT1から第2カーネルメモリ使用量、データ長、及び第1カーネル初期設定値の各値を削除する。これにより、ダンプ退避域テーブルT1の取得環境状態識別子に識別子「2」が残存し、第2カーネルメモリ使用量、データ長、及び第1カーネル初期設定値のそれぞれに値がない状態になる。 When the processing of step S17 is completed, the environment construction unit 54 initializes the dump evacuation area table T1 (step S18). Specifically, the environment construction unit 54 requests the dump operation unit 56 to delete the values of the second kernel memory usage, data length, and first kernel initial setting value. When the dump operation unit 56 receives the deletion request, it deletes the values of the second kernel memory usage, data length, and first kernel initial setting value from the dump evacuation area table T1 of the dump evacuation area 111. As a result, the identifier "2" remains in the acquired environment state identifier of the dump evacuation area table T1, and the second kernel memory usage, data length, and first kernel initial setting value each have no value.

ステップS18の処理が完了すると、環境構築部54は第1カーネル50の起動を継続し(ステップS19)、初期設定部55が初期設定の処理を進行する。そして、初期設定部55が初期設定を終えると、第1カーネル50は処理を終了する。なお、上述したステップS2の処理において、取得環境が構築済である判定した場合(ステップS2:YES)、環境構築部54はステップS19を実行する。そして、初期設定部55が初期設定を終えると、第1カーネル50は処理を終了する。 When the processing of step S18 is completed, the environment construction unit 54 continues to start the first kernel 50 (step S19), and the initial setting unit 55 proceeds with the initial setting processing. Then, when the initial setting unit 55 finishes the initial setting, the first kernel 50 ends the processing. Note that, in the processing of step S2 described above, if it is determined that the acquisition environment has been constructed (step S2: YES), the environment construction unit 54 executes step S19. Then, when the initial setting unit 55 finishes the initial setting, the first kernel 50 ends the processing.

次に、図7(a)及び(b)並びに図8を参照して、上述した測定処理について説明する。 Next, the above-mentioned measurement process will be explained with reference to Figures 7(a) and (b) and Figure 8.

図7(a)はメモリ獲得処理の一例を示すフローチャートである。図7(b)はメモリ解放処理の一例を示すフローチャートである。図8は新メモリ使用量の推移を示すグラフである。上述した測定処理にメモリ獲得処理及びメモリ解放処理が含まれている。まず、第2カーネル60が起動すると、図7(a)に示すように、メモリ使用量測定部62はメモリを獲得する(ステップS31)。すなわち、第2カーネル60の動作に使用する量のメモリをメモリ使用量測定部62が獲得する。この量はメモリ獲得を要求するプログラムが設定した量に相当する。 Figure 7(a) is a flowchart showing an example of memory acquisition processing. Figure 7(b) is a flowchart showing an example of memory release processing. Figure 8 is a graph showing the progress of new memory usage. The measurement processing described above includes memory acquisition processing and memory release processing. First, when the second kernel 60 starts up, as shown in Figure 7(a), the memory usage measurement unit 62 acquires memory (step S31). That is, the memory usage measurement unit 62 acquires the amount of memory to be used for the operation of the second kernel 60. This amount corresponds to the amount set by the program requesting memory acquisition.

次に、メモリ使用量測定部62は現メモリ使用量にメモリ獲得量を加算した新メモリ使用量を算出する(ステップS32)。現メモリ使用量の初期値は0(ゼロ)である。メモリ獲得量はメモリ使用量測定部62が獲得したメモリの量である。したがって、図8に示すように、新メモリ使用量が時刻の経過に伴い右肩上がりである時刻t1まで第2カーネル60の処理量に応じた新メモリ量が獲得される。 Next, the memory usage measurement unit 62 calculates a new memory usage by adding the acquired memory amount to the current memory usage amount (step S32). The initial value of the current memory usage amount is 0 (zero). The acquired memory amount is the amount of memory acquired by the memory usage measurement unit 62. Therefore, as shown in FIG. 8, a new memory amount according to the processing amount of the second kernel 60 is acquired until time t1, at which time the new memory usage amount increases steadily with the passage of time.

次に、メモリ使用量測定部62は新メモリ使用量が最大メモリ使用量より大きいか否かを判定する(ステップS33)。新メモリ使用量が最大メモリ使用量より大きい場合(ステップS33:YES)、最大メモリ使用量に新メモリ使用量を設定する(ステップS34)。すなわち、最大メモリ使用量は新メモリ使用量に更新される。これにより、図8に示すように、時刻t1までの最大メモリ使用量を特定することができる。なお、新メモリ使用量が最大メモリ使用量以下の場合(ステップS33:NO)、ステップS34の処理はスキップされる。このため、最大メモリ使用量は更新されずに維持される。 Next, the memory usage measurement unit 62 determines whether the new memory usage is greater than the maximum memory usage (step S33). If the new memory usage is greater than the maximum memory usage (step S33: YES), the maximum memory usage is set to the new memory usage (step S34). That is, the maximum memory usage is updated to the new memory usage. This makes it possible to identify the maximum memory usage up to time t1, as shown in FIG. 8. Note that if the new memory usage is equal to or less than the maximum memory usage (step S33: NO), the processing of step S34 is skipped. Therefore, the maximum memory usage is maintained without being updated.

一方、第2カーネル60の処理の一部を実行し終えると、図7(b)に示すように、メモリ使用量測定部62はメモリを解放する(ステップS41)。すなわち、第2カーネル60の一部の動作に使用していた量のメモリをメモリ使用量測定部62が解放する。この量はメモリ解放を要求するプログラムが設定した量に相当する。 On the other hand, when the execution of part of the processing of the second kernel 60 is completed, the memory usage measurement unit 62 releases the memory as shown in FIG. 7(b) (step S41). That is, the memory usage measurement unit 62 releases the amount of memory that was used for the operation of part of the second kernel 60. This amount corresponds to the amount set by the program requesting the memory release.

次に、メモリ使用量測定部62は現メモリ使用量からメモリ解放量を減算した新メモリ使用量を算出する(ステップS42)。メモリ解放量はメモリ使用量測定部62が解放したメモリの量である。このように、第2カーネル60の一部の処理を実行し終えるとメモリが解放される。この結果、図8に示すように、例えば時刻t1を経過すると、新メモリ使用量が右肩下がりになる。 Next, the memory usage measurement unit 62 calculates a new memory usage by subtracting the memory release amount from the current memory usage (step S42). The memory release amount is the amount of memory released by the memory usage measurement unit 62. In this way, memory is released when execution of part of the processing of the second kernel 60 is completed. As a result, as shown in FIG. 8, for example, after time t1, the new memory usage starts to decline.

このように、メモリ使用量測定部62は第2カーネル60の処理状況に応じてメモリ獲得処理とメモリ解放処理を独立して実行したり、並行して実行したりして、最大メモリ使用量を測定する。メモリ使用量測定部62は最大メモリ使用量を測定し終えると、新メモリ使用量が百分率で表されているため、例えばメモリ容量と、新メモリ使用量と、百分率をメガバイトに変換する所定の変換式に基づいて、新メモリ使用量をメガバイト単位のメモリ使用量に変換して出力する。 In this way, the memory usage measurement unit 62 measures the maximum memory usage by executing the memory acquisition process and the memory release process independently or in parallel depending on the processing status of the second kernel 60. After the memory usage measurement unit 62 finishes measuring the maximum memory usage, since the new memory usage is expressed as a percentage, it converts the new memory usage into memory usage in megabytes based on, for example, the memory capacity, the new memory usage, and a predetermined conversion formula that converts percentages into megabytes, and outputs the converted new memory usage.

次に、図9を参照して、第1実施形態を比較例と対比して説明する。 Next, the first embodiment will be described in comparison with a comparative example with reference to FIG.

図9は比較例と第1実施形態を説明する図である。まず、図9の上段に示す比較例の場合、第1カーネル50は、作業担当者によって1回目に指定されたメモリ量で第2カーネル60用のメモリ使用量を設定する。第2カーネル60用のメモリ使用量が設定されると、第2カーネル60はkdump処理を実行し、ダンプファイルの取得を試みる。この際、ダンプファイルの取得に失敗していれば、設定されたメモリ使用量が不足しており、作業担当者は1回目に指定したメモリ量より大きなメモリ量を指定して、第1カーネル50の再設定を試みる。 Figure 9 is a diagram for explaining a comparative example and the first embodiment. First, in the case of the comparative example shown in the upper part of Figure 9, the first kernel 50 sets the memory usage for the second kernel 60 to the memory amount specified the first time by the worker. When the memory usage for the second kernel 60 is set, the second kernel 60 executes the kdump process and attempts to obtain a dump file. At this time, if obtaining the dump file fails, the set memory usage is insufficient, and the worker specifies a memory amount larger than the memory amount specified the first time and attempts to reconfigure the first kernel 50.

一方、設定されたメモリ使用量が第2カーネル60の動作に支障のない十分な大きさである場合、設定完了としてもよい。しかしながら、指定したメモリ量が第2カーネル60の実際のメモリ使用量に対して必要以上に大きな場合にはメモリ量に無駄があり、最適なメモリ使用量が設定されたか明らかでない。場合によっては、第1カーネル50の動作に支障がある可能性がある。このため、作業担当者は実機を確認し、最適なメモリ使用量でないと判断した場合には、メモリ量を再び指定する。作業担当者は2回目の作業においても1回目と同様の結果が得られた場合には3回目の作業を実施し、以後、作業担当者が最適なメモリ使用量であると判断するまで作業を繰り返す。このように、比較例の場合には、作業が煩雑な上に適切であるかの評価が難しかった。 On the other hand, if the set memory usage is large enough so that it does not interfere with the operation of the second kernel 60, the setting may be completed. However, if the specified memory amount is larger than necessary compared to the actual memory usage of the second kernel 60, there is waste of memory amount, and it is unclear whether the optimal memory usage amount has been set. In some cases, this may interfere with the operation of the first kernel 50. For this reason, the worker checks the actual machine, and if it is determined that the memory usage amount is not optimal, the worker specifies the memory amount again. If the worker obtains the same results in the second operation as in the first operation, the worker performs the operation a third time, and thereafter repeats the operation until the worker determines that the memory usage amount is optimal. Thus, in the comparative example, the operation was complicated and it was difficult to evaluate whether it was appropriate.

しかしながら、図9の下段に示す第1実施形態によれば、第1カーネル50は、作業担当者によるメモリ量の指定がなくても、初期設定を開始する。第1カーネル50はチェックポイントを設定すると、初期設定の途中であっても第2カーネル60を起動して、第1カーネル50の処理を一時的に終了する。第2カーネル60はkdump処理を実行し、kdump処理の際に第2カーネル60が実際に使用する最大のメモリ使用量を測定して、ダンプ退避域111に登録する。第2カーネル60はkdump処理が終了すると第1カーネル50を起動する。 However, according to the first embodiment shown in the lower part of Figure 9, the first kernel 50 starts the initial setting even if the worker does not specify the memory amount. When the first kernel 50 sets a checkpoint, it starts the second kernel 60 even if the initial setting is in the middle of being performed, and temporarily ends the processing of the first kernel 50. The second kernel 60 executes the kdump process, measures the maximum memory usage actually used by the second kernel 60 during the kdump process, and registers it in the dump save area 111. When the kdump process ends, the second kernel 60 starts the first kernel 50.

第1カーネル50が起動すると、第1カーネル50はダンプ退避域111に登録されたメモリ使用量に基づいて、第2カーネル60用のメモリ割当量を見積もり、チェックポイントから初期設定を再開する。このように、作業担当者によるメモリ量の指定がなくても、第2カーネル60が実際に使用する最大のメモリ使用量に基づいて、第1カーネル50はメモリ割当量を見積もり、見積もったメモリ割当量を自身に設定する。このため、作業担当者は煩雑な作業を実施せずに、適応的なメモリ使用量を短時間で見積もることができる。 When the first kernel 50 starts up, it estimates the memory allocation for the second kernel 60 based on the memory usage registered in the dump save area 111, and resumes the initial settings from the checkpoint. In this way, even if the worker does not specify the memory amount, the first kernel 50 estimates the memory allocation based on the maximum memory usage actually used by the second kernel 60, and sets the estimated memory allocation for itself. Therefore, the worker can estimate an adaptive memory usage in a short time without performing complicated work.

以上、第1実施形態によれば、サーバ装置100は、第1カーネル実行部51と第2カーネル実行部61とメモリ使用量測定部62と環境構築部54とを備えている。第1カーネル実行部51はOS障害時のメモリ内容を表すダンプファイルの取得環境を設定する第1カーネル50を実行する。第2カーネル実行部61はダンプファイルの取得環境の設定途中でダンプファイルを取得する第2カーネル60を実行する。メモリ使用量測定部62は第2カーネル60の起動中に第2カーネル60のメモリ使用量を測定する。環境構築部54はメモリ使用量測定部62が測定したメモリ使用量に基づいて、第2カーネル60の使用に割り当てるメモリ割当量を見積もる。これにより、第2カーネル60の使用に割り当てる適応的なメモリ量を短時間で見積もることができる。 As described above, according to the first embodiment, the server device 100 includes a first kernel execution unit 51, a second kernel execution unit 61, a memory usage measurement unit 62, and an environment construction unit 54. The first kernel execution unit 51 executes the first kernel 50, which sets the environment for acquiring a dump file that represents memory contents at the time of an OS failure. The second kernel execution unit 61 executes the second kernel 60, which acquires a dump file in the middle of setting the environment for acquiring the dump file. The memory usage measurement unit 62 measures the memory usage of the second kernel 60 while the second kernel 60 is running. The environment construction unit 54 estimates the memory allocation amount to be allocated to the use of the second kernel 60 based on the memory usage measured by the memory usage measurement unit 62. This makes it possible to estimate an adaptive memory amount to be allocated to the use of the second kernel 60 in a short time.

ここで、第2カーネル60の使用に割り当てる適応的なメモリ量を、例えば第1カーネル50の起動に要するメモリ量に基づいて推測することも想定することができる。ところが、第1カーネル50はスワップ領域を使用して起動する一方で、第2カーネル60はスワップ領域を使用せずに起動する。このため、第1カーネル50の起動に要するメモリ量は、第2カーネル60の起動に要するメモリ量より傾向的に小さくなる。したがって、第1カーネル50の起動に要するメモリ量を利用しても、必ずしも第2カーネル60の使用に割り当てる適応的なメモリ量を見積もることができない。 Here, it is also conceivable that the adaptive memory amount to be allocated for use by the second kernel 60 can be estimated based on, for example, the amount of memory required to start the first kernel 50. However, while the first kernel 50 starts up using a swap area, the second kernel 60 starts up without using a swap area. For this reason, the amount of memory required to start the first kernel 50 tends to be smaller than the amount of memory required to start the second kernel 60. Therefore, even if the amount of memory required to start the first kernel 50 is used, it is not necessarily possible to estimate the adaptive memory amount to be allocated for use by the second kernel 60.

また、第2カーネル60が有する個々のソフトウェア(例えばドライバやミドルウェアなど)が使用するメモリ量を算出し、算出したメモリ量の総和を求めて第2カーネル60用に割り当てるメモリ使用量を決定することも想定することができる。ところが、第2カーネル60が有する個々のソフトウェアは多種多様であり、すべてのソフトウェアに関するメモリ使用量を事前に調査することは極めて難しい。また、第2カーネル60が動作するハードウェア環境によって使用するメモリ量がばらつくため、メモリ使用量を見積もる見積式が複雑になりかねない。しかしながら、本第1実施形態及び後述する第2実施形態によれば、作業担当者はメモリ量の煩雑な検証を行わなくても、第2カーネル60の使用に割り当てる適応的なメモリ量を短時間で見積もることができる。 It is also conceivable to calculate the amount of memory used by each piece of software (e.g., drivers, middleware, etc.) owned by the second kernel 60, and determine the memory usage to be allocated to the second kernel 60 by calculating the sum of the calculated memory amounts. However, the individual pieces of software owned by the second kernel 60 are diverse, and it is extremely difficult to investigate the memory usage of all the software in advance. In addition, since the amount of memory used varies depending on the hardware environment in which the second kernel 60 operates, the estimation formula for estimating the memory usage may become complicated. However, according to the first embodiment and the second embodiment described later, the operator can estimate an adaptive amount of memory to be allocated to the second kernel 60 in a short time without having to perform cumbersome verification of the memory amount.

(第2実施形態)
続いて、図10及び図11を参照して、本件の第2実施形態について説明する。図10は第1カーネル50が実行する処理の他の一例を示すフローチャートである。図10に示すように、第1カーネル50の第2判定部53は構成変更の指示があるまで待機する(ステップS51:NO)。例えば、第2判定部53は作業担当者からメモリ割当量を変更する指示を検出するまで待機する。第2判定部53は構成変更の指示があったと判定した場合(ステップS51:YES)、環境構築部54は識別子を構築中に書き換える(ステップS52)。なお、構成変更の場合には、ダンプ退避域テーブルT1の取得環境状態識別子には構築済を表す識別子「2」が登録されているため、ダンプ操作部56は書き換えが依頼されると、取得環境状態識別子の識別子「2」を削除して識別子「1」をダンプ退避域111に登録する。
Second Embodiment
Next, the second embodiment of the present invention will be described with reference to FIG. 10 and FIG. 11. FIG. 10 is a flowchart showing another example of the process executed by the first kernel 50. As shown in FIG. 10, the second determination unit 53 of the first kernel 50 waits until it receives an instruction to change the configuration (step S51: NO). For example, the second determination unit 53 waits until it detects an instruction to change the memory allocation amount from the worker. When the second determination unit 53 determines that an instruction to change the configuration has been received (step S51: YES), the environment construction unit 54 rewrites the identifier to "under construction" (step S52). In the case of a configuration change, since the identifier "2" indicating "constructed" is registered in the acquired environment state identifier of the dump evacuation area table T1, when the dump operation unit 56 is requested to rewrite, it deletes the identifier "2" of the acquired environment state identifier and registers the identifier "1" in the dump evacuation area 111.

識別子が構築中に書き換わると、環境構築部54はサーバ装置100内の全メモリ量を第2カーネル60の動作用に割り当てる(ステップS53)。ステップS53の処理が完了すると、第2カーネル実行指示部58は第2カーネル60の実行を指示し(ステップS54)、処理を終了する。なお、第2カーネルが実行する処理については、図6を参照して説明した第1実施形態と同様であるため、詳細な説明を省略する。また、第2カーネルが処理を実行し終えた後の処理については、図4を参照して説明した第1実施形態と同様であるため、詳細な説明を省略する。第2実施形態では初期設定値がダンプ退避域111に登録されないため、環境構築部54は図4のステップS13の処理において、データ長が0であると判定する。 When the identifier is rewritten during construction, the environment construction unit 54 allocates the entire memory capacity in the server device 100 for the operation of the second kernel 60 (step S53). When the processing of step S53 is completed, the second kernel execution instruction unit 58 instructs the execution of the second kernel 60 (step S54) and ends the processing. Note that the processing executed by the second kernel is similar to that of the first embodiment described with reference to FIG. 6, and therefore a detailed description thereof will be omitted. In addition, the processing after the second kernel has finished executing the processing is similar to that of the first embodiment described with reference to FIG. 4, and therefore a detailed description thereof will be omitted. In the second embodiment, the initial setting value is not registered in the dump save area 111, so the environment construction unit 54 determines that the data length is 0 in the processing of step S13 in FIG. 4.

図11は第2実施形態を説明する図である。第2実施形態によれば、第1カーネル50は、作業担当者によるメモリ量の指定がなくても構成変更の指示があれば、全メモリ量を第2カーネル60の動作用に割り当る。そして、第1カーネル50は、第2カーネル60を起動して、第1カーネル50の処理を終了する。第2カーネル60はkdump処理を実行し、kdump処理の際に第2カーネル60が実際に使用する最大のメモリ使用量を測定して、ダンプ退避域111に登録する。第2カーネル60はダンプ処理が終了すると第1カーネル50を起動する。 Figure 11 is a diagram illustrating the second embodiment. According to the second embodiment, the first kernel 50 allocates the entire memory amount for the operation of the second kernel 60 if there is an instruction to change the configuration, even if the memory amount is not specified by the worker. The first kernel 50 then starts the second kernel 60 and ends the processing of the first kernel 50. The second kernel 60 executes the kdump process, measures the maximum memory usage actually used by the second kernel 60 during the kdump process, and registers it in the dump save area 111. The second kernel 60 starts the first kernel 50 when the dump process ends.

第1カーネル50が起動すると、第1カーネル50はダンプ退避域111に登録されたメモリ使用量に基づいて、第2カーネル60用のメモリ割当量を見積もる。このように、作業担当者によるメモリ量の指定がなくても、第2カーネル60が実際に使用する最大のメモリ使用量に基づいて、第1カーネル50はメモリ割当量を見積もる。このように、第2実施形態であっても、作業担当者は煩雑な作業を実施せずに、適応的なメモリ使用量を短時間で見積もることができる。 When the first kernel 50 starts, the first kernel 50 estimates the memory allocation for the second kernel 60 based on the memory usage registered in the dump save area 111. In this way, even if the worker does not specify the memory amount, the first kernel 50 estimates the memory allocation based on the maximum memory usage actually used by the second kernel 60. In this way, even in the second embodiment, the worker can estimate an adaptive memory usage in a short time without performing complicated work.

以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The above describes in detail preferred embodiments of the present invention, but the present invention is not limited to these specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention as described in the claims.

なお、以上の説明に関して更に以下の付記を開示する。
(付記1)OS障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行する第1実行部と、前記ダンプを取得する第2カーネルを実行する第2実行部と、前記取得環境の設定途中で前記第2カーネルに前記ダンプの取得を指示する実行指示部と、前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定する測定部と、測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる見積部と、を有するメモリ割当装置。
(付記2)前記取得環境の設定再開時を設定する設定部を含み、前記見積部は、前記設定再開時から前記取得環境の設定を再開する、ことを特徴とする付記1に記載のメモリ割当装置。
(付記3)前記第2実行部は、前記メモリ割当装置が備える主記憶部の全容量が前記第1カーネルによって前記第2カーネルの使用に割り当てられてから、前記第2カーネルを実行する、ことを特徴とする付記1又は2に記載のメモリ割当装置。
(付記4)前記ダンプは前記メモリ内容におけるカーネル部分を表す、ことを特徴とする付記1から3のいずれか1項に記載のメモリ割当装置。
(付記5)OS障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行し、前記取得環境の設定途中で、前記ダンプを取得する第2カーネルに前記ダンプの取得を指示し、前記指示に応じて、前記ダンプを取得する第2カーネルを実行し、前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定し、測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる、処理をコンピュータに実行させるためのメモリ割当プログラム。
(付記6)前記取得環境の設定再開時を設定する処理を含み、前記メモリ割当量を見積もる処理は、前記設定再開時から前記取得環境の設定を再開する、ことを特徴とする付記5に記載のメモリ割当プログラム。
(付記7)前記第2カーネルを実行する処理は、前記コンピュータが備える主記憶部の全容量が前記第1カーネルによって前記第2カーネルの使用に割り当てられてから、前記第2カーネルを実行する、ことを特徴とする付記5又は6に記載のメモリ割当プログラム。
(付記8)前記ダンプは前記メモリ内容におけるカーネル部分を表す、ことを特徴とする付記5から7のいずれか1項に記載のメモリ割当プログラム。
(付記9)OS障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行し、前記取得環境の設定途中で、前記ダンプを取得する第2カーネルに前記ダンプの取得を指示し、前記指示に応じて、前記ダンプを取得する第2カーネルを実行し、前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定し、測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる、処理をコンピュータが実行するメモリ割当方法。
In addition, the following supplementary notes are provided in relation to the above description.
(Supplementary Note 1) A memory allocation device having a first execution unit that executes a first kernel that sets up an environment for acquiring a dump representing memory contents in the event of an OS failure, a second execution unit that executes a second kernel that acquires the dump, an execution instruction unit that instructs the second kernel to acquire the dump while the acquisition environment is being set, a measurement unit that measures memory usage of the second kernel while the second kernel is running, and an estimation unit that estimates a memory allocation amount to be allocated to use by the second kernel based on the measured memory usage.
(Supplementary Note 2) A memory allocation device as described in Supplementary Note 1, further comprising a setting unit that sets the time when the setting of the acquisition environment is resumed, and the estimation unit resumes the setting of the acquisition environment from the time when the setting is resumed.
(Appendix 3) The memory allocation device described in Appendix 1 or 2, characterized in that the second execution unit executes the second kernel after the entire capacity of the main memory unit of the memory allocation device has been allocated for use by the second kernel by the first kernel.
(Supplementary Note 4) A memory allocation device as described in any one of Supplementary Notes 1 to 3, characterized in that the dump represents a kernel portion of the memory contents.
(Additional Note 5) A memory allocation program for causing a computer to execute a process of executing a first kernel that sets up an environment for acquiring a dump representing memory contents in the event of an OS failure, instructing a second kernel that acquires the dump to acquire the dump during the setting of the acquisition environment, executing the second kernel that acquires the dump in response to the instruction, measuring memory usage of the second kernel while the second kernel is running, and estimating a memory allocation amount to be allocated to use by the second kernel based on the measured memory usage.
(Appendix 6) A memory allocation program as described in Appendix 5, characterized in that it includes a process of setting the time when the setting of the acquisition environment is resumed, and the process of estimating the memory allocation amount resumes the setting of the acquisition environment from the time when the setting is resumed.
(Appendix 7) The memory allocation program described in Appendix 5 or 6, characterized in that the process of executing the second kernel executes the second kernel after the entire capacity of the main memory unit of the computer has been allocated by the first kernel for use by the second kernel.
(Appendix 8) A memory allocation program according to any one of Appendices 5 to 7, characterized in that the dump represents a kernel portion of the memory contents.
(Supplementary Note 9) A memory allocation method in which a computer executes a process of executing a first kernel that sets up an environment for acquiring a dump representing memory contents in the event of an OS failure, instructing a second kernel that acquires the dump to acquire the dump during the setting of the acquisition environment, executing the second kernel that acquires the dump in response to the instruction, measuring memory usage of the second kernel while the second kernel is running, and estimating a memory allocation amount to be allocated to use by the second kernel based on the measured memory usage.

50 第1カーネル
51 第1カーネル実行部(第1実行部)
54 環境構築部(見積部)
57 チェックポイント設定部(設定部)
58 第2カーネル実行指示部(実行指示部)
60 第2カーネル
61 第2カーネル実行部(第2実行部)
62 メモリ使用量測定部(測定部)
100 サーバ装置
110 補助記憶部
111 ダンプ退避域
120 主記憶部
130 処理部
50 First kernel 51 First kernel execution unit (first execution unit)
54. Environment Construction Department (Estimation Department)
57 Checkpoint setting unit (setting unit)
58 Second kernel execution instruction unit (execution instruction unit)
60 Second kernel 61 Second kernel execution unit (second execution unit)
62 Memory usage measurement unit (measurement unit)
Reference Signs List 100 Server device 110 Auxiliary storage unit 111 Dump save area 120 Main storage unit 130 Processing unit

Claims (5)

OS(オペレーティングシステム)障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行する第1実行部と、
前記ダンプを取得する第2カーネルを実行する第2実行部と、
前記取得環境の設定途中で前記第2カーネルに前記ダンプの取得を指示する実行指示部と、
前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定する測定部と、
測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる見積部と、
を有するメモリ割当装置。
a first execution unit that executes a first kernel that sets an environment for acquiring a dump representing memory contents when an OS (operating system) fails;
a second execution unit that executes a second kernel that acquires the dump;
an execution instruction unit that instructs the second kernel to acquire the dump during the setting of the acquisition environment;
a measurement unit that measures a memory usage of the second kernel while the second kernel is running;
an estimation unit that estimates a memory allocation to be allocated to the second kernel based on the measured memory usage;
A memory allocation apparatus having:
前記取得環境の設定再開時を設定する設定部を含み、
前記見積部は、前記設定再開時から前記取得環境の設定を再開する、
ことを特徴とする請求項1に記載のメモリ割当装置。
A setting unit that sets a time when the acquisition environment is restarted,
The estimation unit resumes the setting of the acquisition environment from the time of the resumption of the setting.
2. The memory allocation apparatus of claim 1.
前記第2実行部は、前記メモリ割当装置が備える主記憶部の全容量が前記第1カーネルによって前記第2カーネルの使用に割り当てられてから、前記第2カーネルを実行する、
ことを特徴とする請求項1又は2に記載のメモリ割当装置。
the second execution unit executes the second kernel after the first kernel has allocated an entire capacity of a main memory unit included in the memory allocation device to be used by the second kernel.
3. The memory allocation device according to claim 1 or 2.
OS(オペレーティングシステム)障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行し、
前記取得環境の設定途中で、前記ダンプを取得する第2カーネルに前記ダンプの取得を指示し、
前記指示に応じて、前記ダンプを取得する第2カーネルを実行し、
前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定し、
測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる、
処理をコンピュータに実行させるためのメモリ割当プログラム。
Executing a first kernel that sets up an environment for acquiring a dump representing memory contents in the event of an OS (operating system) failure;
instructing a second kernel that acquires the dump to acquire the dump during the setting of the acquisition environment;
In response to the instruction, execute a second kernel that obtains the dump;
measuring memory usage of the second kernel while the second kernel is running;
estimating a memory allocation to be allocated for use by the second kernel based on the measured memory usage;
A memory allocation program that allows a computer to execute a process.
OS(オペレーティングシステム)障害時のメモリ内容を表すダンプの取得環境を設定する第1カーネルを実行し、
前記取得環境の設定途中で、前記ダンプを取得する第2カーネルに前記ダンプの取得を指示し、
前記指示に応じて、前記ダンプを取得する第2カーネルを実行し、
前記第2カーネルの起動中に前記第2カーネルのメモリ使用量を測定し、
測定した前記メモリ使用量に基づいて、前記第2カーネルの使用に割り当てるメモリ割当量を見積もる、
処理をコンピュータが実行するメモリ割当方法。
Executing a first kernel that sets up an environment for acquiring a dump representing memory contents in the event of an OS (operating system) failure;
instructing a second kernel that acquires the dump to acquire the dump during the setting of the acquisition environment;
In response to the instruction, execute a second kernel that obtains the dump;
measuring memory usage of the second kernel while the second kernel is running;
estimating a memory allocation to be allocated for use by the second kernel based on the measured memory usage;
A method of allocating memory for a computer to carry out operations.
JP2021025875A 2021-02-22 2021-02-22 MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD Active JP7564445B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021025875A JP7564445B2 (en) 2021-02-22 2021-02-22 MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021025875A JP7564445B2 (en) 2021-02-22 2021-02-22 MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD

Publications (2)

Publication Number Publication Date
JP2022127727A JP2022127727A (en) 2022-09-01
JP7564445B2 true JP7564445B2 (en) 2024-10-09

Family

ID=83060993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021025875A Active JP7564445B2 (en) 2021-02-22 2021-02-22 MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD

Country Status (1)

Country Link
JP (1) JP7564445B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176345A (en) 2009-01-29 2010-08-12 Nec Corp Multi-node system, node, memory dump processing method, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176345A (en) 2009-01-29 2010-08-12 Nec Corp Multi-node system, node, memory dump processing method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鶴長 鎮一,システム異常事態発生! Linuxサーバ危機管理対策 ZABBIX×ログ監視×障害解析コマンド活用指南 3章 現状把握,Software Design ,2010年03月18日,2010年3月号,pp.41-51

Also Published As

Publication number Publication date
JP2022127727A (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US8719639B2 (en) Virtual machine control program, virtual machine control system, and dump capturing method
US10225333B2 (en) Management method and apparatus
US9396026B2 (en) Allocating a task to a computer based on determined resources
US8423997B2 (en) System and method of controlling virtual machine
US8826290B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
CN1304941C (en) Apparatus and method for autonomic hardware assisted thread stack tracking
JP4438807B2 (en) Virtual machine system, management server, virtual machine migration method and program
US9229840B2 (en) Managing traces to capture data for memory regions in a memory
JP4886866B2 (en) Method for speeding up access to main storage device and storage device system
US20130325912A1 (en) Balloon object feedback for java virtual machines
JP2013509658A (en) Allocation of storage memory based on future usage estimates
JP2007115246A (en) Method and apparatus for dynamically allocating resource used by software
US20180267879A1 (en) Management computer, performance monitoring method, and computer system
JP2014178913A (en) Electronic apparatus, method of creating snapshot image, and program
WO2025020915A1 (en) Memory pre-loading processing method, and device and storage medium
US20160259578A1 (en) Apparatus and method for detecting performance deterioration in a virtualization system
JP2007316725A (en) Storage area management method and management computer
JP7564445B2 (en) MEMORY ALLOCATION DEVICE, MEMORY ALLOCATION PROGRAM, AND MEMORY ALLOCATION METHOD
CN116324724A (en) VDI resource allocation determination device, VDI resource allocation determination method, and VDI resource allocation determination program
US10210035B2 (en) Computer system and memory dump method
CN115113987A (en) Method, device, equipment and medium for allocating non-uniform memory access resources
JP6940761B2 (en) Information processing equipment, virtual machine monitoring programs, and information processing systems
US7707462B1 (en) Non-disruptive generation of core files without reboot
US8140597B2 (en) Computer system memory management
JP3839259B2 (en) Multithread control method, multithread control apparatus, recording medium, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240821

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: 20240827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240909

R150 Certificate of patent or registration of utility model

Ref document number: 7564445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150