JP6548379B2 - 情報処理装置およびその制御方法、並びにプログラム - Google Patents
情報処理装置およびその制御方法、並びにプログラム Download PDFInfo
- Publication number
- JP6548379B2 JP6548379B2 JP2014216634A JP2014216634A JP6548379B2 JP 6548379 B2 JP6548379 B2 JP 6548379B2 JP 2014216634 A JP2014216634 A JP 2014216634A JP 2014216634 A JP2014216634 A JP 2014216634A JP 6548379 B2 JP6548379 B2 JP 6548379B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- byte code
- unit
- executed
- aggregation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
[ハードウェア構成]
本発明の第一の実施形態について説明する。図1は、本発明の各実施形態に共通する情報処理装置を収容するハードウェア構成の一例である。
図2は、本発明の各実施形態に共通する情報処理システム全体のソフトウェアの構成例を説明するための図である。図2は、情報処理装置100のCPU102やRAM104、あるいは外部記憶装置105などの各ハードウェア上で動作するソフトウェアの構成例を表す。なお、これらの各モジュールにおける処理は、CPU102の命令により、ROM103や外部記憶装置105に格納されているプログラムを読み出し、RAM104をワークエリアとして所定の処理を実行することで実現する。また、所定の処理を実行することで生成される全ての情報は、RAM104もしくは外部記憶装置105に格納する。なお、このような各モジュールにおける処理は、以降でも同様であるため、以降では記載を省略する。
図4は、クラスXのクラスファイル401に含まれるJavaオブジェクトを生成するバイトコードの後に、バイトコード挿入部312がオブジェクト管理テーブル生成処理を実行するバイトコードを新しく挿入する場合の一例を示す。
次に本実施形態の処理の流れについて、図7〜図9を用いて説明する。
図7は、アプリケーションプラットフォーム204のアプリケーション管理部305がアプリケーションA205をインストールする際の処理を示すフローチャートである。本フローチャートは、CPU102が外部記憶装置105等に格納されたプログラムを読み出して実行することにより、各処理主体の部位として機能させることで実現する。
次に、インストールしたアプリケーションA205を起動する場合について説明する。アプリケーションA205の起動は、ユーザが情報処理装置120から起動を命令すると、ネットワーク116を介して、ネットワークI/F制御部がその命令を受けとり、CPU102にアプリケーションA205の起動を命令する。CPU102がアプリケーションA205の起動命令を受けると、アプリケーション管理部305はアプリケーションA205を起動する。アプリケーションA205が起動されると、パネル制御部110が操作パネル114にアプリケーションA205のアプリアイコン501を表示する。ユーザはこのアプリアイコン501を選択することにより、アプリケーションA205を実行させる。
図9は、S809でオブジェクト生成部302がオブジェクト集計処理を実行する際の処理を示すフローチャートである。本フローチャートは、CPU102が外部記憶装置105等に格納されたプログラムを読み出して実行することにより、各処理主体の部位として機能させることで実現する。
本発明の第二の実施形態について説明する。第一の実施形態では、アプリケーションA205の処理の実行中に、Javaオブジェクトを生成した場合に、オブジェクト集計処理を実行していた。しかし、オブジェクト集計処理の実行中(S809、S901〜S905)にアプリケーションA205あるいはアプリケーションメモリ管理部306がJavaオブジェクトを生成すると、再度、オブジェクト集計処理を実行してしまう。この場合、2度目のオブジェクト集計処理の実行中にまたJavaオブジェクトを生成すると、またオブジェクト集計処理を実行(S809、S901〜S905)してしまう。つまり、Javaオブジェクトの生成とオブジェクト集計処理の繰り返しになってしまい、アプリケーションA205の処理が進まなくなるという問題がある。
図10は、第二の実施形態のアプリケーションメモリ管理部306が特別クラスフラグ1001を管理するソフトウェア構成例を示す。特別クラスフラグ1001は、オブジェクト集計処理の実行中であるか否かを判定するためのフラグである。特別クラスフラグ1001は、基本的には「FALSE」であるが、オブジェクト集計処理を実行している間は「TRUE」になる。
図11は、本実施形態に係る処理フローであり、図8にて示した処理フローに対し、S805とS806の間に、S1101とS1102を加えている。
本発明の第三の実施形態について説明する。第一の実施形態では、情報処理装置100に複数のアプリがインストールされている場合、全てのアプリケーションに対して、同じようにメモリ使用量を計測している。しかし、全てのアプリケーションに対してではなく、指定したアプリケーションのみに対して、メモリ使用量の計測を行っても良い。指定するアプリケーションとして、例えば、情報処理装置100に最初からインストールされているようなアプリケーションではなく、ユーザが後からインストールするアプリケーションのみを指定する場合がある。なお、以降では、情報処理装置100に最初からインストールされているようなアプリケーションを「システムアプリ」と呼ぶ。そして、本実施形態では、システムアプリである場合には、メモリ使用量の計測・集計を行わないこととする。
図14は、第三の実施形態のアプリケーションメモリ管理部306が計測フラグ1401を管理するソフトウェア構成例を示す。計測フラグ1401は、Javaオブジェクトを生成しようとするアプリケーションが計測対象であるか否かを判定するためのフラグである。計測フラグ1401はアプリケーション毎に定義され、基本的には「TRUE」であるが、情報処理装置100にインストールしたアプリケーションがシステムアプリである場合は「FALSE」になる。
図15は、本実施形態に係る処理フローであり、図7で示した処理フローに対し、S703とS704の間にS1501を、S708とS709の間にS1502〜S1505を加えている。
本発明の第四の実施形態について説明する。第一の実施形態では、アプリケーションのメモリ使用量を計測している。その他にも、情報処理装置の他のリソースであるソケットやスレッド、あるいはファイルディスクリプタなどの計測を行っても良い。以降では、情報処理装置のメモリ以外のリソースであるスレッドやソケット、あるいはファイルディスクリプタなどを「計測対象リソース」と呼ぶ。
図17は、本実施形態に係る処理フローであり、図8に示した処理フローに対し、S804とS806の間にS1701、S1702を、S808とS810の間にS1703〜S1706を加えている。
図18は、図17のS1706において、オブジェクト生成部302がオブジェクト集計処理とリソース集計処理を実行する際の処理を示すフローチャートである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (8)
- クラスファイルに含まれるバイトコードを用いて処理を実行する複数のアプリケーションを備えた情報処理装置であって、
前記複数のアプリケーションに含まれるアプリケーションがオブジェクトを生成した場合に、前記オブジェクトが使用したリソースの情報を集計する集計手段と、
前記オブジェクトは前記集計手段による前記リソースの集計処理を実行している最中に生成されたか否かを判定する判定手段と、
前記アプリケーションに対応するクラスファイルに、前記集計処理を実行するための第一のバイトコードを挿入する挿入手段と
を備え、
前記挿入手段にて挿入された前記第一のバイトコードが実行されることにより、前記第一のバイトコードを実行した前記アプリケーションが識別され、前記アプリケーションおよび前記オブジェクトが使用するリソースの情報が対応付けて記憶部に登録され、
前記集計手段は、前記記憶部に登録された情報に基づいて、アプリケーションごとのリソースの使用量を集計し、
前記挿入手段は、前記第一のバイトコードによる前記集計処理が実行中であるか否かを判定するための第二のバイトコードを、新たなオブジェクトのクラスファイルに挿入し、
前記第二のバイトコードが実行されることにより、前記新たなオブジェクトは前記集計処理を実行している最中に生成されたと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象から除外され、
前記新たなオブジェクトは前記集計処理を実行している最中に生成されていないと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象として、
前記アプリケーションの処理が実行されることを特徴とする情報処理装置。 - 前記挿入手段は、前記アプリケーションを前記情報処理装置にインストールする際に、前記アプリケーションに対応する管理テーブルを生成するための第三のバイトコードを挿入し、
前記第三のバイトコードが実行されることにより、前記アプリケーションに対応する前記管理テーブルが前記記憶部に生成され、
前記第一のバイトコードが実行された際に、前記アプリケーションが生成したオブジェクトが使用するリソースの情報は、前記アプリケーションに対応する管理テーブルに登録されることを特徴とする請求項1に記載の情報処理装置。 - 前記挿入手段は、前記集計処理の実行対象となるアプリケーションを設定するための第四のバイトコードを挿入し、
前記第一のバイトコードが実行された場合、前記第四のバイトコードが実行された際に設定されるアプリケーションが、前記集計手段により、対象として集計されることを特徴とする請求項1または2に記載の情報処理装置。 - 前記第四のバイトコードは、ユーザにより前記情報処理装置に新たにインストールされたアプリケーションを対象とするように構成されることを特徴とする請求項3に記載の情報処理装置。
- 前記挿入手段は、集計する対象となるリソースの種類を設定するための第五のバイトコードを挿入し、
前記第一のバイトコードが実行された場合、前記第五のバイトコードが実行された際に設定されるリソースが、前記集計手段により、集計されることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。 - 前記リソースの種類は、メモリ、スレッド、ソケット、およびファイルディスクリプタの少なくともいずれかであることを特徴とする請求項5に記載の情報処理装置。
- クラスファイルに含まれるバイトコードを用いて処理を実行する複数のアプリケーションを備えた情報処理装置の制御方法であって、
前記複数のアプリケーションに含まれるアプリケーションがオブジェクトを生成した場合に、前記オブジェクトが使用したリソースの情報を集計する集計工程と、
前記オブジェクトは前記集計工程における前記リソースの集計処理を実行している最中に生成されたか否かを判定する判定工程と、
前記アプリケーションに対応するクラスファイルに、前記集計処理を実行するための第一のバイトコードを挿入する挿入工程と
を有し、
前記挿入工程にて挿入された前記第一のバイトコードが実行されることにより、前記第一のバイトコードを実行した前記アプリケーションが識別され、前記アプリケーションおよび前記オブジェクトが使用するリソースの情報が対応付けて記憶部に登録され、
前記集計工程において、前記記憶部に登録された情報に基づいて、アプリケーションごとのリソースの使用量が集計され、
前記挿入工程において、前記第一のバイトコードによる前記集計処理が実行中であるか否かを判定するための第二のバイトコードが、新たなオブジェクトのクラスファイルに挿入され、
前記第二のバイトコードが実行されることにより、前記新たなオブジェクトは前記集計処理を実行している最中に生成されたと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象から除外され、
前記新たなオブジェクトは前記集計処理を実行している最中に生成されていないと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象となることを特徴とする情報処理装置の制御方法。 - コンピュータを、
クラスファイルに含まれるバイトコードを用いて処理を実行する複数のアプリケーションに含まれるアプリケーションがオブジェクトを生成した場合に、前記オブジェクトが使用したリソースの情報を集計する集計手段、
前記オブジェクトは前記集計手段による前記リソースの集計処理を実行している最中に生成されたか否かを判定する判定手段、
前記アプリケーションに対応するクラスファイルに、前記集計処理を実行するための第一のバイトコードを挿入する挿入手段
として機能させ、
前記挿入手段にて挿入された前記第一のバイトコードが実行されることにより、前記第一のバイトコードを実行した前記アプリケーションが識別され、前記アプリケーションおよび前記オブジェクトが使用するリソースの情報が対応付けて記憶部に登録され、
前記集計手段は、前記記憶部に登録された情報に基づいて、アプリケーションごとのリソースの使用量を集計し、
前記挿入手段は、前記第一のバイトコードによる前記集計処理が実行中であるか否かを判定するための第二のバイトコードを、新たなオブジェクトのクラスファイルに挿入し、
前記第二のバイトコードが実行されることにより、前記新たなオブジェクトは前記集計処理を実行している最中に生成されたと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象から除外され、
前記新たなオブジェクトは前記集計処理を実行している最中に生成されていないと判定された場合には、前記新たなオブジェクトは前記集計処理の実行対象となることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216634A JP6548379B2 (ja) | 2014-10-23 | 2014-10-23 | 情報処理装置およびその制御方法、並びにプログラム |
US14/876,130 US10089211B2 (en) | 2014-10-23 | 2015-10-06 | Information processing apparatus that executes processing by using a bytecode, method for controlling the same, and non-transitory computer-readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216634A JP6548379B2 (ja) | 2014-10-23 | 2014-10-23 | 情報処理装置およびその制御方法、並びにプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016085537A JP2016085537A (ja) | 2016-05-19 |
JP2016085537A5 JP2016085537A5 (ja) | 2017-11-24 |
JP6548379B2 true JP6548379B2 (ja) | 2019-07-24 |
Family
ID=55792093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014216634A Active JP6548379B2 (ja) | 2014-10-23 | 2014-10-23 | 情報処理装置およびその制御方法、並びにプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10089211B2 (ja) |
JP (1) | JP6548379B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255673B (zh) * | 2017-12-29 | 2021-10-15 | 东软集团股份有限公司 | 应用程序占用资源的检测方法、装置和存储介质 |
CN108628740A (zh) * | 2018-04-10 | 2018-10-09 | 杭州迪普科技股份有限公司 | 一种文件描述符泄露检测方法及装置 |
CN111562913B (zh) * | 2020-04-28 | 2023-03-14 | 抖音视界有限公司 | 视图组件的预创建方法、装置、设备及计算机可读介质 |
CN114461482A (zh) * | 2020-11-10 | 2022-05-10 | 南京中兴新软件有限责任公司 | 插件资源管理的方法和装置、电子设备、计算机可读介质 |
CN112732560B (zh) * | 2020-12-31 | 2023-10-27 | 杭州迪普科技股份有限公司 | 文件描述符泄露风险的检测方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760903B1 (en) * | 1996-08-27 | 2004-07-06 | Compuware Corporation | Coordinated application monitoring in a distributed computing environment |
US6314558B1 (en) * | 1996-08-27 | 2001-11-06 | Compuware Corporation | Byte code instrumentation |
JP2000293410A (ja) * | 1999-04-09 | 2000-10-20 | Nec Corp | プロファイラ |
US7367025B1 (en) * | 2003-12-30 | 2008-04-29 | Sap Ag | Byte code modification for testing, debugging and/or monitoring of virtual machine based software |
US20060136886A1 (en) * | 2004-12-16 | 2006-06-22 | Bret Patterson | Process and implementation for interrupting locked threads |
US20060136916A1 (en) * | 2004-12-17 | 2006-06-22 | Rowland John R | Method and apparatus for transaction performance and availability management based on program component monitor plugins and transaction performance monitors |
US7793304B2 (en) * | 2005-05-04 | 2010-09-07 | Symantec Corporation | System and method for monitoring memory usage |
US8631401B2 (en) * | 2007-07-24 | 2014-01-14 | Ca, Inc. | Capacity planning by transaction type |
US8261278B2 (en) * | 2008-02-01 | 2012-09-04 | Ca, Inc. | Automatic baselining of resource consumption for transactions |
US8245200B2 (en) * | 2008-07-11 | 2012-08-14 | International Business Machines Corporation | Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications |
US8566800B2 (en) | 2010-05-11 | 2013-10-22 | Ca, Inc. | Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation |
US8910127B2 (en) * | 2012-09-20 | 2014-12-09 | Identify Software Ltd. (IL) | Estimating indirect interface implementation before load time based on directly implemented methods |
-
2014
- 2014-10-23 JP JP2014216634A patent/JP6548379B2/ja active Active
-
2015
- 2015-10-06 US US14/876,130 patent/US10089211B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160117236A1 (en) | 2016-04-28 |
JP2016085537A (ja) | 2016-05-19 |
US10089211B2 (en) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6548379B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
CN107430549B (zh) | 基于联合的存储器管理 | |
US10338956B2 (en) | Application profiling job management system, program, and method | |
JP5147728B2 (ja) | 質的に注釈を付けられた注釈付きコード | |
US8161471B2 (en) | Utility for optimizing required memory for distribution in embedded systems | |
US8819396B2 (en) | Parallel processing using plural processing modules when processing time including parallel control overhead time is determined to be less than serial processing time | |
US9542228B2 (en) | Image processing apparatus, control method thereof and storage medium | |
EP2765525B1 (en) | Apparatus, non-transitory computer readable information recording medium and information recording method | |
US9710355B2 (en) | Selective loading of code elements for code analysis | |
US9542170B2 (en) | Development tool for footprint reduction | |
US11120521B2 (en) | Techniques for graphics processing unit profiling using binary instrumentation | |
KR20120036209A (ko) | 컴퓨팅 시스템에서 부트 이미지의 크기를 최적화하는 부팅이미지 생성방법 | |
KR100654428B1 (ko) | 자바 프로그램의 처리 속도를 향상시키는 시스템 및 그 방법 | |
JP2020016926A (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
CN108763052B (zh) | 一种虚拟现实软件内存回收机制的性能检测方法及系统 | |
US9244672B2 (en) | Optimization utility for developing embedded systems | |
US9588755B2 (en) | Information processing apparatus capable of controlling installation of application, method of controlling the same, and storage medium | |
KR102098905B1 (ko) | 호스트의 테스트 시나리오로 제어장치의 복수의 파티션간 영향도를 측정하기 위한 방법, 동일 방법을 구현하기 위한 호스트 및 시스템, 그리고 동일 방법을 기록하기 위한 매체 | |
CN110134454B (zh) | 一种启动应用程序的方法及其装置 | |
JP5423876B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
US9753775B2 (en) | Resource management apparatus and resource management method | |
US9634912B2 (en) | Computer, resource usage calculation method, and resource usage calculation program | |
KR101103795B1 (ko) | 포터블 매체를 이용한 소프트웨어 가상화 시스템 제공방법 | |
JP2014078175A (ja) | 情報処理装置、その制御方法、及びプログラム | |
US8913257B2 (en) | Image forming apparatus, method and program of managing the image forming apparatus by reserving area for identified counter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171011 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190214 |
|
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: 20190527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190625 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6548379 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |