JP2021149808A - Cpu状態表示方法及びcpu状態表示プログラム - Google Patents

Cpu状態表示方法及びcpu状態表示プログラム Download PDF

Info

Publication number
JP2021149808A
JP2021149808A JP2020051218A JP2020051218A JP2021149808A JP 2021149808 A JP2021149808 A JP 2021149808A JP 2020051218 A JP2020051218 A JP 2020051218A JP 2020051218 A JP2020051218 A JP 2020051218A JP 2021149808 A JP2021149808 A JP 2021149808A
Authority
JP
Japan
Prior art keywords
information
cpu
container
containers
usage rate
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.)
Withdrawn
Application number
JP2020051218A
Other languages
English (en)
Inventor
明則 岩川
Akinori Iwakawa
明則 岩川
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 JP2020051218A priority Critical patent/JP2021149808A/ja
Priority to EP21153714.7A priority patent/EP3885904A1/en
Priority to US17/166,606 priority patent/US11797324B2/en
Publication of JP2021149808A publication Critical patent/JP2021149808A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ホストに影響を与えているコンテナを特定することを可能とするCPU状態表示方法及びCPU状態表示プログラムを提供する。【解決手段】VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、VMの通信プロセスによる所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、取得した第1情報のそれぞれと第2情報とに基づいて、複数のコンテナごとに、各コンテナが行う通信に伴うVMの通信プロセスによる所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、複数のコンテナごとに、第1情報と第3情報とを対応付けて表示する。【選択図】図19

Description

