JP2002108698A - メモリ管理システム及びメモリ管理方法 - Google Patents
メモリ管理システム及びメモリ管理方法Info
- Publication number
- JP2002108698A JP2002108698A JP2000304406A JP2000304406A JP2002108698A JP 2002108698 A JP2002108698 A JP 2002108698A JP 2000304406 A JP2000304406 A JP 2000304406A JP 2000304406 A JP2000304406 A JP 2000304406A JP 2002108698 A JP2002108698 A JP 2002108698A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memory area
- time
- management
- released
- 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.)
- Pending
Links
Landscapes
- Memory System (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】プロセスが必要とするメモリ領域を誤って開放
することなく、不必要なメモリを開放することができる
メモリ管理システムを提供する。 【解決手段】プロセスが獲得したメモリ領域の最大生存
時間を管理し、この時間を過ぎても開放されていないメ
モリ領域をメモリ管理プロセスが開放することで、確実
にメモリリークを防止する。また、警告時間を管理する
ことで、ユーザに対してメモリ領域の開放を促す。例え
ば、プロセスA12aがメモリ領域の獲得・開放を行
い、このメモリ領域の最大生存時間を8分、警告時間を
5分の時、警告時間を経過してもメモリ領域が開放され
ない場合、管理手段21は警告ログを出力し、通信手段
22を介して報知手段14に警告ログを表示させる。ま
た、メモリ獲得から8分経過してもメモリ領域の開放を
行わない場合、メモリ管理プロセス13が、管理情報に
基づいてメモリ11のメモリ領域を開放する。
することなく、不必要なメモリを開放することができる
メモリ管理システムを提供する。 【解決手段】プロセスが獲得したメモリ領域の最大生存
時間を管理し、この時間を過ぎても開放されていないメ
モリ領域をメモリ管理プロセスが開放することで、確実
にメモリリークを防止する。また、警告時間を管理する
ことで、ユーザに対してメモリ領域の開放を促す。例え
ば、プロセスA12aがメモリ領域の獲得・開放を行
い、このメモリ領域の最大生存時間を8分、警告時間を
5分の時、警告時間を経過してもメモリ領域が開放され
ない場合、管理手段21は警告ログを出力し、通信手段
22を介して報知手段14に警告ログを表示させる。ま
た、メモリ獲得から8分経過してもメモリ領域の開放を
行わない場合、メモリ管理プロセス13が、管理情報に
基づいてメモリ11のメモリ領域を開放する。
Description
【0001】
【発明の属する技術分野】本発明は、複数のプロセスが
動的に獲得するメモリ領域についての情報を管理するメ
モリ管理システムに関する。
動的に獲得するメモリ領域についての情報を管理するメ
モリ管理システムに関する。
【0002】
【従来の技術】UNIX(登録商標)などが動作する情
報処理装置では、アプリケーションなどを動作させるた
めに複数のプロセスが起動・動作している。各プロセス
は処理を実行するために、情報処理装置が備えたメモリ
のメモリ領域を動的に獲得する。メモリ資源には限りが
あるので、このように複数のプロセスがメモリを獲得す
る場合、プロセスがメモリを使用しなくなると、所定の
タイミングでメモリを開放する必要がある。これを忘れ
ると、メモリリークという不具合が発生する。メモリリ
ークとは、獲得されたメモリ領域が徐々に増加してい
き、最終的にはメモリ領域が足りない状態となる現象で
ある。多少のメモリリークでは大きな問題は発生しない
が、メモリ領域の限界値を越えるとシステムダウンとな
る。ほとんどの場合、メモリが足りなくなったプロセス
のみがダウンするが、場合によっては、システム全体が
ダウンしてしまう。
報処理装置では、アプリケーションなどを動作させるた
めに複数のプロセスが起動・動作している。各プロセス
は処理を実行するために、情報処理装置が備えたメモリ
のメモリ領域を動的に獲得する。メモリ資源には限りが
あるので、このように複数のプロセスがメモリを獲得す
る場合、プロセスがメモリを使用しなくなると、所定の
タイミングでメモリを開放する必要がある。これを忘れ
ると、メモリリークという不具合が発生する。メモリリ
ークとは、獲得されたメモリ領域が徐々に増加してい
き、最終的にはメモリ領域が足りない状態となる現象で
ある。多少のメモリリークでは大きな問題は発生しない
が、メモリ領域の限界値を越えるとシステムダウンとな
る。ほとんどの場合、メモリが足りなくなったプロセス
のみがダウンするが、場合によっては、システム全体が
ダウンしてしまう。
【0003】そこで、図6に示したように、従来の情報
処理装置では、メモリリークを検出するために、プロセ
スが獲得したメモリを一元管理するメモリ管理システム
51を備えていた。メモリ管理システム51は、メモリ
61、複数のプロセスであるプロセスA62a、プロセ
スB62b、プロセスC62c及びメモリ管理プロセス
63によって構成される。
処理装置では、メモリリークを検出するために、プロセ
スが獲得したメモリを一元管理するメモリ管理システム
51を備えていた。メモリ管理システム51は、メモリ
61、複数のプロセスであるプロセスA62a、プロセ
スB62b、プロセスC62c及びメモリ管理プロセス
63によって構成される。
【0004】プロセスA62aは、第1の管理手段71
a、第1の通信手段72a、第1の記憶手段73aを備
えている。また、図示していないが、プロセスB62b
及びプロセスC62cはプロセスA62aと同様の構成
である。
a、第1の通信手段72a、第1の記憶手段73aを備
えている。また、図示していないが、プロセスB62b
及びプロセスC62cはプロセスA62aと同様の構成
である。
【0005】第1の管理手段71aは、プロセスA62
aがメモリ領域を獲得した際に、メモリ領域で実行する
関数名、その関数が使用する変数名、獲得するメモリ領
域のメモリサイズを管理する。第1の通信手段72a
は、メモリ61のメモリ領域獲得・開放を行ったり、そ
の際に第1の管理手段71aで管理している情報をメモ
リ管理プロセス63に送信したりするためのものであ
る。第1の記憶手段73aは、第1の管理手段71aが
管理している情報を記憶するためのものである。
aがメモリ領域を獲得した際に、メモリ領域で実行する
関数名、その関数が使用する変数名、獲得するメモリ領
域のメモリサイズを管理する。第1の通信手段72a
は、メモリ61のメモリ領域獲得・開放を行ったり、そ
の際に第1の管理手段71aで管理している情報をメモ
リ管理プロセス63に送信したりするためのものであ
る。第1の記憶手段73aは、第1の管理手段71aが
管理している情報を記憶するためのものである。
【0006】メモリ管理プロセス63は、第2の管理手
段81、第2の通信手段82、第2の記憶手段83及び
計時手段84を備えている。第2の管理手段81は、各
プロセスが獲得したメモリ11のメモリ領域を一元管理
するためのものである。第2の通信手段82は、各プロ
セスがメモリ61に獲得したメモリ領域を開放したり、
各プロセスから送信されたメモリ領域の管理情報を受信
したりするためのものである。第2の記憶手段83は、
第2の管理手段81が管理するメモリ領域の情報を記憶
するためのものである。メモリ領域の情報は、例えば管
理テーブルで管理される。計時手段84は、時刻を計時
するためのものである。
段81、第2の通信手段82、第2の記憶手段83及び
計時手段84を備えている。第2の管理手段81は、各
プロセスが獲得したメモリ11のメモリ領域を一元管理
するためのものである。第2の通信手段82は、各プロ
セスがメモリ61に獲得したメモリ領域を開放したり、
各プロセスから送信されたメモリ領域の管理情報を受信
したりするためのものである。第2の記憶手段83は、
第2の管理手段81が管理するメモリ領域の情報を記憶
するためのものである。メモリ領域の情報は、例えば管
理テーブルで管理される。計時手段84は、時刻を計時
するためのものである。
【0007】このメモリ管理システム51では、各プロ
セス62a〜62cがメモリ61のメモリ領域の獲得、
開放を行っている。また、メモリリークを防止するため
に、メモリ管理プロセス63は、メモリ領域が最近参照
されているか否かを判断基準として、メモリ領域が最近
参照されているか否かを示すフラグを確認することで、
開放されていないメモリ領域の開放を行っている。
セス62a〜62cがメモリ61のメモリ領域の獲得、
開放を行っている。また、メモリリークを防止するため
に、メモリ管理プロセス63は、メモリ領域が最近参照
されているか否かを判断基準として、メモリ領域が最近
参照されているか否かを示すフラグを確認することで、
開放されていないメモリ領域の開放を行っている。
【0008】上記従来のメモリ管理システム51のメモ
リ管理方法について、その詳細を説明する。図7は、プ
ロセスAがメモリの獲得を行う場合の従来のメモリ管理
システムの処理を説明するためのフローチャートであ
る。情報処理装置上では、プロセスA62a,プロセス
B62b,プロセスC62cが動作しているが、一例と
してプロセスA62aの場合について説明する。
リ管理方法について、その詳細を説明する。図7は、プ
ロセスAがメモリの獲得を行う場合の従来のメモリ管理
システムの処理を説明するためのフローチャートであ
る。情報処理装置上では、プロセスA62a,プロセス
B62b,プロセスC62cが動作しているが、一例と
してプロセスA62aの場合について説明する。
【0009】プロセスA62aの第1の管理手段71a
は、まずメモリ61のメモリ領域を獲得するために、第
1の通信手段72aを介してメモリ61にアクセスする
(ステップ201)。そして、メモリ領域の獲得が可能
か否かを判断する(ステップ202)。メモリ領域の獲
得が可能な場合は、メモリ領域の獲得を実行する(ステ
ップ203)。そして、メモリ領域で使用する関数名・
その関数で使用する変数名、獲得したメモリ領域のサイ
ズ・アドレスをメモリ管理プロセスに通知して(ステッ
プ204)、処理を終了する。一方、ステップ202に
おいて、メモリ領域の獲得が不可能な場合は、エラーを
メモリ管理プロセス63に返信して処理を終了する(ス
テップ205)。
は、まずメモリ61のメモリ領域を獲得するために、第
1の通信手段72aを介してメモリ61にアクセスする
(ステップ201)。そして、メモリ領域の獲得が可能
か否かを判断する(ステップ202)。メモリ領域の獲
得が可能な場合は、メモリ領域の獲得を実行する(ステ
ップ203)。そして、メモリ領域で使用する関数名・
その関数で使用する変数名、獲得したメモリ領域のサイ
ズ・アドレスをメモリ管理プロセスに通知して(ステッ
プ204)、処理を終了する。一方、ステップ202に
おいて、メモリ領域の獲得が不可能な場合は、エラーを
メモリ管理プロセス63に返信して処理を終了する(ス
テップ205)。
【0010】メモリ管理プロセス63の第2の管理手段
81は、第2の通信手段82を介してプロセスA62a
から通知を受けると、通知されてきた情報と、その情報
を通知してきたプロセス名及び現在時刻と、を管理テー
ブルに追加して管理を行う(ステップ211)。なお、
現在時刻は、計時手段84で確認され、メモリ獲得時刻
として管理される。
81は、第2の通信手段82を介してプロセスA62a
から通知を受けると、通知されてきた情報と、その情報
を通知してきたプロセス名及び現在時刻と、を管理テー
ブルに追加して管理を行う(ステップ211)。なお、
現在時刻は、計時手段84で確認され、メモリ獲得時刻
として管理される。
【0011】次に、プロセス自身がメモリ開放を行う場
合の処理を説明する。図8は、プロセスAがメモリ開放
を行う場合の処理を説明するためのフローチャートであ
る。プロセスA62aの第1の管理手段71aは、所定
の処理を終了して不要になったメモリ領域の開放を第1
の通信手段72aを介して実施する(ステップ22
1)。そして、開放するメモリ領域を使用していた関数
名、及びその関数で使用した変数名をメモリ管理プロセ
ス63に通知する(ステップ222)。
合の処理を説明する。図8は、プロセスAがメモリ開放
を行う場合の処理を説明するためのフローチャートであ
る。プロセスA62aの第1の管理手段71aは、所定
の処理を終了して不要になったメモリ領域の開放を第1
の通信手段72aを介して実施する(ステップ22
1)。そして、開放するメモリ領域を使用していた関数
名、及びその関数で使用した変数名をメモリ管理プロセ
ス63に通知する(ステップ222)。
【0012】プロセスA62aから通知を受けたメモリ
管理プロセス63は、第2の通信手段82を介して通知
されてきた情報に基づいて、管理テーブルから開放した
メモリ領域に関する情報を削除する(ステップ23
1)。
管理プロセス63は、第2の通信手段82を介して通知
されてきた情報に基づいて、管理テーブルから開放した
メモリ領域に関する情報を削除する(ステップ23
1)。
【0013】次に、メモリ管理プロセス63がメモリ開
放を行う場合の処理を説明する。図9は、メモリ管理プ
ロセスがメモリ開放を行う場合の処理を説明するための
フローチャートである。メモリ管理プロセス63の第2
の管理手段81は、第2の記憶手段83に記憶させた管
理テーブルを検索し、最近最も参照されていないメモリ
領域を検索する(ステップ241)。例えば、所定の時
間以上アクセスされていないメモリ領域を検索する。そ
して、そのメモリ領域の開放を実施する(ステップ24
2)。また、メモリ領域の管理テーブルから、開放した
メモリの管理情報を削除し(ステップ243)、処理を
終了する。
放を行う場合の処理を説明する。図9は、メモリ管理プ
ロセスがメモリ開放を行う場合の処理を説明するための
フローチャートである。メモリ管理プロセス63の第2
の管理手段81は、第2の記憶手段83に記憶させた管
理テーブルを検索し、最近最も参照されていないメモリ
領域を検索する(ステップ241)。例えば、所定の時
間以上アクセスされていないメモリ領域を検索する。そ
して、そのメモリ領域の開放を実施する(ステップ24
2)。また、メモリ領域の管理テーブルから、開放した
メモリの管理情報を削除し(ステップ243)、処理を
終了する。
【0014】
【発明が解決しようとする課題】しかしながら、従来の
メモリ管理システムの場合、プロセスによってメモリを
参照する時間間隔が異なるため、最近参照されていない
からといって、そのプロセスにとって今後不必要なメモ
リ領域であるという保証は無い。よって、従来の方法で
は、開放してはいけないメモリ領域を開放してしまうこ
とがある。そのため、次にプロセスがそのメモリ領域を
参照した場合は、そのメモリ領域には別の内容が記録さ
れているために、意図したものと異なるデータをリード
して、不具合が発生するという問題点があった。
メモリ管理システムの場合、プロセスによってメモリを
参照する時間間隔が異なるため、最近参照されていない
からといって、そのプロセスにとって今後不必要なメモ
リ領域であるという保証は無い。よって、従来の方法で
は、開放してはいけないメモリ領域を開放してしまうこ
とがある。そのため、次にプロセスがそのメモリ領域を
参照した場合は、そのメモリ領域には別の内容が記録さ
れているために、意図したものと異なるデータをリード
して、不具合が発生するという問題点があった。
【0015】そこで、本発明は、上記の問題を解決する
ために成されたものであり、その目的は、プロセスが必
要とするメモリ領域を誤って開放することなく、不必要
なメモリを開放することができるメモリ管理システムを
提供することである。
ために成されたものであり、その目的は、プロセスが必
要とするメモリ領域を誤って開放することなく、不必要
なメモリを開放することができるメモリ管理システムを
提供することである。
【0016】
【課題を解決するための手段】この発明は、処理内容を
管理する第1の管理手段と、該処理内容を記憶する第1
の記憶手段と、メモリ及び他のプロセスと情報のやり取
りを行う第1の通信手段と、を備え、情報処理装置上で
起動・動作する複数のプロセスと、該複数のプロセスが
動的にメモリ領域を獲得するメモリと、該複数のプロセ
スが獲得したメモリ領域の情報を一元管理する第2の管
理手段と、該一元管理するメモリ領域の情報を記憶する
第2の記憶手段と、メモリ及び他のプロセスと情報のや
り取りを行う第2の通信手段と、時刻を計時する計時手
段と、を備えたメモリ管理プロセスと、を有するメモリ
管理システムにおいて、該第2の管理手段は、該複数の
プロセスがその時間を過ぎるとメモリ領域の内容を参照
することがないメモリ領域の最大生存時間を管理し、該
メモリ管理プロセスは、最大生存時間を過ぎても開放さ
れていないメモリ領域が存在すると、そのメモリ領域を
開放することを特徴とする。
管理する第1の管理手段と、該処理内容を記憶する第1
の記憶手段と、メモリ及び他のプロセスと情報のやり取
りを行う第1の通信手段と、を備え、情報処理装置上で
起動・動作する複数のプロセスと、該複数のプロセスが
動的にメモリ領域を獲得するメモリと、該複数のプロセ
スが獲得したメモリ領域の情報を一元管理する第2の管
理手段と、該一元管理するメモリ領域の情報を記憶する
第2の記憶手段と、メモリ及び他のプロセスと情報のや
り取りを行う第2の通信手段と、時刻を計時する計時手
段と、を備えたメモリ管理プロセスと、を有するメモリ
管理システムにおいて、該第2の管理手段は、該複数の
プロセスがその時間を過ぎるとメモリ領域の内容を参照
することがないメモリ領域の最大生存時間を管理し、該
メモリ管理プロセスは、最大生存時間を過ぎても開放さ
れていないメモリ領域が存在すると、そのメモリ領域を
開放することを特徴とする。
【0017】この構成においては、メモリ管理システム
は、複数のプロセスと、メモリと、メモリ管理プロセス
と、を備え、情報処理装置上で起動・動作する複数のプ
ロセスは、処理内容を管理する第1の管理手段と、該処
理内容を記憶する第1の記憶手段と、メモリ及び他のプ
ロセスと情報のやり取りを行う第1の通信手段と、を備
え、メモリは、複数のプロセスが動的にメモリ領域を獲
得し、メモリ管理プロセスは、複数のプロセスが獲得し
たメモリ領域の情報を一元管理する第2の管理手段と、
一元管理するメモリ領域の情報を記憶する第2の記憶手
段と、メモリ及び他のプロセスと情報のやり取りを行う
第2の通信手段と、時刻を計時する計時手段と、を備
え、第2の管理手段は、複数のプロセスがその時間を過
ぎるとメモリ領域の内容を参照することがないメモリ領
域の最大生存時間を管理し、メモリ管理プロセスは、最
大生存時間を過ぎても開放されていないメモリ領域が存
在すると、そのメモリ領域を開放する。これにより、プ
ロセスが獲得したメモリ領域の最大生存時間を過ぎても
開放されていないメモリ領域は、メモリ管理プロセスに
よって開放されるので、確実にメモリリークを防止する
ことが可能となる。
は、複数のプロセスと、メモリと、メモリ管理プロセス
と、を備え、情報処理装置上で起動・動作する複数のプ
ロセスは、処理内容を管理する第1の管理手段と、該処
理内容を記憶する第1の記憶手段と、メモリ及び他のプ
ロセスと情報のやり取りを行う第1の通信手段と、を備
え、メモリは、複数のプロセスが動的にメモリ領域を獲
得し、メモリ管理プロセスは、複数のプロセスが獲得し
たメモリ領域の情報を一元管理する第2の管理手段と、
一元管理するメモリ領域の情報を記憶する第2の記憶手
段と、メモリ及び他のプロセスと情報のやり取りを行う
第2の通信手段と、時刻を計時する計時手段と、を備
え、第2の管理手段は、複数のプロセスがその時間を過
ぎるとメモリ領域の内容を参照することがないメモリ領
域の最大生存時間を管理し、メモリ管理プロセスは、最
大生存時間を過ぎても開放されていないメモリ領域が存
在すると、そのメモリ領域を開放する。これにより、プ
ロセスが獲得したメモリ領域の最大生存時間を過ぎても
開放されていないメモリ領域は、メモリ管理プロセスに
よって開放されるので、確実にメモリリークを防止する
ことが可能となる。
【0018】また、この発明は、ユーザに報知を行う報
知手段を備え、前記メモリ領域管理手段は、メモリ領域
の消去をユーザに促す警告時間を管理し、前記メモリ管
理プロセスは、該警告時間を過ぎても開放されていない
メモリ領域が存在すると、前記報知手段はその旨を報知
することを特徴とする。
知手段を備え、前記メモリ領域管理手段は、メモリ領域
の消去をユーザに促す警告時間を管理し、前記メモリ管
理プロセスは、該警告時間を過ぎても開放されていない
メモリ領域が存在すると、前記報知手段はその旨を報知
することを特徴とする。
【0019】この構成においては、メモリ領域管理手段
は、メモリ領域の消去をユーザに促す警告時間を管理
し、メモリ管理プロセスは、警告時間を過ぎても開放さ
れていないメモリ領域が存在すると、報知手段はその旨
を報知する。これにより、ユーザに対してメモリ領域の
開放を促すことが可能となり、ユーザによってメモリ領
域が開放されると、メモリ管理プロセスの負荷を軽減す
ることが可能となる。
は、メモリ領域の消去をユーザに促す警告時間を管理
し、メモリ管理プロセスは、警告時間を過ぎても開放さ
れていないメモリ領域が存在すると、報知手段はその旨
を報知する。これにより、ユーザに対してメモリ領域の
開放を促すことが可能となり、ユーザによってメモリ領
域が開放されると、メモリ管理プロセスの負荷を軽減す
ることが可能となる。
【0020】さらに、この発明において、前記第2の管
理手段は、前記各プロセスがメモリ領域で実行する関数
名とその関数が使用する変数名、メモリ領域のサイズと
アドレス及びメモリ領域を獲得した時刻を管理すること
を特徴とする。
理手段は、前記各プロセスがメモリ領域で実行する関数
名とその関数が使用する変数名、メモリ領域のサイズと
アドレス及びメモリ領域を獲得した時刻を管理すること
を特徴とする。
【0021】この構成においては、各プロセスがメモリ
領域で実行する関数名とその関数が使用する変数名、メ
モリ領域のサイズとアドレス及びメモリ領域を獲得した
時刻を第2の管理手段は管理する。したがって、確実に
メモリ領域の状態を管理することが可能となる。
領域で実行する関数名とその関数が使用する変数名、メ
モリ領域のサイズとアドレス及びメモリ領域を獲得した
時刻を第2の管理手段は管理する。したがって、確実に
メモリ領域の状態を管理することが可能となる。
【0022】加えて、この発明において、前記各プロセ
スは、メモリ領域が開放されるまでの生存時間が前記警
告時間より長いと、該生存時間を前記警告時間とするこ
とを特徴とする。
スは、メモリ領域が開放されるまでの生存時間が前記警
告時間より長いと、該生存時間を前記警告時間とするこ
とを特徴とする。
【0023】この構成においては、メモリ領域が開放さ
れるまでの生存時間が警告時間より長いと、各プロセス
は生存時間を警告時間とする。これにより、警告時間を
適正な値にすることが可能となる。
れるまでの生存時間が警告時間より長いと、各プロセス
は生存時間を警告時間とする。これにより、警告時間を
適正な値にすることが可能となる。
【0024】また、この発明は、複数のプロセスが獲得
・開放するメモリ領域のメモリ管理方法であって、プロ
セスが獲得したメモリ領域の内容を参照しなくなる時間
であるメモリ領域の最大生存時間を管理し、該最大生存
時間を過ぎても開放されていないメモリ領域が存在する
と、そのメモリ領域を開放することを特徴とする。
・開放するメモリ領域のメモリ管理方法であって、プロ
セスが獲得したメモリ領域の内容を参照しなくなる時間
であるメモリ領域の最大生存時間を管理し、該最大生存
時間を過ぎても開放されていないメモリ領域が存在する
と、そのメモリ領域を開放することを特徴とする。
【0025】この構成においては、プロセスが獲得した
メモリ領域の内容を参照しなくなる時間であるメモリ領
域の最大生存時間を過ぎても開放されていないメモリ領
域が存在すると、そのメモリ領域を開放してメモリを管
理する。したがって、プロセスが獲得したメモリ領域の
最大生存時間を過ぎても開放されていないメモリ領域は
開放され、確実にメモリリークを防止することが可能と
なる。
メモリ領域の内容を参照しなくなる時間であるメモリ領
域の最大生存時間を過ぎても開放されていないメモリ領
域が存在すると、そのメモリ領域を開放してメモリを管
理する。したがって、プロセスが獲得したメモリ領域の
最大生存時間を過ぎても開放されていないメモリ領域は
開放され、確実にメモリリークを防止することが可能と
なる。
【0026】さらに、この発明は、プロセスが獲得した
メモリ領域の消去をユーザに促す警告時間を管理し、該
警告時間を過ぎても開放されていないメモリ領域が存在
すると、警告を発することを特徴とする。
メモリ領域の消去をユーザに促す警告時間を管理し、該
警告時間を過ぎても開放されていないメモリ領域が存在
すると、警告を発することを特徴とする。
【0027】この構成においては、プロセスが獲得した
メモリ領域の消去をユーザに促す警告時間を過ぎても開
放されていないメモリ領域が存在すると、警告を発して
メモリを管理する。したがって、警告を確認したユーザ
によってメモリが確実に消去され、メモリリークの発生
を抑えることが可能となる。
メモリ領域の消去をユーザに促す警告時間を過ぎても開
放されていないメモリ領域が存在すると、警告を発して
メモリを管理する。したがって、警告を確認したユーザ
によってメモリが確実に消去され、メモリリークの発生
を抑えることが可能となる。
【0028】
【発明の実施の形態】本発明の実施形態に係るメモリ管
理システムの詳細について説明する。図1は、本発明の
実施形態に係るメモリ管理システムの概略の構成図であ
る。本発明のメモリ管理システム1は、メモリ11、プ
ロセスA12a、プロセスB12b、プロセスC12
c、メモリ管理プロセス13及び報知手段14によって
構成される。なお、図示していないが、さらに複数のプ
ロセスを備えた構成であってもよい。
理システムの詳細について説明する。図1は、本発明の
実施形態に係るメモリ管理システムの概略の構成図であ
る。本発明のメモリ管理システム1は、メモリ11、プ
ロセスA12a、プロセスB12b、プロセスC12
c、メモリ管理プロセス13及び報知手段14によって
構成される。なお、図示していないが、さらに複数のプ
ロセスを備えた構成であってもよい。
【0029】プロセスA12a、プロセスB12b、プ
ロセスC12cは、それぞれ情報処理装置上でアプリケ
ーションなどを実行するためのプロセスである。メモリ
11は、各プロセスが動的にメモリ領域を獲得して、関
数などを実行するためのものである。メモリ管理プロセ
ス13は、各プロセスにアロケートされたメモリ領域を
管理するためのものである。報知手段14は、アプリケ
ーションの実行結果や警告などをユーザに報知するため
のものである。
ロセスC12cは、それぞれ情報処理装置上でアプリケ
ーションなどを実行するためのプロセスである。メモリ
11は、各プロセスが動的にメモリ領域を獲得して、関
数などを実行するためのものである。メモリ管理プロセ
ス13は、各プロセスにアロケートされたメモリ領域を
管理するためのものである。報知手段14は、アプリケ
ーションの実行結果や警告などをユーザに報知するため
のものである。
【0030】プロセスA12aは、第1の管理手段21
a、第1の通信手段22a、第1の記憶手段23aを備
えている。また、図示していないが、プロセスB12b
及びプロセスC12cはプロセスA12aと同様の構成
である。
a、第1の通信手段22a、第1の記憶手段23aを備
えている。また、図示していないが、プロセスB12b
及びプロセスC12cはプロセスA12aと同様の構成
である。
【0031】第1の管理手段21aは、プロセスA12
aがメモリ領域を獲得した際に、メモリ領域で実行する
関数名、その関数が使用する変数名、獲得するメモリ領
域のメモリサイズ、複数のプロセスがその時間を過ぎて
メモリ領域の内容を参照することがないメモリ領域の最
大生存時間、メモリ領域の消去をユーザに促す警告時間
を管理する。第1の通信手段22aは、メモリ11のメ
モリ領域獲得・開放を行ったり、その際に第1の管理手
段21aで管理している情報をメモリ管理プロセス13
に送信したりするためのものである。第1の記憶手段2
3aは、第1の管理手段21aが管理している情報を記
憶するためのものである。
aがメモリ領域を獲得した際に、メモリ領域で実行する
関数名、その関数が使用する変数名、獲得するメモリ領
域のメモリサイズ、複数のプロセスがその時間を過ぎて
メモリ領域の内容を参照することがないメモリ領域の最
大生存時間、メモリ領域の消去をユーザに促す警告時間
を管理する。第1の通信手段22aは、メモリ11のメ
モリ領域獲得・開放を行ったり、その際に第1の管理手
段21aで管理している情報をメモリ管理プロセス13
に送信したりするためのものである。第1の記憶手段2
3aは、第1の管理手段21aが管理している情報を記
憶するためのものである。
【0032】メモリ管理プロセス13は、第2の管理手
段31、第2の通信手段32、第2の記憶手段33及び
計時手段34を備えている。第2の管理手段31は、各
プロセスが獲得したメモリ11のメモリ領域を一元管理
するためのものである。第2の通信手段32は、各プロ
セスがメモリ11に獲得したメモリ領域を開放したり、
各プロセスから送信されたメモリ領域の管理情報を受信
したり、報知手段14に警告の情報を送信したりするた
めのものである。第2の記憶手段33は、第2の管理手
段31が管理するメモリ領域の情報を記憶するためのも
のである。計時手段34は、時刻を計時するためのもの
である。
段31、第2の通信手段32、第2の記憶手段33及び
計時手段34を備えている。第2の管理手段31は、各
プロセスが獲得したメモリ11のメモリ領域を一元管理
するためのものである。第2の通信手段32は、各プロ
セスがメモリ11に獲得したメモリ領域を開放したり、
各プロセスから送信されたメモリ領域の管理情報を受信
したり、報知手段14に警告の情報を送信したりするた
めのものである。第2の記憶手段33は、第2の管理手
段31が管理するメモリ領域の情報を記憶するためのも
のである。計時手段34は、時刻を計時するためのもの
である。
【0033】本発明では、各プロセス12a〜12cが
メモリ11のメモリ領域を獲得した際に、従来のメモリ
管理システムで各プロセスがメモリ管理プロセスに伝達
していた情報に加えて、メモリ領域の最大生存可能時間
及び警告時間を伝達する。メモリ管理プロセス13は、
これらの情報と、プロセス名及びメモリ獲得時刻と、を
管理するようにする。なお、メモリ管理プロセス13
は、計時手段34で計時した情報を受信した際の現在時
刻を、メモリ獲得時刻として管理する。また、メモリ領
域の各管理情報は、例えば、表1に示したような管理テ
ーブルによって、プロセスが獲得したメモリ領域の各情
報を管理する。
メモリ11のメモリ領域を獲得した際に、従来のメモリ
管理システムで各プロセスがメモリ管理プロセスに伝達
していた情報に加えて、メモリ領域の最大生存可能時間
及び警告時間を伝達する。メモリ管理プロセス13は、
これらの情報と、プロセス名及びメモリ獲得時刻と、を
管理するようにする。なお、メモリ管理プロセス13
は、計時手段34で計時した情報を受信した際の現在時
刻を、メモリ獲得時刻として管理する。また、メモリ領
域の各管理情報は、例えば、表1に示したような管理テ
ーブルによって、プロセスが獲得したメモリ領域の各情
報を管理する。
【0034】
【表1】
【0035】表1に示したように、メモリ管理プロセス
13は、プロセス名、関数名、その関数で使用する変数
名、プロセスが確保したメモリ領域の物理アドレス、メ
モリ領域のサイズ、警告時間、最大生存可能時間及びメ
モリ獲得時刻を管理する。
13は、プロセス名、関数名、その関数で使用する変数
名、プロセスが確保したメモリ領域の物理アドレス、メ
モリ領域のサイズ、警告時間、最大生存可能時間及びメ
モリ獲得時刻を管理する。
【0036】また、通常は、各プロセス12a〜12c
がメモリ領域の獲得・開放を行うようにする。しかし、
最大生存可能時間を過ぎてもメモリ領域が存在する場合
は、メモリ管理プロセス13が、メモリ領域の開放を行
うように設定する。これにより、メモリリークを防止す
る。
がメモリ領域の獲得・開放を行うようにする。しかし、
最大生存可能時間を過ぎてもメモリ領域が存在する場合
は、メモリ管理プロセス13が、メモリ領域の開放を行
うように設定する。これにより、メモリリークを防止す
る。
【0037】さらに、メモリ領域を獲得してから警告時
間を過ぎた場合には、ユーザまたはシステム管理者に対
して報知手段で、その旨を報知する。例えば、報知手段
が表示装置を具備している場合は、警告ログを表示する
ようにする。これにより、メモリリークを防止するため
に、ユーザに対してメモリ領域の開放を促す。
間を過ぎた場合には、ユーザまたはシステム管理者に対
して報知手段で、その旨を報知する。例えば、報知手段
が表示装置を具備している場合は、警告ログを表示する
ようにする。これにより、メモリリークを防止するため
に、ユーザに対してメモリ領域の開放を促す。
【0038】次に、メモリ管理システム1のメモリ管理
の手順を、タイムチャートを用いて具体的に説明する。
図2は、メモリ管理システム1のメモリ管理状態を示し
たタイムチャートである。例えば、プロセスA12aが
メモリ領域の獲得・開放を行い、このメモリ領域の最大
生存時間を8分、警告時間を5分とする。プロセスA1
2aがメモリ領域の獲得を行い(1回目)、3分後にプ
ロセスA12aがメモリ領域の開放を行う。この場合
は、警告時間に達していないので、報知手段14に警告
ログは表示されない。
の手順を、タイムチャートを用いて具体的に説明する。
図2は、メモリ管理システム1のメモリ管理状態を示し
たタイムチャートである。例えば、プロセスA12aが
メモリ領域の獲得・開放を行い、このメモリ領域の最大
生存時間を8分、警告時間を5分とする。プロセスA1
2aがメモリ領域の獲得を行い(1回目)、3分後にプ
ロセスA12aがメモリ領域の開放を行う。この場合
は、警告時間に達していないので、報知手段14に警告
ログは表示されない。
【0039】そして、その2分後にプロセスA12aが
メモリ領域の獲得を行う(2回目)。この場合、警告時
間の5分を経過してもメモリ領域が開放されないため、
管理手段21は、警告ログを出力し、通信手段22を介
して報知手段14に警告ログを表示させる。プロセスA
12aは、ユーザに指示により、その1分後であるメモ
リ獲得から6分後にメモリ領域の開放を行う。
メモリ領域の獲得を行う(2回目)。この場合、警告時
間の5分を経過してもメモリ領域が開放されないため、
管理手段21は、警告ログを出力し、通信手段22を介
して報知手段14に警告ログを表示させる。プロセスA
12aは、ユーザに指示により、その1分後であるメモ
リ獲得から6分後にメモリ領域の開放を行う。
【0040】さらに、その3分後にプロセスA12aが
メモリ領域の獲得を行う(3回目)。この場合、警告時
間の5分を経過してもメモリ領域が開放されないため、
管理手段21は、警告ログを出力し、通信手段22を介
して報知手段14に警告ログを表示させる。プロセスA
12aは、メモリ獲得から8分経過してもメモリ領域の
開放を行わないので、メモリ管理プロセス13が、管理
テーブルの情報に基づいてメモリ11のメモリ領域を開
放する。
メモリ領域の獲得を行う(3回目)。この場合、警告時
間の5分を経過してもメモリ領域が開放されないため、
管理手段21は、警告ログを出力し、通信手段22を介
して報知手段14に警告ログを表示させる。プロセスA
12aは、メモリ獲得から8分経過してもメモリ領域の
開放を行わないので、メモリ管理プロセス13が、管理
テーブルの情報に基づいてメモリ11のメモリ領域を開
放する。
【0041】次に、メモリ管理システム1のメモリ管理
の手順を、フローチャートを用いて説明する。図3は、
プロセスAがメモリの獲得を行う場合のメモリ管理シス
テムの処理を説明するためのフローチャートである。
の手順を、フローチャートを用いて説明する。図3は、
プロセスAがメモリの獲得を行う場合のメモリ管理シス
テムの処理を説明するためのフローチャートである。
【0042】情報処理システム1上では、プロセスA1
2a,プロセスB12b,プロセスC12cが動作して
いるが、プロセスA12aを一例として説明する。ま
ず、プロセス自身がメモリ獲得を行う場合の処理を説明
する。プロセスA12aの第1の管理手段21aは、メ
モリ領域を獲得するために、第1の通信手段22aを介
してメモリ11にアクセスする(ステップ101)。そ
して、メモリ領域の獲得が可能か否かを判断する(ステ
ップ102)。メモリ領域の獲得が可能な場合は、メモ
リ領域の獲得を実行する(ステップ103)。そして、
メモリ領域で使用する関数名・その関数で使用する変数
名、獲得したメモリ領域のサイズ・アドレス、警告時間
・メモリ領域の最大生存時間を、第1の通信手段22a
を介してメモリ管理プロセス13に通知して(ステップ
104)、処理を終了する。一方、ステップ102にお
いて、メモリ獲得が不可能な場合は、エラーをメモリ管
理プロセス13に返信して処理を終了する(ステップ1
05)。
2a,プロセスB12b,プロセスC12cが動作して
いるが、プロセスA12aを一例として説明する。ま
ず、プロセス自身がメモリ獲得を行う場合の処理を説明
する。プロセスA12aの第1の管理手段21aは、メ
モリ領域を獲得するために、第1の通信手段22aを介
してメモリ11にアクセスする(ステップ101)。そ
して、メモリ領域の獲得が可能か否かを判断する(ステ
ップ102)。メモリ領域の獲得が可能な場合は、メモ
リ領域の獲得を実行する(ステップ103)。そして、
メモリ領域で使用する関数名・その関数で使用する変数
名、獲得したメモリ領域のサイズ・アドレス、警告時間
・メモリ領域の最大生存時間を、第1の通信手段22a
を介してメモリ管理プロセス13に通知して(ステップ
104)、処理を終了する。一方、ステップ102にお
いて、メモリ獲得が不可能な場合は、エラーをメモリ管
理プロセス13に返信して処理を終了する(ステップ1
05)。
【0043】メモリ管理プロセス13の第2の管理手段
31は、第2の通信手段32を介してプロセスA12a
からメモリ領域獲得の通知を受けると、通知とともに送
られてきた情報と、さらにプロセス名及び現在時刻と、
を管理テーブルに追加する(ステップ111)。なお、
メモリ管理プロセス13は、現在時刻をメモリ獲得時刻
として管理を行う。
31は、第2の通信手段32を介してプロセスA12a
からメモリ領域獲得の通知を受けると、通知とともに送
られてきた情報と、さらにプロセス名及び現在時刻と、
を管理テーブルに追加する(ステップ111)。なお、
メモリ管理プロセス13は、現在時刻をメモリ獲得時刻
として管理を行う。
【0044】次に、プロセス自身がメモリ開放を行う場
合の処理を説明する。図4は、プロセスAがメモリ開放
を行う場合の処理を説明するためのフローチャートであ
る。プロセスA12aの第1の管理手段21aは、所定
の処理を完了して不要になったメモリ領域の開放を実施
する(ステップ121)。そして、開放するメモリ領域
を使用していた関数名、変数名をメモリ管理プロセスに
通知する(ステップ122)。
合の処理を説明する。図4は、プロセスAがメモリ開放
を行う場合の処理を説明するためのフローチャートであ
る。プロセスA12aの第1の管理手段21aは、所定
の処理を完了して不要になったメモリ領域の開放を実施
する(ステップ121)。そして、開放するメモリ領域
を使用していた関数名、変数名をメモリ管理プロセスに
通知する(ステップ122)。
【0045】プロセスA12aから通知を受けたメモリ
管理プロセス13の第2の管理手段31は、第2の通信
手段32を介して通知されてきた情報に基づいて、開放
したメモリ領域に関する情報を管理テーブルから削除す
る(ステップ131)。そして、メモリ領域の生存時間
(メモリ領域を獲得してから開放されるまでの経過時
間)を、通知を送ってきたプロセスA12aに返信する
(ステップ132)。
管理プロセス13の第2の管理手段31は、第2の通信
手段32を介して通知されてきた情報に基づいて、開放
したメモリ領域に関する情報を管理テーブルから削除す
る(ステップ131)。そして、メモリ領域の生存時間
(メモリ領域を獲得してから開放されるまでの経過時
間)を、通知を送ってきたプロセスA12aに返信する
(ステップ132)。
【0046】メモリ領域の生存時間の通知を受けたプロ
セスA12aの第1の管理手段21aは、生存時間と警
告時間とを比較し、生存時間の方が警告時間よりも長い
か否かを判定する(ステップ123)。生存時間が警告
時間より短いか等しい場合は、処理を終了する。一方、
生存時間の方が警告時間よりも長い場合は、警告時間の
設定時間が短かったとして、生存時間の長さを次回の警
告時間の長さに設定して、処理を終了する。
セスA12aの第1の管理手段21aは、生存時間と警
告時間とを比較し、生存時間の方が警告時間よりも長い
か否かを判定する(ステップ123)。生存時間が警告
時間より短いか等しい場合は、処理を終了する。一方、
生存時間の方が警告時間よりも長い場合は、警告時間の
設定時間が短かったとして、生存時間の長さを次回の警
告時間の長さに設定して、処理を終了する。
【0047】次に、メモリ管理プロセス13がメモリ領
域の開放を行う場合の処理を説明する。図5は、メモリ
管理プロセスがメモリ開放を行う場合の処理を説明する
ためのフローチャートである。メモリ管理プロセス13
は、管理テーブルを検索し、メモリ獲得してから警告時
間を経過したか否かを判定する(ステップ141)。警
告時間を経過していない場合は、プロセス自身がメモリ
領域の開放を行っているか否かを判定する(ステップ1
46)。プロセス自身がメモリ領域の開放を行った場合
は、処理を終了する。一方、プロセス自身がメモリ領域
の開放を行っていない場合は、ステップ141の処理を
行う。
域の開放を行う場合の処理を説明する。図5は、メモリ
管理プロセスがメモリ開放を行う場合の処理を説明する
ためのフローチャートである。メモリ管理プロセス13
は、管理テーブルを検索し、メモリ獲得してから警告時
間を経過したか否かを判定する(ステップ141)。警
告時間を経過していない場合は、プロセス自身がメモリ
領域の開放を行っているか否かを判定する(ステップ1
46)。プロセス自身がメモリ領域の開放を行った場合
は、処理を終了する。一方、プロセス自身がメモリ領域
の開放を行っていない場合は、ステップ141の処理を
行う。
【0048】ステップ141において警告時間を経過し
た場合、第2の管理手段31は警告ログを出力し、第2
の通信手段32を介して報知手段14にその警告ログを
表示させる(ステップ142)。
た場合、第2の管理手段31は警告ログを出力し、第2
の通信手段32を介して報知手段14にその警告ログを
表示させる(ステップ142)。
【0049】次に、メモリ管理プロセス13の第2の管
理手段31は、第2の記憶手段33に記憶させた管理テ
ーブルを検索し、メモリ領域を獲得してから最大生存時
間を経過したか否かを判定する(ステップ143)。最
大経過時間を経過していない場合は、プロセス自身がメ
モリ領域の開放を行っているか否かを判定する(ステッ
プ147)。プロセス自身がメモリ領域の開放を行った
場合は、処理を終了する。一方、プロセス自身がメモリ
領域の開放を行っていない場合は、ステップ143の処
理を行う。
理手段31は、第2の記憶手段33に記憶させた管理テ
ーブルを検索し、メモリ領域を獲得してから最大生存時
間を経過したか否かを判定する(ステップ143)。最
大経過時間を経過していない場合は、プロセス自身がメ
モリ領域の開放を行っているか否かを判定する(ステッ
プ147)。プロセス自身がメモリ領域の開放を行った
場合は、処理を終了する。一方、プロセス自身がメモリ
領域の開放を行っていない場合は、ステップ143の処
理を行う。
【0050】ステップ143において、メモリ領域の最
大生存時間を経過した場合は、第2の管理手段31は、
メモリ領域の開放を行う(ステップ144)。また、第
2の管理手段31は、管理テーブルから開放したメモリ
領域の情報を削除する(ステップ145)。そして、処
理を終了する。
大生存時間を経過した場合は、第2の管理手段31は、
メモリ領域の開放を行う(ステップ144)。また、第
2の管理手段31は、管理テーブルから開放したメモリ
領域の情報を削除する(ステップ145)。そして、処
理を終了する。
【0051】上記のように、プロセスが獲得したメモリ
領域の最大生存時間を管理し、この時間を過ぎても開放
されていないメモリ領域をメモリ管理プロセスが開放す
ることで、確実にメモリリークを防止することができ
る。また、警告時間を管理することで、ユーザに対して
メモリ領域の開放を促すことができる。
領域の最大生存時間を管理し、この時間を過ぎても開放
されていないメモリ領域をメモリ管理プロセスが開放す
ることで、確実にメモリリークを防止することができ
る。また、警告時間を管理することで、ユーザに対して
メモリ領域の開放を促すことができる。
【0052】なお、警告時間経過後の警告ログを報知手
段14に表示する構成としたが、音声によって、ユーザ
に警告するように音声警告手段を備えた構成であっても
よい。また、警告時間は、最大生存可能時間の1/3〜
1/2程度に設定するのが、望ましい。
段14に表示する構成としたが、音声によって、ユーザ
に警告するように音声警告手段を備えた構成であっても
よい。また、警告時間は、最大生存可能時間の1/3〜
1/2程度に設定するのが、望ましい。
【0053】
【発明の効果】本発明によれば、以下の効果が得られ
る。
る。
【0054】メモリ管理システムは、複数のプロセス
と、メモリと、メモリ管理プロセスと、を備え、情報処
理装置上で起動・動作する複数のプロセスは、処理内容
を管理する第1の管理手段と、該処理内容を記憶する第
1の記憶手段と、メモリ及び他のプロセスと情報のやり
取りを行う第1の通信手段と、を備え、メモリは、複数
のプロセスが動的にメモリ領域を獲得し、メモリ管理プ
ロセスは、複数のプロセスが獲得したメモリ領域の情報
を一元管理する第2の管理手段と、一元管理するメモリ
領域の情報を記憶する第2の記憶手段と、メモリ及び他
のプロセスと情報のやり取りを行う第2の通信手段と、
時刻を計時する計時手段と、備え、第2の管理手段は、
複数のプロセスがその時間を過ぎるとメモリ領域の内容
を参照することがないメモリ領域の最大生存時間を管理
し、メモリ管理プロセスは、最大生存時間を過ぎても開
放されていないメモリ領域が存在すると、そのメモリ領
域を開放するため、プロセスが獲得したメモリ領域の最
大生存時間を過ぎても開放されていないメモリ領域はメ
モリ管理プロセスによって開放されるので、確実にメモ
リリークを防止することができる。
と、メモリと、メモリ管理プロセスと、を備え、情報処
理装置上で起動・動作する複数のプロセスは、処理内容
を管理する第1の管理手段と、該処理内容を記憶する第
1の記憶手段と、メモリ及び他のプロセスと情報のやり
取りを行う第1の通信手段と、を備え、メモリは、複数
のプロセスが動的にメモリ領域を獲得し、メモリ管理プ
ロセスは、複数のプロセスが獲得したメモリ領域の情報
を一元管理する第2の管理手段と、一元管理するメモリ
領域の情報を記憶する第2の記憶手段と、メモリ及び他
のプロセスと情報のやり取りを行う第2の通信手段と、
時刻を計時する計時手段と、備え、第2の管理手段は、
複数のプロセスがその時間を過ぎるとメモリ領域の内容
を参照することがないメモリ領域の最大生存時間を管理
し、メモリ管理プロセスは、最大生存時間を過ぎても開
放されていないメモリ領域が存在すると、そのメモリ領
域を開放するため、プロセスが獲得したメモリ領域の最
大生存時間を過ぎても開放されていないメモリ領域はメ
モリ管理プロセスによって開放されるので、確実にメモ
リリークを防止することができる。
【0055】また、メモリ領域管理手段は、メモリ領域
の消去をユーザに促す警告時間を管理し、メモリ管理プ
ロセスは、警告時間を過ぎても開放されていないメモリ
領域が存在すると、報知手段はその旨を報知するので、
ユーザに対してメモリ領域の開放を促すことが可能とな
り、ユーザによってメモリ領域が開放されると、メモリ
管理プロセスの負荷を軽減することができる。
の消去をユーザに促す警告時間を管理し、メモリ管理プ
ロセスは、警告時間を過ぎても開放されていないメモリ
領域が存在すると、報知手段はその旨を報知するので、
ユーザに対してメモリ領域の開放を促すことが可能とな
り、ユーザによってメモリ領域が開放されると、メモリ
管理プロセスの負荷を軽減することができる。
【0056】さらに、各プロセスがメモリ領域で実行す
る関数名とその関数が使用する変数名、メモリ領域のサ
イズとアドレス及びメモリ領域を獲得した時刻を第2の
管理手段は管理するため、確実にメモリ領域の状態を管
理することができる。
る関数名とその関数が使用する変数名、メモリ領域のサ
イズとアドレス及びメモリ領域を獲得した時刻を第2の
管理手段は管理するため、確実にメモリ領域の状態を管
理することができる。
【0057】加えて、メモリ領域が開放されるまでの生
存時間が警告時間より長いと、各プロセスは生存時間を
警告時間とするので、警告時間を適正な値にすることが
できる。
存時間が警告時間より長いと、各プロセスは生存時間を
警告時間とするので、警告時間を適正な値にすることが
できる。
【0058】また、プロセスが獲得したメモリ領域の内
容を参照しなくなる時間であるメモリ領域の最大生存時
間を過ぎても開放されていないメモリ領域が存在する
と、そのメモリ領域を開放してメモリを管理するので、
プロセスが獲得したメモリ領域の最大生存時間を過ぎて
も開放されていないメモリ領域は開放され、確実にメモ
リリークを防止することができる。
容を参照しなくなる時間であるメモリ領域の最大生存時
間を過ぎても開放されていないメモリ領域が存在する
と、そのメモリ領域を開放してメモリを管理するので、
プロセスが獲得したメモリ領域の最大生存時間を過ぎて
も開放されていないメモリ領域は開放され、確実にメモ
リリークを防止することができる。
【0059】さらに、プロセスが獲得したメモリ領域の
消去をユーザに促す警告時間を過ぎても開放されていな
いメモリ領域が存在すると、警告を発してメモリを管理
するため、警告を確認したユーザによってメモリが確実
に消去され、メモリリークの発生を抑えることができ
る。
消去をユーザに促す警告時間を過ぎても開放されていな
いメモリ領域が存在すると、警告を発してメモリを管理
するため、警告を確認したユーザによってメモリが確実
に消去され、メモリリークの発生を抑えることができ
る。
【図1】本発明の実施形態に係るメモリ管理システムの
概略の構成図である。
概略の構成図である。
【図2】メモリ管理システム1のメモリ管理状態を示し
たタイムチャートである。
たタイムチャートである。
【図3】プロセスAがメモリの獲得を行う場合のメモリ
管理システムの処理を説明するためのフローチャートで
ある。
管理システムの処理を説明するためのフローチャートで
ある。
【図4】プロセスAがメモリ開放を行う場合の処理を説
明するためのフローチャートである。
明するためのフローチャートである。
【図5】メモリ管理プロセスがメモリ開放を行う場合の
処理を説明するためのフローチャートである。
処理を説明するためのフローチャートである。
【図6】従来のメモリ管理システムの概略の構成図であ
る。
る。
【図7】プロセスAがメモリの獲得を行う場合の従来の
メモリ管理システムの処理を説明するためのフローチャ
ートである。
メモリ管理システムの処理を説明するためのフローチャ
ートである。
【図8】プロセスAがメモリ開放を行う場合の処理を説
明するためのフローチャートである。
明するためのフローチャートである。
【図9】メモリ管理プロセスがメモリ開放を行う場合の
処理を説明するためのフローチャートである。
処理を説明するためのフローチャートである。
1,51−メモリ管理システム 11.61−メモリ 12a,62a−プロセスA 13,63−メモリ管理プロセス 14−報知手段 21a,71a−第1の管理手段 31,81−第2の管理手段 34,84−計時手段
Claims (6)
- 【請求項1】 処理内容を管理する第1の管理手段と、
該処理内容を記憶する第1の記憶手段と、メモリ及び他
のプロセスと情報のやり取りを行う第1の通信手段と、
を備え、情報処理装置上で起動・動作する複数のプロセ
スと、 該複数のプロセスが動的にメモリ領域を獲得するメモリ
と、 該複数のプロセスが獲得したメモリ領域の情報を一元管
理する第2の管理手段と、該一元管理するメモリ領域の
情報を記憶する第2の記憶手段と、メモリ及び他のプロ
セスと情報のやり取りを行う第2の通信手段と、時刻を
計時する計時手段と、を備えたメモリ管理プロセスと、
を有するメモリ管理システムにおいて、 該第2の管理手段は、該複数のプロセスがその時間を過
ぎるとメモリ領域の内容を参照することがないメモリ領
域の最大生存時間を管理し、該メモリ管理プロセスは、
最大生存時間を過ぎても開放されていないメモリ領域が
存在すると、そのメモリ領域を開放することを特徴とす
るメモリ管理システム。 - 【請求項2】 ユーザに報知を行う報知手段を備え、前
記メモリ領域管理手段は、メモリ領域の消去をユーザに
促す警告時間を管理し、前記メモリ管理プロセスは、該
警告時間を過ぎても開放されていないメモリ領域が存在
すると、前記報知手段はその旨を報知することを特徴と
する請求項1に記載のメモリ管理システム。 - 【請求項3】 前記第2の管理手段は、前記各プロセス
がメモリ領域で実行する関数名とその関数が使用する変
数名、メモリ領域のサイズとアドレス及びメモリ領域を
獲得した時刻を管理することを特徴とする請求項1また
は2に記載のメモリ管理システム。 - 【請求項4】 前記各プロセスは、メモリ領域が開放さ
れるまでの生存時間が前記警告時間より長いと、該生存
時間を前記警告時間とすることを特徴とする請求項2に
記載のメモリ管理システム。 - 【請求項5】 複数のプロセスが獲得・開放するメモリ
領域のメモリ管理方法であって、プロセスが獲得したメ
モリ領域の内容を参照しなくなる時間であるメモリ領域
の最大生存時間を管理し、該最大生存時間を過ぎても開
放されていないメモリ領域が存在すると、そのメモリ領
域を開放することを特徴とするメモリ管理方法。 - 【請求項6】 プロセスが獲得したメモリ領域の消去を
ユーザに促す警告時間を管理し、該警告時間を過ぎても
開放されていないメモリ領域が存在すると、警告を発す
ることを特徴とする請求項5に記載のメモリ管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000304406A JP2002108698A (ja) | 2000-10-04 | 2000-10-04 | メモリ管理システム及びメモリ管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000304406A JP2002108698A (ja) | 2000-10-04 | 2000-10-04 | メモリ管理システム及びメモリ管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002108698A true JP2002108698A (ja) | 2002-04-12 |
Family
ID=18785457
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000304406A Pending JP2002108698A (ja) | 2000-10-04 | 2000-10-04 | メモリ管理システム及びメモリ管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002108698A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1327352C (zh) * | 2003-09-23 | 2007-07-18 | 中兴通讯股份有限公司 | 一种实现嵌入式实时系统内存泄漏检测和定位的方法 |
| JP2009098910A (ja) * | 2007-10-16 | 2009-05-07 | Kyocera Mita Corp | 電子機器およびメモリ管理プログラム |
| US7765375B2 (en) | 2007-07-19 | 2010-07-27 | Hitachi, Ltd. | Memory management method, information processing apparatus, and memory management program |
| WO2010113212A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | メモリリーク監視装置、及び方法 |
| JP2012503825A (ja) * | 2008-09-26 | 2012-02-09 | マイクロソフト コーポレーション | 選択的に軽減を使用してエラーを低減するメモリー管理技術 |
| JP2012181910A (ja) * | 2003-11-10 | 2012-09-20 | Panasonic Corp | 再生装置、プログラム、再生方法 |
| US8954970B2 (en) | 2008-07-31 | 2015-02-10 | Canon Kabushiki Kaisha | Determining executable processes based on a size of detected release-forgotten memory area and selecting a next process that achieves a highest production quantity |
| US11150968B2 (en) | 2017-03-02 | 2021-10-19 | Fujitsu Limited | Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program |
-
2000
- 2000-10-04 JP JP2000304406A patent/JP2002108698A/ja active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1327352C (zh) * | 2003-09-23 | 2007-07-18 | 中兴通讯股份有限公司 | 一种实现嵌入式实时系统内存泄漏检测和定位的方法 |
| JP2012181910A (ja) * | 2003-11-10 | 2012-09-20 | Panasonic Corp | 再生装置、プログラム、再生方法 |
| US7765375B2 (en) | 2007-07-19 | 2010-07-27 | Hitachi, Ltd. | Memory management method, information processing apparatus, and memory management program |
| JP2009098910A (ja) * | 2007-10-16 | 2009-05-07 | Kyocera Mita Corp | 電子機器およびメモリ管理プログラム |
| US8280927B2 (en) | 2007-10-16 | 2012-10-02 | Kyocera Document Solutions Inc. | Electronic equipment and memory managing program |
| US8954970B2 (en) | 2008-07-31 | 2015-02-10 | Canon Kabushiki Kaisha | Determining executable processes based on a size of detected release-forgotten memory area and selecting a next process that achieves a highest production quantity |
| JP2012503825A (ja) * | 2008-09-26 | 2012-02-09 | マイクロソフト コーポレーション | 選択的に軽減を使用してエラーを低減するメモリー管理技術 |
| WO2010113212A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | メモリリーク監視装置、及び方法 |
| JPWO2010113212A1 (ja) * | 2009-03-31 | 2012-10-04 | 富士通株式会社 | メモリリーク監視装置、及び方法 |
| US11150968B2 (en) | 2017-03-02 | 2021-10-19 | Fujitsu Limited | Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111506283B (zh) | 图像显示方法、装置及系统 | |
| CN103345411A (zh) | 卸载应用程序的方法及装置 | |
| CN114281431A (zh) | 函数调用方法、装置、介质及嵌入式设备和操作系统 | |
| JP2002108698A (ja) | メモリ管理システム及びメモリ管理方法 | |
| CN106656394A (zh) | 一种车载移动终端的时间补全方法、装置和车载移动终端 | |
| CN106406965A (zh) | 一种处理智能终端上的应用删除操作的方法和装置 | |
| CN108268360A (zh) | 一种bmc获取内存温度的方法、系统、装置及存储介质 | |
| JP2005301801A (ja) | 情報処理装置、メモリ管理装置、およびプログラム | |
| CN111261206B (zh) | 一种读写方法、装置和电子设备及可读存储介质 | |
| JPWO2016157704A1 (ja) | 電子機器及び遠隔制御システム | |
| JP2005222366A (ja) | 自動復帰方法/プログラム/プログラム記録媒体、処理装置 | |
| CN114020340B (zh) | 一种服务器系统及其数据处理方法 | |
| CN105005519B (zh) | 清除客户端缓存的方法和装置 | |
| JP2002222021A (ja) | ソフトウェアのライセンス管理方法および記憶媒体 | |
| CN119025231A (zh) | 一种延时任务执行方法及装置 | |
| CN116382949A (zh) | 一种信息获取方法、装置、设备及存储介质 | |
| JP2004015185A (ja) | 電子機器及びそのデータ書込み制御方法 | |
| CN103473081A (zh) | 终端进行系统升级后生效的方法及该终端 | |
| JP2000076085A (ja) | 情報処理装置とリソース不足通知方法および記録媒体 | |
| JP3859445B2 (ja) | ファイルバックアップシステム及び記録媒体 | |
| CN114356799A (zh) | 数据存储方法、装置、系统与计算机可读存储介质 | |
| CN111782126A (zh) | 阅读应用的屏保显示方法、计算设备及计算机存储介质 | |
| CN111352660A (zh) | 持有唤醒锁应用的识别方法与装置 | |
| KR20060067076A (ko) | 이중화 프로세서 시스템에서의 프로그램 로딩 방법 및 그장치 | |
| JP2002182805A (ja) | 情報端末装置及び電源管理処理プログラムを記憶した記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060417 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060822 |