本発明は、CPU状態表示方法及びCPU状態表示プログラムに関する。
近年、チケット予約システムやコミュニケーションシステム等のネットワークサービスについての社会インフラ化が進んでおり、業務システムの動作を停止させることなく障害対応等を行う運用が求められている。
そのため、近年では、サービスを提供するために実行するモジュールをコンテナという単位でパッケージ化して組み合わせることにより、障害からの復旧の簡素化や処理の負荷分散を行うコンテナ型仮想化技術の適用が進んでいる(例えば、特許文献1参照)。
特開2016−126677号公報
ここで、業務システムの管理者(以下、単に管理者とも呼ぶ)は、例えば、必要なタイミングにおいて業務システムのスループットを評価することにより、利用者に対して提供しているサービスの通信性能を確認する。
しかしながら、上記のようなコンテナ型仮想化技術が適用された業務システムにおいて、同一のホスト(物理ホスト)内における通信が行われる場合、通信パケットは、ホストの通信ハードウエアを経由することなく、ホスト内において動作するソフトウエアである仮想スイッチによって処理される。そのため、例えば、各コンテナについて計測されたCPU使用率がそれほど大きくない場合であっても、同一のホスト内の通信処理が頻繁に行われている場合、ホスト全体としての負荷が大きくなっているケースが発生し得る。したがって、管理者は、ホストに負荷を与えているコンテナの特定を精度良く行うことができない場合がある。
そこで、一つの側面では、本発明は、ホストに影響を与えているコンテナを特定することを可能とするCPU状態表示方法及びCPU状態表示プログラムを提供することを目的とする。
実施の形態の一態様では、ホストにおいて動作するVMのCPUの使用状態を表示するCPU状態表示方法であって、前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示する。
一つの側面によれば、ホストに影響を与えているコンテナを特定することを可能とする。
図1は、情報処理システム10の構成について説明する図である。 図2は、各コンテナの負荷状態についての具体例を説明する図である。 図3は、管理装置1のハードウエア構成を説明する図である。 図4は、分析装置2のハードウエア構成を説明する図である。 図5は、ホスト3のハードウエア構成を説明する図である。 図6は、ホスト4のハードウエア構成を説明する図である。 図7は、管理装置1の機能のブロック図である。 図8は、分析装置2の機能のブロック図である。 図9は、第1の実施の形態におけるCPU状態表示処理の概略を説明するフローチャート図である。 図10は、第1の実施の形態におけるCPU状態表示処理の概略を説明する図である。 図11は、第1の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図12は、第1の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図13は、第1の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図14は、第1の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図15は、モジュール管理情報234の具体例について説明する図である。 図16は、第1使用率情報231の具体例について説明する図である。 図17は、第2使用率情報232の具体例について説明する図である。 図18は、第1の実施の形態におけるCPU状態表示処理の詳細を説明する図である。 図19は、結果情報131の具体例について説明する図である。 図20は、コンテナ管理情報235の具体例について説明を行う。 図21は、閾値情報133の具体例について説明する図である。 図22は、第2の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図23は、第2の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。 図24は、第1使用率情報231の具体例について説明する図である。 図25は、第2使用率情報232の具体例について説明する図である。 図26は、結果情報131の具体例について説明する図である。 図27は、第3の実施の形態におけるCPU状態表示処理を説明するフローチャート図である。 図28は、通信抑制情報134の具体例について説明する図である。
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
図1に示す情報処理システム10は、管理装置1と、分析装置2と、物理マシンであるホスト3及びホスト4とを有する。なお、以下、情報処理システム10が2台のホスト(ホスト3及びホスト4)を有する場合について説明を行うが、情報処理システム10は、2台以外の台数を有するものであってもよい。
図1に示す例において、ホスト3では、仮想マシン(VM:Vurtual Machine)31と、仮想マシン32と、仮想スイッチ37とのそれぞれが動作している。具体的に、ホスト3において動作するハイパーバイザ(図示しない)は、ホスト3の物理リソースをそれぞれ振り分けることによって、仮想マシン31、仮想マシン32及び仮想スイッチ37のそれぞれを動作させる。
また、ホスト4では、仮想マシン41と、仮想マシン42と、仮想スイッチ47とのそれぞれが動作している。具体的に、ホスト4において動作するハイパーバイザ(図示しない)は、ホスト4の物理リソースをそれぞれ振り分けることによって、仮想マシン41、仮想マシン42及び仮想スイッチ47のそれぞれを動作させる。
そして、図1に示す例において、仮想マシン31では、利用者にサービスを提供するために実行するモジュールの組合せであるコンテナ33及びコンテナ34が動作する。同様に、仮想マシン32では、コンテナ35が動作し、仮想マシン41では、コンテナ43及びコンテナ44が動作し、さらに、仮想マシン42では、コンテナ45及びコンテナ46が動作する。
分析装置2は、例えば、定期的なタイミングにおいて、各コンテナの負荷状態についての分析を行う。
管理装置1は、ホスト3及びホスト4において動作する各コンテナの管理を行う。具体的に、管理装置1は、分析装置2が行った分析結果に基づいて、例えば、各コンテナを他のホストに移動させる。
なお、以下、各ホストにおいて2台の仮想マシンが動作する場合について説明を行うが、各ホストは、2台以外の台数の仮想マシンを動作させるものであってもよい。また、以下、各仮想マシンにおいて1台または2台のコンテナが動作する場合について説明を行うが、各仮想マシンは、3台以上の台数のコンテナを動作させるものであってもよい。
[分析装置における処理の具体例]
次に、分析装置2における処理の具体例について説明を行う。図2は、各コンテナの負荷状態についての具体例を説明する図である。
図2に示す情報は、例えば、分析装置2によって定期的に取得される情報であって、各コンテナの識別情報である「コンテナID」と、各コンテナによるネットワーク(ホスト3とホスト4とを接続する物理的なネットワーク)の使用帯域が設定される「使用ネットワーク帯域」と、各コンテナにおける現在(最新)のCPU使用率が設定される「CPU使用率」とを項目として有する。
具体的に、図2に示す情報において、1行目の情報には、「コンテナID」として「1」が設定され、「使用ネットワーク帯域」として「2(GB/Sec)」が設定され、「CPU使用率」として「20(%)」が設定されている。
また、図2に示す情報において、2行目の情報には、「コンテナID」として「2」が設定され、「使用ネットワーク帯域」として「1(GB/Sec)」が設定され、「CPU使用率」として「40(%)」が設定されている。
そして、分析装置2は、例えば、図2に示す情報の「CPU使用率」に設定された情報を参照することにより、各コンテナの負荷情報の分析を行う。
具体的に、図2に示す情報において、「コンテナID」が「1」である情報の「CPU使用率」には、「20(%)」が設定されており、「コンテナID」が「2」である情報の「CPU使用率」には、「40(%)」が設定されている。そのため、分析装置2は、この場合、例えば、「コンテナID」が「1」であるコンテナよりも「コンテナID」が「2」であるコンテナの方が高負荷状態にあると判定する。
しかしながら、上記のようなコンテナ型仮想化技術が適用された情報処理システム10において、例えば、ホスト3の内部において通信が行われる場合、通信パケットは、ホスト3の通信ハードウエア(例えば、ネットワークアダプタに実装されている通信用のメモリバッファ)を経由することなく、ホスト3において動作するソフトウエアである仮想スイッチ37によって処理される。そのため、例えば、ホスト3において動作する各コンテナにおいて計測されたCPU使用率がそれほど大きくない場合であっても、ホスト3の内部における通信処理が頻繁に行われている場合、ホスト3の全体としての負荷が大きくなっているケースが発生し得る。したがって、管理者は、ホスト3に対して大きな負荷を与えているコンテナの特定を精度良く行うことができない場合がある。
そこで、本実施の形態における分析装置2は、例えば、仮想マシン31及び仮想マシン32において動作する複数のコンテナ(コンテナ33、コンテナ34及びコンテナ35)の所定の時間帯におけるCPUの使用状態を示す情報(以下、第1情報とも呼ぶ)をそれぞれ取得する。また、分析装置2は、例えば、仮想マシン31及び仮想マシン32の通信プロセス(仮想スイッチ37)による所定の時間帯におけるCPUの使用状態を示す情報(以下、第2情報とも呼ぶ)を取得する。
そして、分析装置2は、第1情報のそれぞれと第2情報とに基づいて、仮想マシン31及び仮想マシン32において動作する複数のコンテナごとに、各コンテナが行う通信に伴う通信プロセスによる所定の時間帯におけるCPUの使用状態を示す情報(以下、第3情報とも呼ぶ)を算出する。
その後、分析装置2は、例えば、仮想マシン31及び仮想マシン32において動作する複数のコンテナごとに、第1情報と第3情報とを対応付けて表示装置(図示しない)に表示する。
すなわち、例えば、図1で説明した例において、仮想スイッチ37を経由する通信に伴う負荷は、ホスト3において動作する各コンテナが行う通信による負荷の合計値である。また、例えば、仮想スイッチ37を経由する通信による負荷は、仮想スイッチ37の動作に伴うCPUの負荷に置き換えることが可能である。
そのため、分析装置2は、仮想スイッチ37の動作に伴うCPUの負荷を示す第2情報を取得する。そして、分析装置2は、取得した第2情報に加え、各コンテナの動作に伴うCPUの負荷である第1情報を用いることにより、各コンテナが行った通信によって生じたCPUの負荷を示す第3情報を算出して表示する。
これにより、分析装置2は、例えば、各コンテナから計測したCPUの負荷(第1情報)と、各コンテナが行った通信に起因するCPUの負荷(第3情報)とを対応付けて表示することが可能になる。そのため、管理者は、例えば、分析装置2による表示内容を閲覧することで、高負荷状態にあるコンテナ(ホストに大きな影響を与えているコンテナ)を精度良く特定することが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図3は、管理装置1のハードウエア構成を説明する図である。また、図4は、分析装置2のハードウエア構成を説明する図である。また、図5は、ホスト3のハードウエア構成を説明する図である。さらに、図6は、ホスト4のハードウエア構成を説明する図である。
初めに、管理装置1のハードウエア構成について説明を行う。
管理装置1は、図3に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、CPUの使用状態を表示する処理(以下、CPU状態表示処理)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、CPU状態表示処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してCPU状態表示処理を行う。
また、通信装置103は、例えば、ネットワークを介して分析装置2、ホスト3及びホスト4との通信を行う。
次に、分析装置2のハードウエア構成について説明を行う。
分析装置2は、図4に示すように、プロセッサであるCPU201と、メモリ202と、通信装置203と、記憶媒体204とを有する。各部は、バス205を介して互いに接続される。
記憶媒体204は、例えば、CPU状態表示処理を行うためのプログラム210を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体204は、例えば、CPU状態表示処理を行う際に用いられる情報を記憶する情報格納領域230を有する。なお、記憶媒体204は、例えば、HDDやSSDであってよい。
CPU201は、記憶媒体204からメモリ202にロードされたプログラム210を実行してCPU状態表示処理を行う。
また、通信装置203は、例えば、ネットワークを介して管理装置1、ホスト3及びホスト4との通信を行う。
次に、ホスト3のハードウエア構成について説明を行う。
ホスト3は、図5に示すように、プロセッサであるCPU301と、メモリ302と、通信装置303と、記憶媒体304とを有する。各部は、バス305を介して互いに接続される。
記憶媒体304は、例えば、CPU状態表示処理を行うためのプログラム310を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体304は、例えば、CPU状態表示処理を行う際に用いられる情報を記憶する情報格納領域330を有する。なお、記憶媒体304は、例えば、HDDやSSDであってよい。
CPU301は、記憶媒体304からメモリ302にロードされたプログラム310を実行してCPU状態表示処理を行う。
また、通信装置303は、例えば、ネットワークを介して管理装置1、分析装置2及びホスト4との通信を行う。
次に、ホスト4のハードウエア構成について説明を行う。
ホスト4は、図6に示すように、プロセッサであるCPU401と、メモリ402と、通信装置403と、記憶媒体404とを有する。各部は、バス405を介して互いに接続される。
記憶媒体404は、例えば、CPU状態表示処理を行うためのプログラム410を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体404は、例えば、CPU状態表示処理を行う際に用いられる情報を記憶する情報格納領域430を有する。なお、記憶媒体404は、例えば、HDDやSSDであってよい。
CPU401は、記憶媒体404からメモリ402にロードされたプログラム410を実行してCPU状態表示処理を行う。
また、通信装置403は、例えば、ネットワークを介して管理装置1、分析装置2及びホスト3との通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図7は、管理装置1の機能のブロック図である。また、図8は、分析装置2の機能のブロック図である。
初めに、管理装置1の機能のブロック図について説明を行う。
管理装置1は、図7に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、要求送信部111と、結果受信部112と、配置変更部113と、通信抑制部114とを含む各種機能を実現する。
また、管理装置1は、例えば、図7に示すように、結果情報131と、合計使用率情報132と、閾値情報133と、通信抑制情報134とを情報格納領域130に記憶する。
要求送信部111は、分析装置2に対してCPU(例えば、ホスト3におけるCPU301やホスト4におけるCPU401)の使用状態についての分析要求を送信する。
結果受信部112は、要求送信部111が送信した分析要求に対応する分析結果である結果情報131を分析装置2から受信する。
配置変更部113は、例えば、結果受信部112が受信した結果情報131に基づいて、各コンテナの配置(各コンテナが動作する仮想マシン)を変更する。具体的に、配置変更部113は、例えば、結果受信部112が受信した結果情報131からCPUに与える負荷が大きいと判断したコンテナを特定し、特定したコンテナを他のホストに移動させる。
通信抑制部114は、例えば、結果受信部112が受信した結果情報131に基づいて、各コンテナが行う通信を制限する。具体的に、通信抑制部114は、例えば、結果受信部112が受信した結果情報131からCPUに与える負荷が大きいと判断したコンテナを特定し、特定したコンテナが行う通信を制限する。合計使用率情報132、閾値情報133及び通信抑制情報134についての説明は後述する。
次に、分析装置2の機能のブロック図について説明を行う。
分析装置2は、図8に示すように、例えば、CPU201やメモリ202等のハードウエアとプログラム210とが有機的に協働することにより、要求受信部211と、情報取得部212と、回帰分析部213と、使用率推定部214と、結果送信部215と、結果表示部216とを含む各種機能を実現する。
また、分析装置2は、例えば、図8に示すように、第1使用率情報(第1情報)231と、第2使用率情報(第2情報)232と、第3使用率情報(第3情報)233と、モジュール管理情報234と、コンテナ管理情報235と、結果情報131とを情報格納領域230に記憶する。
要求受信部211は、管理装置1から送信されたCPUの使用状態についての分析要求を受信する。
情報取得部212は、各コンテナの所定の時間帯(例えば、直前の1分間)におけるCPU使用率を示す第1使用率情報231を取得する。具体的に、情報取得部212は、例えば、各コンテナにおいて実行中のモジュール(以下、実行モジュールとも呼ぶ)ごとの第1使用率情報231を取得する。
また、情報取得部212は、仮想マシンの通信プロセスによる所定の時間帯におけるCPU使用率を示す第2使用率情報232を取得する。
回帰分析部213は、情報取得部212が取得した第1使用率情報231と第2使用率情報232とを用いた回帰分析(重回帰分析)を行うことによって回帰係数を算出する。
使用率推定部214は、回帰分析部231が算出した回帰係数を用いることによって、各コンテナが行う通信に伴う通信プロセスによる所定の時間帯におけるCPU使用率を示す第3使用率情報233をコンテナごとに生成(推定)する。
結果送信部215は、例えば、使用率推定部214が生成した第3使用率情報233を含む結果情報131を管理装置1に送信する。
結果表示部216は、例えば、情報取得部112が取得した第1使用率情報231と使用率推定部214が生成した第3使用率情報233とを含む結果情報131を表示装置(図示しない)に表示する。モジュール管理情報234及びコンテナ管理情報235についての説明は後述する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図9は、第1の実施の形態におけるCPU状態表示処理の概略を説明するフローチャート図である。図10は、第1の実施の形態におけるCPU状態表示処理の概略を説明する図である。
分析装置2は、図9に示すように、例えば、状態表示タイミングになるまで待機する(S1のNO)。状態表示タイミングは、例えば、事業者が分析装置2に対してCPU状態表示処理を行う旨の情報を入力したタイミングであってよい。
そして、状態表示タイミングになった場合(S1のYES)、分析装置2は、仮想マシンにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得する(S2)。
また、分析装置2は、この場合、仮想マシンの通信プロセスによる所定の時間帯におけるCPUの使用状態を示す第2情報を取得する(S3)。
続いて、分析装置2は、S2の処理で取得した第1情報のそれぞれと、S3の処理で取得した第2情報とに基づいて、複数のコンテナごとに、各コンテナが行う通信に伴う仮想マシンの通信プロセスによる所定の時間帯におけるCPUの使用状態を示す第3情報を算出する(S4)。
その後、分析装置2は、複数のコンテナごとに、S2の処理で取得した第1情報と、S4の処理で算出した第3情報とを対応付けて表示する(S5)。
すなわち、例えば、仮想マシンの通信プロセスにおける処理の負荷は、その仮想マシンにおいて動作する各コンテナが行う通信による負荷の合計値である。また、例えば、仮想マシンの通信プロセスにおける処理の負荷は、その仮想マシンの通信プロセスの動作に伴うCPUの負荷に置き換えることが可能である。
そのため、分析装置2は、仮想マシンの通信プロセスの動作に伴うCPUの負荷を示す第2情報を取得する。そして、分析装置2は、取得した第2情報に加え、各コンテナの動作に伴うCPUの負荷である第1情報を用いることにより、各コンテナが行った通信によって生じたCPUの負荷を示す第3情報を算出して表示する。
これにより、分析装置2は、例えば、各コンテナから計測可能なCPUの負荷(第1情報)と、各コンテナが行った通信に起因するCPUの負荷(第3情報)とを対応付けて表示することが可能になる。具体的に、分析装置2は、図10に示すように、例えば、コンテナ33から計測した第1使用率情報(第1情報)231aと、コンテナ33について算出した第3使用率情報(第3情報)233aとを合算した状態で表示することが可能になる。また、分析装置2は、図10に示すように、例えば、コンテナ34から計測した第1使用率情報231bと、コンテナ34について算出した第3使用率情報233bとを合算して状態で表示することが可能になる。
そのため、管理者は、例えば、分析装置2によって表示装置(図示しない)に表示された内容を閲覧することで、高負荷状態にあるコンテナ(ホストに大きな影響を与えているコンテナ)を精度良く特定することが可能になる。具体的に、管理者は、図10に示す内容を閲覧することで、例えば、コンテナ33の動作に伴うCPUの負荷がコンテナ34の動作に伴うCPUの負荷よりも大きいと判断することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図11から図14は、第1の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。また、図15から図21は、第1の実施の形態におけるCPU状態表示処理の詳細を説明する図である。
[管理装置におけるCPU状態表示処理(1)]
初めに、CPU状態表示処理のうち、管理装置1において行われる処理の一部について説明を行う。図11及び図12は、管理装置1におけるCPU状態表示処理を説明するフローチャート図である。
管理装置1の要求送信部111は、図11に示すように、分析タイミングになるまで待機する(S21のNO)。分析タイミングは、例えば、事業者が管理装置1に対してCPUの使用状態についての分析を行う旨の情報を入力したタイミングであってよい。また、分析タイミングは、例えば、1分ごと等のタイミングであってもよい。
そして、分析タイミングになった場合(S21のYES)、要求送信部111は、分析装置2に対して分析要求を送信する(S22)。
[分析装置におけるCPU状態表示処理]
次に、CPU状態表示処理のうち、分析装置2において行われる処理について説明を行う。図13及び図14は、分析装置2におけるCPU状態表示処理を説明するフローチャート図である。
分析装置2の要求受信部211は、図13に示すように、管理装置1から分析要求を受信するまで待機する(S41のNO)。
そして、管理装置1から分析要求を受信した場合(S41のYES)、分析装置2の情報取得部212は、各コンテナにおける実行モジュールを示すID(以下、実行モジュールIDとも呼ぶ)を各コンテナから取得する(S42)。具体的に、情報取得部212は、管理装置1が管理している全てのコンテナから実行モジュールIDを取得する。
なお、情報取得部212は、この場合、例えば、各コンテナから取得した実行モジュールIDを含むモジュール管理情報234を生成する。以下、モジュール管理情報234の具体例について説明を行う。
[モジュール管理情報の具体例]
図15は、モジュール管理情報234の具体例について説明する図である。
図15に示すモジュール管理情報234は、各コンテナのIDが設定される「コンテナID」と、各実行モジュールのIDが設定される「実行モジュールID」とを項目として有する。
具体的に、図15に示すモジュール管理情報234において、1行目の情報には、「コンテナID」として「C001」が設定され、「実行モジュールID」として「M001」及び「M002」が設定されている。
また、図15に示すモジュール管理情報234において、2行目の情報には、「コンテナID」として「C002」が設定され、「実行モジュールID」として「M003」及び「M004」が設定されている。図15に含まれる他の情報についての説明は省略する。
図13に戻り、情報取得部212は、S42の処理で取得した実行モジュールIDに対応する実行モジュールのそれぞれによるCPUの使用率を示す第1使用率情報231を各コンテナから取得する(S43)。以下、第1使用率情報231の具体例について説明を行う。
[第1使用率情報の具体例]
図16は、第1使用率情報231の具体例について説明する図である。具体的に、図16は、ホスト3における実行モジュールの第1使用率情報231の具体例である。なお、以下、ホスト3において動作する各コンテナ(コンテナ33、34及び35)における実行モジュールがそれぞれ1つであるものとして説明を行う。
図16に示す第1使用率情報231は、各時刻が設定される「時刻」と、コンテナ33におけるモジュール33aに対応する第1使用率情報231が設定される「モジュール33a」とを項目として有する。また、図16に示す第1使用率情報231は、コンテナ34におけるモジュール34aに対応する第1使用率情報231が設定される「モジュール34a」と、コンテナ35におけるモジュール35aに対応する第1使用率情報231が設定される「モジュール35a」とを項目として有する。
具体的に、図16に示す第1使用率情報231において、1行目の情報には、「時刻」として「10:00:00」が設定され、「モジュール33a」として「66(%)」が設定され、「モジュール34a」として「59(%)」が設定され、「モジュール35a」として「11(%)」が設定されている。
また、図16に示す第1使用率情報231において、2行目の情報には、「時刻」として「10:00:10」が設定され、「モジュール33a」として「65(%)」が設定され、「モジュール34a」として「30(%)」が設定され、「モジュール35a」として「17(%)」が設定されている。図16に含まれる他の情報についての説明は省略する。
図13に戻り、情報取得部212は、仮想マシンの通知プロセスによるCPUの使用率を示す第2使用率情報232をホストから取得する(S44)。以下、第2使用率情報232の具体例について説明を行う。
[第2使用率情報の具体例]
図17は、第2使用率情報232の具体例について説明する図である。具体的に、図17は、ホスト3における第2使用率情報232の具体例である。なお、以下、ホスト3において動作する通信プロセス(仮想スイッチ37)から第2使用率情報232の取得が行われるものとして説明を行う。
図17に示す第2使用率情報232は、各時刻が設定される「時刻」と、仮想マシンの通信プロセスに対応する第2使用率情報232が設定される「通信プロセス」とを項目として有する。
具体的に、図17に示す第2使用率情報232において、1行目の情報には、「時刻」として「10:00:00」が設定され、「通信プロセス」として「36(%)」が設定されている。
また、図17に示す第2使用率情報232において、2行目の情報には、「時刻」として「10:00:10」が設定され、「通信プロセス」として「26(%)」が設定されている。図17に含まれる他の情報についての説明は省略する。
図13に戻り、分析装置2の回帰分析部213は、S43の処理で取得した第1使用率情報231のそれぞれを目的関数とし、S44の処理で取得した第2使用率情報232を説明関数とした回帰分析を行うことにより、S42の処理で取得した実行モジュールIDに対応する実行モジュールごとの回帰係数を算出する(S46)。以下、S46の処理の具体例について説明を行う。
[S46の処理の具体例]
回帰分析部213は、例えば、以下の式(1)から式(3)に従うことによって、実行モジュールごとの回帰係数を算出する。
Figure 2021149808
Figure 2021149808
Figure 2021149808
上記の式(1)から(3)において、yは、通信プロセスに対応する第2使用率情報232を示し、xは、i番目の実行モジュールに対応する第1使用率情報231を示し、βは、i番目の実行モジュールに対応する回帰係数を示し、εは、誤差を示している。また、上記の式(1)から(3)において、βは、各実行モジュールに対応する回帰係数を要素として含む行列を示し、Xは、各実行モジュールに対応する第1使用率情報231を要素として含む行列を示し、Yは、通信プロセスに対応する第2使用率情報232を要素として含む行列を示している。
そして、各実行モジュールに対応するβのそれぞれは、上記の式(1)におけるεが最小となるように重回帰分析を行うことによって得られる。具体的に、各実行モジュールに対応するβのそれぞれは、上記の式(2)を最小とするβとして与えられ、一般的に、上記の式(3)を解くことによって得られる。
ここで、図16で説明した第1使用率情報231及び図17で説明した第2使用率情報232において、「時刻」が「10:00:00」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」及び「通信プロセス」には、「66(%)」、「59(%)」、「11(%)」及び「36(%)」のそれぞれが設定されている。また、「時刻」が「10:00:10」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」及び「通信プロセス」には、「65(%)」、「30(%)」、「17(%)」及び「26(%)」のそれぞれが設定されており、「時刻」が「10:00:20」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」及び「通信プロセス」には、「50(%)」、「83(%)」、「40(%)」及び「58(%)」のそれぞれが設定されている。さらに、「時刻」が「10:00:30」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」及び「通信プロセス」には、「46(%)」、「65(%)」、「33(%)」及び「37(%)」のそれぞれが設定されている。
そのため、回帰分析部213は、上記の式(1)に対して上記の各値を代入することによって、下記の式(4)を生成する。
Figure 2021149808
そして、回帰分析部213は、上記の式(4)におけるεが最小となるように重回帰分析を行う。具体的に、回帰分析部213は、例えば、下記の式(5)を解くことによってβからβのそれぞれを得る。
Figure 2021149808
なお、例えば、各ホスト(ホスト3やホスト4)と他のホスト(他のサービスを提供する他のコンテナが動作するホスト)とのアクセス頻度が高い場合、図18に示すように、S43の処理で取得した第1使用率情報231(図18における横軸の値)と、S44の処理で取得した第2使用率情報232(図18における縦軸の値)との相関が高くなる。そのため、回帰分析部213は、このような場合、各実行モジュールに対応する回帰係数をより精度良く推定することが可能になる。
次に、情報取得部212は、図14に示すように、S42の処理で取得した実行モジュールIDに対応する実行モジュールによる最新の第1使用率情報231を各コンテナから取得する(S51)。
その後、分析装置2の使用率推定部214は、S46の処理で算出した実行モジュールごとの回帰係数と、S51の処理で取得した実行モジュールごとの第1使用率情報231とを用いることにより、各実行モジュールが行う通信に伴う通信プロセスによるCPUの使用率を示す第3使用率情報233を実行モジュールごとに算出する(S52)。
そして、推定率推定部214は、S52の処理で算出した第3使用率情報233のコンテナごとの合計を算出する(S53)。以下、S52及びS53の処理の具体例について説明を行う。
[S52及びS53の処理の具体例]
使用率推定部214は、例えば、以下の式(6)に従うことによって、コンテナごとの第3使用率情報233を算出する。
Figure 2021149808
具体的に、例えば、モジュール33a、モジュール34a及びモジュール35aに対応する回帰係数(S46の処理で算出された回帰係数)が「0.1」、「0.45」及び「0.28」のそれぞれであり、モジュール33a、モジュール34a及びモジュール35aに対応する最新の第1使用率情報231(S51の処理で取得した第1使用率情報231)が「30(%)」、「20(%)」及び「10(%)」のそれぞれであった場合、回帰分析部213は、例えば、下記の式(7)に示すように、コンテナ33、コンテナ34及びコンテナ35のそれぞれの第3使用率情報233の合計として、「3.0(%)」、「9.0(%)」及び「2.8(%)」を算出する。
Figure 2021149808
図14に戻り、分析装置2の結果送信部215は、S51の処理で取得した実行モジュールごとの第1使用率情報231のコンテナごとの合計を算出する(S54)。具体的に、結果送信部215は、例えば、以下の式(8)に従うことによって、コンテナごとの第1使用率情報231を算出する。
Figure 2021149808
そして、結果送信部215は、S54の処理で算出したコンテナごとの第1使用率情報231と、S53の処理で算出したコンテナごとの第3使用率情報233とを含む結果情報131を管理装置1に送信する(S54)。
さらに、分析装置2の結果表示部216は、S54の処理で算出したコンテナごとの第1使用率情報231と、S53の処理で算出したコンテナごとの第3使用率情報233とを含む結果情報131を表示装置(図示しない)に表示する(S55)。以下、結果情報131の具体例について説明を行う。
[結果情報の具体例]
図19は、結果情報131の具体例について説明する図である。
図19に示す結果情報131は、各仮想マシンを識別する「VMID」と、コンテナ33に対応する情報が設定される「コンテナ33」と、コンテナ34に対応する情報が設定される「コンテナ34」と、コンテナ35に対応する情報が設定される「コンテナ35」とを大項目として有する。さらに、大項目である「コンテナ33」、「コンテナ34」及び「コンテナ35」のそれぞれは、コンテナごとの第1使用率情報231(S54の処理で算出された第1使用率情報231の合計)が設定される「コンテナ」と、コンテナごとの第3使用率情報233(S53の処理で算出された第3使用率情報233の合計)が設定される「通信」とを項目として有する。
具体的に、図19に示す結果情報131において、1行目情報には、「VMID」として「VM31」が設定され、「コンテナ33」に対応する「コンテナ」及び「通信」として「30(%)」及び「3.0(%)」のそれぞれが設定され、「コンテナ34」に対応する「コンテナ」及び「通信」として「20(%)」及び「9.0(%)」のそれぞれが設定されている。
また、図19に示す結果情報131において、2行目情報には、「VMID」として「VM32」が設定され、「コンテナ35」に対応する「コンテナ」及び「通信」として「10(%)」及び「2.8(%)」が設定されている。
なお、情報送信部215は、S54の処理において、例えば、情報格納領域130に記憶されたコンテナ管理情報235を参照することにより、各コンテナが動作する仮想マシンを特定するものであってもよい。以下、コンテナ管理情報233の具体例について説明を行う。
[コンテナ管理情報の具体例]
図20は、コンテナ管理情報235の具体例について説明を行う。
図20に示すコンテナ管理情報235は、各仮想マシンのIDが設定される「VMID」と、各コンテナのIDが設定される「コンテナID」とを項目として有する。
具体的に、図20に示すコンテナ管理情報235において、1行目の情報には、「VMID」として「V001」が設定され、「コンテナID」として「C001」が設定されている。
また、図20に示すコンテナ管理情報235において、2行目の情報には、「VMID」として「V001」が設定され、「コンテナID」として「C002」が設定されている。図20に含まれる他の情報についての説明は省略する。
[管理装置におけるCPU状態表示処理(2)]
次に、CPU状態表示処理のうち、管理装置1において行われる処理の他の一部について説明を行う。
管理装置1の結果受信部112は、図11に示すように、分析装置2から送信された結果情報131を受信するまで待機する(S23のNO)。
そして、分析装置2から送信された結果情報131を受信した場合(S23のYES)、管理装置1の配置変更部113は、コンテナごとに、S23の処理で受信した結果情報131に含まれる第1使用率情報231と第3使用率情報233との和である合計使用率情報132(以下、第4使用率情報132とも呼ぶ)を算出する(S24)。
なお、配置変更部113は、第1使用率情報231と第3使用率情報233との和を算出する前に、第1使用率情報231及び第3使用率情報233のうちの少なくとも一方に対して所定の係数を乗算するものであってもよい。
続いて、配置変更部113は、S24の処理で算出した合計使用率情報132が移動元閾値(以下、第1閾値とも呼ぶ)以上であるコンテナが存在するか否かを判定する(S25)。
具体的に、配置変更部113は、情報格納領域130に記憶された閾値情報133に含まれる移動元閾値を参照し、S24の処理で算出した合計使用率情報132が移動元閾値以上であるコンテナが存在するか否かを判定する。
すなわち、配置変更部113は、S25に処理において、ホストに与える影響が多いコンテナ(他の仮想マシンに移動させる必要があると判断できるコンテナ)が存在するか否かについての判定を行う。以下、閾値情報133の具体例について説明を行う。
[閾値情報の具体例]
図21は、閾値情報133の具体例について説明する図である。
図21に示す閾値情報133は、各コンテナを他の仮想マシンに移動させるか否かの判定が行われる際に参照される閾値である「移動元閾値」と、各ホストが他のホストからコンテナを受け入れることが可能であるか否かの判定が行われる際に参照される閾値である「移動先閾値」とを項目として有する。
具体的に、図21に示す閾値情報133には、「移動元閾値」として「30(%)」が設定され、「移動先閾値」として「50(%)」が設定されている。
図11に戻り、S24の処理で算出した合計使用率情報132が移動元閾値以上であるコンテナが存在しないと判定した場合(S25のNO)、要求送信部111は、S21以降の処理を再度行う。
一方、S24の処理で算出した合計使用率情報132が移動元閾値以上であるコンテナが存在すると判定した場合(S25のYES)、配置変更部113は、図12に示すように、S25の処理で存在すると判定したコンテナが動作するホスト以外のホストごとに、各ホストで動作するコンテナのそれぞれに対応する第1使用率情報231と、S25の処理で存在すると判定したコンテナに対応する合計使用率情報132との和を算出する(S31)。
なお、S25の処理において、例えば、S24の処理で算出した合計使用率情報132が移動元閾値以上であるコンテナが複数存在すると判定した場合、配置変更部113は、S24の処理で算出した合計使用率情報132が最も大きいコンテナについて、S31以降の処理を行うものであってよい。
また、配置変更部113は、例えば、S25の処理で存在すると判定したコンテナが動作するホストのCPU使用率が所定の閾値を超えている場合に限り、S31以降の処理を行うものであってもよい。
そして、配置変更部113は、S31の処理で算出した和が移動先閾値以下であるホストが存在するか否かを判定する(S32)。
具体的に、配置変更部113は、例えば、図21で説明した閾値情報133に含まれる移動先閾値を参照し、S31の処理で算出した和が移動先閾値以下であるホストが存在するか否かの判定を行う。
すなわち、配置変更部113は、S25の処理で存在すると判定したコンテナを移動させることが可能な他のホストが存在するか否かについての判定を行う。
なお、配置変更部113は、例えば、S25の処理で存在すると判定したコンテナが動作する仮想マシンとクラスタを組む他の仮想マシンが動作する他のホストについてのみ、S32の処理を行うものであってもよい。
そして、S31の処理で算出した和が移動先閾値以下であるホストが存在しないと判定した場合(S32のNO)、要求送信部111は、S21以降の処理を再度行う。
これに対し、S31の処理で算出した和が移動先閾値以下であるホストが存在すると判定した場合(S32のYES)、配置変更部213は、存在すると判定したホストに対して、S25の処理で存在すると判定したコンテナを移動する(S33)。
具体的に、図19で説明した結果情報131において、「コンテナ33」に対応する「コンテナ」に設定された「30(%)」と「コンテナ33」に対応する「通信」に設定された「3.0(%)」との合計CPU使用率は、「33(%)」である。また、「コンテナ34」に対応する「コンテナ」に設定された「20(%)」と「コンテナ34」に対応する「通信」に設定された「9.0(%)」との合計CPU使用率は、「29(%)」であり、「コンテナ35」に対応する「コンテナ」に設定された「10(%)」と「コンテナ35」に対応する「通信」に設定された「2.8(%)」との合計CPU使用率は、「12.8(%)」である。また、図21で説明した閾値情報133において、「移動元閾値」及び「移動先閾値」には、「30(%)」及び「50(%)」がそれぞれ設定されている。
そのため、配置変更部113は、この場合、例えば、他の仮想マシンに移動させる必要があるコンテナとして、合計CPU使用率が30(%)以上であるコンテナ33を特定する。
そして、例えば、ホスト4における現在のCPU使用率と、コンテナ33に対応する合計CPU使用率132である「33(%)」との和が「50(%)」未満である場合、配置変更部113は、コンテナ33をホスト4に移動させる。
このように、本実施の形態における分析装置2は、例えば、仮想マシン31及び仮想マシン32において動作する複数のコンテナ(コンテナ33、コンテナ34及びコンテナ35)の所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得する。また、分析装置2は、例えば、仮想マシン31及び仮想マシン32の通信プロセス(仮想スイッチ37)による所定の時間帯におけるCPUの使用状態を示す第2情報を取得する。
そして、分析装置2は、第1情報のそれぞれと第2情報とに基づいて、仮想マシン31及び仮想マシン32において動作する複数のコンテナごとに、各コンテナが行う通信に伴う通信プロセスによる所定の時間帯におけるCPUの使用状態を示す第3情報を算出する。
その後、分析装置2は、例えば、仮想マシン31及び仮想マシン32において動作する複数のコンテナごとに、第1情報と第3情報とを対応付けて表示装置(図示しない)に表示する。
すなわち、例えば、図1で説明した例において、仮想スイッチ37を経由する通信に伴う負荷は、ホスト3において動作する各コンテナが行う通信による負荷の合計値である。また、例えば、仮想スイッチ37を経由する通信による負荷は、仮想スイッチ37の動作に伴うCPUの負荷に置き換えることが可能である。
そのため、分析装置2は、仮想スイッチ37の動作に伴うCPUの負荷を示す第2情報を取得する。そして、分析装置2は、取得した第2情報に加え、各コンテナの動作に伴うCPUの負荷である第1情報を用いることにより、各コンテナが行った通信によって生じたCPUの負荷を示す第3情報を算出して表示する。
これにより、分析装置2は、例えば、各コンテナから計測可能なCPUの負荷(第1情報)と、各コンテナが行った通信に起因するCPUの負荷(第3情報)とを対応付けて表示することが可能になる。そのため、管理者は、例えば、分析装置2による表示内容を閲覧することで、高負荷状態にあるコンテナ(ホストに大きな影響を与えているコンテナ)を精度良く特定することが可能になる。
なお、上記の例では、管理装置1と分析装置2とが異なる装置である場合について説明を行ったが、1台の物理マシンが管理装置1及び分析装置2のそれぞれとして機能するものであってもよい。
[第2の実施の形態]
次に、第2の実施の形態について説明する。図22及び図23は、第2の実施の形態におけるCPU状態表示処理の詳細を説明するフローチャート図である。また、図24から図26は、第2の実施の形態におけるCPU状態表示処理を説明する図である。
第2の実施の形態では、各仮想マシンに対応する通信プロセスごとの第2使用率情報232を参照することによって処理を行う。
なお、管理装置1において行われる処理については、第1の実施の形態におけるCPU状態表示処理と同じであるため説明を省略する。
分析装置2の要求受信部211は、図22に示すように、管理装置1から分析要求を受信するまで待機する(S61のNO)。
そして、管理装置1から分析要求を受信した場合(S61のYES)、分析装置2の情報取得部212は、各コンテナにおける実行モジュールIDを各コンテナから取得する(S62)。
また、情報取得部212は、この場合、S62の処理で取得した実行モジュールIDに対応する実行モジュールのそれぞれによるCPUの使用率を示す第1使用率情報231を各コンテナから取得する(S63)。以下、第1使用率情報231の具体例について説明を行う。
[第1使用率情報の具体例]
図24は、第1使用率情報231の具体例について説明する図である。図24は、ホスト3における実行モジュールの第1使用率情報231の具体例である。
図24に示す第1使用率情報231は、各時刻が設定される「時刻」と、コンテナ33におけるモジュール33aに対応する第1使用率情報231が設定される「モジュール33a」とを項目として有する。また、図24に示す第1使用率情報231は、コンテナ34におけるモジュール34aに対応する第1使用率情報231が設定される「モジュール34a」と、コンテナ35におけるモジュール35aに対応する第1使用率情報231が設定される「モジュール35a」とを項目として有する。
具体的に、図24に示す第1使用率情報231において、1行目の情報には、「時刻」として「10:00:00」が設定され、「モジュール33a」として「66(%)」が設定され、「モジュール34a」として「59(%)」が設定され、「モジュール35a」として「11(%)」が設定されている。
また、図24に示す第1使用率情報231において、2行目の情報には、「時刻」として「10:00:10」が設定され、「モジュール33a」として「65(%)」が設定され、「モジュール34a」として「30(%)」が設定され、「モジュール35a」として「17(%)」が設定されている。図24に含まれる他の情報についての説明は省略する。
図22に戻り、情報取得部212は、仮想マシンごとの通知プロセスによるCPUの使用率を示す第2使用率情報232をホストから取得する(S64)。以下、第2使用率情報232の具体例について説明を行う。
[第2使用率情報の具体例]
図25は、第2使用率情報232の具体例について説明する図である。図25は、ホスト3における実行モジュールの第2使用率情報232の具体例である。なお、以下、ホスト3において動作する仮想マシン31の通信プロセスと仮想マシン32の通信プロセスとのそれぞれから第2使用率情報232の取得が行われるものとして説明を行う。
図25に示す第2使用率情報232は、各時刻が設定される「時刻」と、仮想マシン31の通信プロセスに対応する第2使用率情報232が設定される「第1通信プロセス」と、仮想マシン32の通信プロセスに対応する第2使用率情報232が設定される「第2通信プロセス」とを項目として有する。
具体的に、図25に示す第2使用率情報232において、1行目の情報には、「時刻」として「10:00:00」が設定され、「第1通信プロセス」として「36(%)」が設定され、「第2通信プロセス」として「50(%)」が設定されている。
また、図25に示す第2使用率情報232において、2行目の情報には、「時刻」として「10:00:10」が設定され、「第1通信プロセス」として「26(%)」が設定され、「第2通信プロセス」として「37(%)」が設定されている。図25に含まれる他の情報についての説明は省略する。
図22に戻り、分析装置2の回帰分析部213は、S63の処理で取得した第1使用率情報231のそれぞれを目的関数とし、S64の処理で取得した第2使用率情報232を説明関数とした回帰分析を行うことにより、S62の処理で取得した実行モジュールIDに対応する実行モジュールごとであって仮想マシンの通信プロセスごとの回帰係数を算出する(S66)。
すなわち、第2の実施の形態における回帰分析部213は、第1の実施の形態と異なり、実行モジュールごとであって通信プロセスごとに回帰係数の算出を行う。以下、S66の処理の具体例について説明を行う。
[S66の処理の具体例]
回帰分析部213は、例えば、以下の式(9)から式(11)に従うことによって、実行モジュールごとの回帰係数を算出する。
Figure 2021149808
Figure 2021149808
Figure 2021149808
上記の式(9)から(11)において、yは、m番目の仮想マシンの通信プロセスに対応する第2使用率情報232を示し、xは、i番目の実行モジュールに対応する第1使用率情報231を示し、βi,mは、i番目の実行モジュール及びm番目の仮想マシンの通信プロセスに対応する回帰係数を示し、εは、誤差を示している。また、上記の式(9)から(11)において、βは、各実行モジュールに対応する回帰係数のうち、m番目の仮想マシンの通信プロセスに対応する回帰係数を要素として含む行列を示し、Xは、各実行モジュールに対応する第1使用率情報231を要素として含む行列を示し、Yは、各通信プロセスに対応する第2使用率情報232のうち、m番目の仮想マシンの通信プロセスに対応する第2使用率情報232を要素として含む行列を示している。
そして、各実行モジュールに対応するβi,mのそれぞれは、上記の式(9)におけるεが最小となるように重回帰分析を行うことによって得られる。具体的に、各実行モジュールに対応するβi,mのそれぞれは、上記の式(10)を最小とするβとして与えられ、一般的に、上記の式(11)を解くことによって得られる。
ここで、図24で説明した第1使用率情報231及び図25で説明した第2使用率情報232において、「時刻」が「10:00:00」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」、「第1通信プロセス」及び「第2通信プロセス」には、「66(%)」、「59(%)」、「11(%)」、「36(%)」及び「50(%)」のそれぞれが設定されている。また、「時刻」が「10:00:10」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」、「第1通信プロセス」及び「第2通信プロセス」には、「65(%)」、「30(%)」、「17(%)」、「26(%)」及び「37(%)」のそれぞれが設定されており、「時刻」が「10:00:20」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」、「第1通信プロセス」及び「第2通信プロセス」には、「50(%)」、「83(%)」、「40(%)」、「58(%)」及び「63(%)」のそれぞれが設定されている。さらに、「時刻」が「10:00:30」である情報に対応する「モジュール33a」、「モジュール34a」、「モジュール35a」、「第1通信プロセス」及び「第2通信プロセス」には、「46(%)」、「65(%)」、「33(%)」、「37(%)」及び「54(%)」のそれぞれが設定されている。
そのため、回帰分析部213は、上記の式(9)に対して上記の各値を代入することによって、下記の式(12)を生成する。
Figure 2021149808
そして、回帰分析部213は、上記の式(12)におけるεが最小となるように重回帰分析を行う。具体的に、回帰分析部213は、例えば、下記の式(13)を解くことによってβ1,1からβ3,2のそれぞれを得る。
Figure 2021149808
次に、情報取得部212は、図23に示すように、S62の処理で取得した実行モジュールIDに対応する実行モジュールによる最新の第1使用率情報231を各コンテナから取得する(S71)。
その後、分析装置2の使用率推定部214は、S66の処理で算出した実行モジュールごとの回帰係数と、S71の処理で取得した実行モジュールごとの第1使用率情報231とを用いることにより、各実行モジュールが行う通信に伴う通信プロセスによるCPUの使用率を示す第3使用率情報233を実行モジュールごとであって通信プロセスごとに算出する(S72)。
そして、推定率推定部214は、S72の処理で算出した第3使用率情報233のコンテナごとの合計を算出する(S73)。以下、S72及びS73の処理の具体例について説明を行う。
[S72及びS73の処理の具体例]
使用率推定部214は、例えば、以下の式(14)に従うことによって、コンテナごとの第3使用率情報233を算出する。
Figure 2021149808
具体的に、例えば、仮想マシン31に対応する回帰係数のうち、モジュール33a、モジュール34a及びモジュール35aに対応する回帰係数(S66の処理で算出された回帰係数)が「0.1」、「0.45」及び「0.28」のそれぞれであり、仮想マシン32に対応する回帰係数のうち、モジュール33a、モジュール34a及びモジュール35aに対応する回帰係数(S66の処理で算出された回帰係数)が「0.28」、「0.48」及び「0.25」のそれぞれであり、モジュール33a、モジュール34a及びモジュール35aに対応する最新の第1使用率情報231(S71の処理で取得した第1使用率情報231)が「30(%)」、「20(%)」及び「10(%)」のそれぞれである場合、回帰分析部213は、例えば、下記の式(15)に示すように、コンテナ33、コンテナ34及びコンテナ35のそれぞれの第3使用率情報233の合計として、「11.4(%)」、「18.6(%)」及び「5.3(%)」を算出する。
Figure 2021149808
図23に戻り、分析装置2の結果送信部215は、S71の処理で取得した実行モジュールごとの第1使用率情報231のコンテナごとの合計を算出する(S74)。具体的に、結果送信部215は、例えば、以下の式(16)に従うことによって、コンテナごとの第1使用率情報231を算出する。
Figure 2021149808
そして、結果送信部215は、S74の処理で算出したコンテナごとの第1使用率情報231と、S73の処理で算出したコンテナごとの第3使用率情報233とを含む結果情報131を管理装置1に送信する(S74)。
さらに、分析装置2の結果表示部216は、S74の処理で算出したコンテナごとの第1使用率情報231と、S73の処理で算出したコンテナごとの第3使用率情報233とを含む結果情報131を表示装置(図示しない)に表示する(S75)。以下、結果情報131の具体例について説明を行う。
[結果情報の具体例]
図26は、結果情報131の具体例について説明する図である。
図26に示す結果情報131は、各仮想マシンを識別する「VMID」と、コンテナ33に対応する情報が設定される「コンテナ33」と、コンテナ34に対応する情報が設定される「コンテナ34」と、コンテナ35に対応する情報が設定される「コンテナ35」とを大項目として有する。さらに、大項目である「コンテナ33」、「コンテナ34」及び「コンテナ35」のそれぞれは、コンテナごとの第1使用率情報231(S74の処理で算出された第1使用率情報231の合計)が設定される「コンテナ」と、コンテナごとの第3使用率情報233(S73の処理で算出された第3使用率情報233の合計)が設定される「通信」とを項目として有する。
具体的に、図26に示す結果情報131において、1行目情報には、「VMID」として「VM31」が設定され、「コンテナ33」に対応する「コンテナ」及び「通信」として「30(%)」及び「11.4(%)」のそれぞれが設定され、「コンテナ34」に対応する「コンテナ」及び「通信」として「20(%)」及び「18.6(%)」のそれぞれが設定されている。
また、図26に示す結果情報131において、2行目情報には、「VMID」として「VM32」が設定され、「コンテナ35」に対応する「コンテナ」及び「通信」として「10(%)」及び「5.3(%)」が設定されている。
すなわち、第2の実施の形態における分析装置2は、各仮想マシンの通信プロセスごとの第2使用率情報232を用いることによって、結果情報131の生成を行う。
これにより、分析装置2は、例えば、通信パケットを受信する際の処理負荷や通信パケットを送信する際の処理負荷が通信プロセスによって異なる場合であっても、その違いを反映させながら結果情報131の生成を行うことが可能になる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。図27は、第3の実施の形態におけるCPU状態表示処理を説明するフローチャート図である。また、図28は、第3の実施の形態におけるCPU状態表示処理を説明する図である。
第3の実施の形態では、ホストに対して与える影響が大きいコンテナを検知した場合、そのコンテナの通信の制限を行う。
なお、分析装置2において行われる処理については、第1の実施の形態におけるCPU状態表示処理と同じであるため説明を省略する。
管理装置1の要求送信部111は、図27に示すように、分析タイミングになるまで待機する(S81のNO)。
そして、分析タイミングになった場合(S81のYES)、要求送信部111は、分析装置2に対して分析要求を送信する(S82)。
その後、管理装置1の結果受信部112は、分析装置2から送信された結果情報131を受信するまで待機する(S83のNO)。
そして、分析装置2から送信された結果情報131を受信した場合(S83のYES)、管理装置1の通信抑制部114は、コンテナごとに、S83の処理で受信した結果情報131に含まれる第1使用率情報231と第3使用率情報233との和である合計使用率情報132(第4使用率情報132)を算出する(S84)。
続いて、通信抑制部114は、S84の処理で算出した合計使用率情報132が上限閾値(以下、第3閾値とも呼ぶ)以上であるコンテナが存在するか否かを判定する(S85)。
具体的に、通信抑制部114は、情報格納領域130に記憶された通信抑制情報134に含まれる上限閾値を参照し、S84の処理で算出した合計使用率情報132が上限閾値以上であるコンテナが存在するか否かの判定を行う。以下、通信制御情報134の具体例について説明を行う。
[通信制御情報の具体例]
図28は、通信制御情報134の具体例について説明する図である。
図28に示す通信制御情報134は、各コンテナが行う通信を抑制する否かの判定が行われる際に参照される閾値である「上限閾値」を項目として有する。
具体的に、図28に示す通信制御情報134には、「上限閾値」として「70(%)」が設定されている。
なお、通信制御情報134における「上限閾値」には、例えば、図21で説明した閾値情報133における「移動先閾値」に設定された値よりも大きな値が設定されるものであってよい。具体的に、通信制御情報134における「上限閾値」には、例えば、図21で説明した閾値情報133における「移動先閾値」に設定された値よりも10(%)大きな値が設定されるものであってよい。
図27に戻り、S84の処理で算出した合計使用率情報132が上限閾値未満であると判定した場合(S85のNO)、要求送信部111は、S81以降の処理を再度行う。
一方、S84の処理で算出した合計使用率情報132が上限閾値以上であると判定した場合(S85のYES)、通信抑制部114は、S85の処理で存在すると判定したコンテナが行う通信を抑制する(S86)。
具体的に、通信制御部114は、この場合、S85の処理で存在すると判定したコンテナが行う通信のうちの少なくとも一部を抑制する。
すなわち、第3の実施の形態における管理装置1は、ホストに与える負荷が大きいコンテナが存在すると判定した場合、そのコンテナが行う通信の制限を行う。
これにより、管理装置1は、他の仮想マシンに対するコンテナの移動を行うことなく、ホストに与える負荷が大きいコンテナの発生を抑制することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
ホストにおいて動作するVMのCPUの使用状態を表示するCPU状態表示方法であって、
前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示する、
処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
(付記2)
付記1において、
前記第3情報を算出する処理では、前記第1情報のそれぞれと前記第2情報とを用いた回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
ことを特徴とするCPU状態表示方法。
(付記3)
付記2において、
前記第3情報を算出する処理では、前記第1情報のそれぞれを説明変数とし、かつ、前記第2情報を目的変数とした回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
ことを特徴とするCPU状態表示方法。
(付記4)
付記1において、さらに、
前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
(付記5)
付記4において、
前記第1情報を取得する処理では、前記複数のコンテナのそれぞれの前記所定の時間帯におけるCPUの第1使用率を前記第1情報のそれぞれとして取得し、
前記第2情報を取得する処理では、前記VMの通信プロセスによる前記所定の時間帯におけるCPUの第2使用率を前記第2情報として取得し、
前記第3情報を算出する処理では、取得した前記第1使用率のそれぞれと前記第2使用率とから、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの第3使用率を前記第3情報として算出し、
前記判定する処理では、
前記複数のコンテナごとに、前記第1使用率と前記第3使用率との和である合計使用率を算出し、
前記合計使用率が第1閾値以上である前記特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナを移動させる処理では、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
ことを特徴とするCPU状態表示方法。
(付記6)
付記5において、
前記特定のコンテナを移動させる処理では、前記他のホストにおけるCPUの使用率と前記合計使用率との和が第2閾値よりも小さい場合、前記特定のコンテナを前記他のホストに移動させる、
ことを特徴とするCPU状態表示方法。
(付記7)
付記1において、
前記ホストでは、複数のVMが動作しており、
前記第2情報を取得する処理では、前記複数のVMの通信プロセスごとに、各通信プロセスに対応する前記第2情報の取得を行い、
前記第3情報を算出する処理では、前記複数のVMの通信プロセスごとに、前記第1情報のそれぞれと各通信プロセスに対応する前記第2情報とに基づいて、前記複数のコンテナのそれぞれについての前記第3情報の算出を行い、
前記表示する処理では、前記複数のコンテナごとに、前記第1情報と前記複数のVMの通信プロセスごとの前記第3情報の合計とを対応付けて表示する、
ことを特徴とするCPU状態表示方法。
(付記8)
付記1において、さらに、
前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナによる通信を制限する、
処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
(付記9)
ホストにおいて動作するVMのCPUの使用状態を表示する分析装置と、前記VMの管理を行う管理装置とを含む情報処理システムにおけるCPU状態表示方法であって、
前記分析装置が、
前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示し、
前記複数のコンテナごとの前記第1情報と前記第3情報とを対応付けて前記管理装置に送信し、
前記管理装置が、
前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
ことを特徴とするCPU状態表示方法。
(付記10)
ホストにおいて動作するVMのCPUの使用状態を表示する分析装置と、前記VMの管理を行う管理装置とを含む情報処理システムにおけるCPU状態表示方法であって、
前記分析装置が、
前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示し、
前記複数のコンテナごとの前記第1情報と前記第3情報とを対応付けて前記管理装置に送信し、
前記管理装置が、
前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナによる通信を制限する、
ことを特徴とするCPU状態表示方法。
(付記11)
ホストにおいて動作するVMのCPUの使用状態を表示する処理をコンピュータに実行させるCPU状態表示プログラムであって、
前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示する、
処理をコンピュータに実行させることを特徴とするCPU状態表示プログラム。
(付記12)
付記11において、
前記第3情報を算出する処理では、前記第1情報のそれぞれと前記第2情報とを用いた回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
ことを特徴とするCPU状態表示プログラム。
(付記13)
付記12において、
前記第3情報を算出する処理では、前記第1情報のそれぞれを説明変数とし、かつ、前記第2情報を目的変数とした回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
ことを特徴とするCPU状態表示プログラム。
(付記14)
付記11において、さらに、
前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
処理をコンピュータに実行させることを特徴とするCPU状態表示プログラム。
1:管理装置 2:分析装置
3:ホスト 4:ホスト
10:情報処理システム 31:仮想マシン
32:仮想マシン 33:コンテナ
34:コンテナ 35:コンテナ
41:仮想マシン 42:仮想マシン
43:コンテナ 44:コンテナ
45:コンテナ 46:コンテナ

Claims (10)

  1. ホストにおいて動作するVMのCPUの使用状態を表示するCPU状態表示方法であって、
    前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
    前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
    取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
    前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示する、
    処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
  2. 請求項1において、
    前記第3情報を算出する処理では、前記第1情報のそれぞれと前記第2情報とを用いた回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
    ことを特徴とするCPU状態表示方法。
  3. 請求項2において、
    前記第3情報を算出する処理では、前記第1情報のそれぞれを説明変数とし、かつ、前記第2情報を目的変数とした回帰分析を行うことにより、前記複数のコンテナごとの前記第3情報の算出を行う、
    ことを特徴とするCPU状態表示方法。
  4. 請求項1において、さらに、
    前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
    前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
    処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
  5. 請求項4において、
    前記第1情報を取得する処理では、前記複数のコンテナのそれぞれの前記所定の時間帯におけるCPUの第1使用率を前記第1情報のそれぞれとして取得し、
    前記第2情報を取得する処理では、前記VMの通信プロセスによる前記所定の時間帯におけるCPUの第2使用率を前記第2情報として取得し、
    前記第3情報を算出する処理では、取得した前記第1使用率のそれぞれと前記第2使用率とから、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの第3使用率を前記第3情報として算出し、
    前記判定する処理では、
    前記複数のコンテナごとに、前記第1使用率と前記第3使用率との和である合計使用率を算出し、
    前記合計使用率が第1閾値以上である前記特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
    前記特定のコンテナを移動させる処理では、前記特定のコンテナを前記ホスト以外の他のホストにおいて動作する他のVMに移動させる、
    ことを特徴とするCPU状態表示方法。
  6. 請求項5において、
    前記特定のコンテナを移動させる処理では、前記他のホストにおけるCPUの使用率と前記合計使用率との和が第2閾値よりも小さい場合、前記特定のコンテナを前記他のホストに移動させる、
    ことを特徴とするCPU状態表示方法。
  7. 請求項1において、
    前記ホストでは、複数のVMが動作しており、
    前記第2情報を取得する処理では、前記複数のVMの通信プロセスごとに、各通信プロセスに対応する前記第2情報の取得を行い、
    前記第3情報を算出する処理では、前記複数のVMの通信プロセスごとに、前記第1情報のそれぞれと各通信プロセスに対応する前記第2情報とに基づいて、前記複数のコンテナのそれぞれについての前記第3情報の算出を行い、
    前記表示する処理では、前記複数のコンテナごとに、前記第1情報と前記複数のVMの通信プロセスごとの前記第3情報の合計とを対応付けて表示する、
    ことを特徴とするCPU状態表示方法。
  8. 請求項1において、さらに、
    前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
    前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナによる通信を制限する、
    処理をコンピュータに実行させることを特徴とするCPU状態表示方法。
  9. ホストにおいて動作するVMのCPUの使用状態を表示する分析装置と、前記VMの管理を行う管理装置とを含む情報処理システムにおけるCPU状態表示方法であって、
    前記分析装置が、
    前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
    前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
    取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
    前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示し、
    前記複数のコンテナごとの前記第1情報と前記第3情報とを対応付けて前記管理装置に送信し、
    前記管理装置が、
    前記複数のコンテナごとの前記第1情報と前記第3情報とに基づいて、所定の条件を満たす特定のコンテナが前記複数のコンテナに含まれているか否かを判定し、
    前記特定のコンテナが前記複数のコンテナに含まれている場合、前記特定のコンテナによる通信を制限する、
    ことを特徴とするCPU状態表示方法。
  10. ホストにおいて動作するVMのCPUの使用状態を表示する処理をコンピュータに実行させるCPU状態表示プログラムであって、
    前記VMにおいて動作する複数のコンテナの所定の時間帯におけるCPUの使用状態を示す第1情報をそれぞれ取得し、
    前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第2情報を取得し、
    取得した前記第1情報のそれぞれと前記第2情報とに基づいて、前記複数のコンテナごとに、各コンテナが行う通信に伴う前記VMの通信プロセスによる前記所定の時間帯におけるCPUの使用状態を示す第3情報を算出し、
    前記複数のコンテナごとに、前記第1情報と前記第3情報とを対応付けて表示する、
    処理をコンピュータに実行させることを特徴とするCPU状態表示プログラム。
JP2020051218A 2020-03-23 2020-03-23 Cpu状態表示方法及びcpu状態表示プログラム Withdrawn JP2021149808A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020051218A JP2021149808A (ja) 2020-03-23 2020-03-23 Cpu状態表示方法及びcpu状態表示プログラム
EP21153714.7A EP3885904A1 (en) 2020-03-23 2021-01-27 Status display method and status display program
US17/166,606 US11797324B2 (en) 2020-03-23 2021-02-03 Status display method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020051218A JP2021149808A (ja) 2020-03-23 2020-03-23 Cpu状態表示方法及びcpu状態表示プログラム

Publications (1)

Publication Number Publication Date
JP2021149808A true JP2021149808A (ja) 2021-09-27

Family

ID=74346798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020051218A Withdrawn JP2021149808A (ja) 2020-03-23 2020-03-23 Cpu状態表示方法及びcpu状態表示プログラム

Country Status (3)

Country Link
US (1) US11797324B2 (ja)
EP (1) EP3885904A1 (ja)
JP (1) JP2021149808A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149808A (ja) * 2020-03-23 2021-09-27 富士通株式会社 Cpu状態表示方法及びcpu状態表示プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015197564A1 (en) * 2014-06-23 2015-12-30 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
EP3040860A1 (en) 2014-12-29 2016-07-06 NTT DoCoMo, Inc. Resource management in cloud systems
JP6424632B2 (ja) 2015-01-08 2018-11-21 富士通株式会社 負荷算出方法、負荷算出プログラム及び負荷算出装置
CN105183565B (zh) * 2015-09-30 2018-12-07 华为技术有限公司 计算机、服务质量控制方法及装置
JP6468254B2 (ja) * 2016-07-01 2019-02-13 富士通株式会社 情報処理装置、イジング装置及び情報処理装置の制御方法
US10205675B2 (en) * 2016-10-19 2019-02-12 Red Hat, Inc. Dynamically adjusting resources to meet service level objectives
US11055273B1 (en) * 2016-11-04 2021-07-06 Amazon Technologies, Inc. Software container event monitoring systems
JP2018084986A (ja) 2016-11-24 2018-05-31 株式会社東芝 サーバ装置、プログラム、および、通信システム
US11068314B2 (en) * 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10747568B2 (en) * 2017-05-30 2020-08-18 Magalix Corporation Systems and methods for managing a cloud computing environment
JP7221585B2 (ja) * 2017-07-20 2023-02-14 富士通株式会社 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
US10936717B1 (en) * 2018-01-30 2021-03-02 EMC IP Holding Company LLC Monitoring containers running on container host devices for detection of anomalies in current container behavior
EP3522013B1 (en) * 2018-02-01 2020-04-01 Siemens Aktiengesellschaft Method and system for migration of containers in a container orchestration platform between compute nodes
JP7007585B2 (ja) * 2018-03-16 2022-01-24 富士通株式会社 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US10810052B2 (en) * 2018-04-12 2020-10-20 Vmware, Inc. Methods and systems to proactively manage usage of computational resources of a distributed computing system
KR102640232B1 (ko) * 2018-06-11 2024-02-26 삼성전자주식회사 가상화 환경에서의 자원 할당 방법 및 장치
US11106560B2 (en) * 2018-06-22 2021-08-31 EMC IP Holding Company LLC Adaptive thresholds for containers
US11410063B2 (en) * 2018-09-28 2022-08-09 B.yond, Inc. Self-intelligent improvement in predictive data models
US10896067B2 (en) * 2019-01-11 2021-01-19 Hewlett Packard Enterprise Development Lp Determining the cost of container-based workloads
JP7081513B2 (ja) * 2019-01-30 2022-06-07 日本電信電話株式会社 ネットワーク性能保証システム及びネットワーク性能保証方法
US20200267071A1 (en) * 2019-02-15 2020-08-20 Vmware, Inc. Traffic footprint characterization
US10788954B1 (en) * 2019-04-11 2020-09-29 Elasticsearch B.V. Systems and methods for integration of application performance monitoring with logs and infrastructure using a common schema
US11436042B2 (en) * 2019-10-10 2022-09-06 Red Hat, Inc. Migrating the runtime state of a container between two nodes
US11025495B1 (en) * 2019-12-18 2021-06-01 Vmware, Inc. Methods and apparatus to determine container priorities in virtualized computing environments
JP2021149808A (ja) * 2020-03-23 2021-09-27 富士通株式会社 Cpu状態表示方法及びcpu状態表示プログラム

Also Published As

Publication number Publication date
US11797324B2 (en) 2023-10-24
EP3885904A1 (en) 2021-09-29
US20210294627A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
US11507435B2 (en) Rack-level scheduling for reducing the long tail latency using high performance SSDs
US10536392B2 (en) Monitoring data streams and scaling computing resources based on the data streams
CN110753131A (zh) 微服务分布式限流方法及装置、存储介质和电子设备
US20150341238A1 (en) Identifying slow draining devices in a storage area network
US11561836B2 (en) Optimizing distribution of heterogeneous software process workloads
US9229778B2 (en) Method and system for dynamic scaling in a cloud environment
KR101941282B1 (ko) 가상 데스크톱 서비스 제공 방법 및 장치
EP3912039B1 (en) Machine-based recognition and dynamic selection of subpopulations for improved telemetry
US9547518B2 (en) Capture point determination method and capture point determination system
US8132185B2 (en) Device, system, and method of classifying a workload of a software service
US20180248768A1 (en) Identification of mutual influence between cloud network entities
JP6424273B2 (ja) コンピュータ・インフラストラクチャの管理におけるポリシーの自己調整のための半教師あり機械学習の活用
US11546422B2 (en) Dynamic management of locations of modules of a platform hosted by a distributed system
JP2018063470A (ja) 制御装置および制御方法
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
JP4151985B2 (ja) 異常の生じた情報処理装置を検出する技術
JP2021149808A (ja) Cpu状態表示方法及びcpu状態表示プログラム
US9501321B1 (en) Weighted service requests throttling
CN115079929A (zh) 路径调度方法及装置、存储介质和电子设备
WO2013099019A1 (ja) 複数の物理マシンで動作する複数の仮想マシンの再配置を制御する管理計算機
US20230222005A1 (en) Shared Resource Interference Detection involving a Virtual Machine Container
JP7481627B2 (ja) 異常検知方法及び異常検知プログラム
US12028270B1 (en) Systems and methods for providing fifth-generation network function on demand resource distribution
US20170201535A1 (en) Estimation device and estimation method
US20220050718A1 (en) Scalability advisor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221208

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20231027