JP4757237B2 - 時間監視装置、方法、およびプログラム - Google Patents

時間監視装置、方法、およびプログラム Download PDF

Info

Publication number
JP4757237B2
JP4757237B2 JP2007165022A JP2007165022A JP4757237B2 JP 4757237 B2 JP4757237 B2 JP 4757237B2 JP 2007165022 A JP2007165022 A JP 2007165022A JP 2007165022 A JP2007165022 A JP 2007165022A JP 4757237 B2 JP4757237 B2 JP 4757237B2
Authority
JP
Japan
Prior art keywords
time
cpu
timer
task
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007165022A
Other languages
English (en)
Other versions
JP2009003757A (ja
Inventor
隆 池邉
聡 日野村
昌彦 野口
哲弥 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007165022A priority Critical patent/JP4757237B2/ja
Publication of JP2009003757A publication Critical patent/JP2009003757A/ja
Application granted granted Critical
Publication of JP4757237B2 publication Critical patent/JP4757237B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、コンピュータシステムにおける暴走を監視する技術に関する。
コンピュータシステムにおいて、1つのタスクは1つ以上のプロセスから構成され、1つのプロセスは1つ以上のスレッドから構成されている。
一般に、プロセスは、そのプロセスに割り当てられたメモリ等のハードウェア資源内で独立して動作する。そのためプロセス毎に独立したメモリ空間ができる。しかし、処理内容によってはプロセス毎に独立したメモリ空間を必要としない場合がある。そのような場合にもプロセス毎のメモリ空間を存在させるのはメモリの利用効率が悪い。
プログラムによっては、独立したメモリではなく共有メモリを利用しながら複数の処理を実行することが効率的なものがある。そのような場合にはプロセスの機能の中で必要な部分だけを利用する複数のスレッドを用い、プロセス内で複数の処理を実行する手法が採られることがある。
オープンソースOS(オペレーションシステム)であるLinus Kernel(リナックスカーネル)には、プロセス等がCPUを使用している時間(CPU使用時間)を監視するメカニズムが組み込まれている(「Linux」「リナックス」は登録商標)。リナックスカーネルにおけるCPU使用時間の監視はタイマ割り込みを契機として実行される。このCPU使用時間を監視するメカニズムを利用することによりプロセスの暴走(メーズ)や無限ループを検出することが可能となる。
図4は、リナックスカーネルにおけるCPU使用時間の監視動作を示すタイムチャートである。
リナックスカーネルでは、タイマ割り込みを契機として、タイマの計測時間の更新、タイマが満了したか否かの判定、およびタイマが満了したときのシグナル送信処理が行われる。タイマの計測時間の更新やタイマが満了したか否かの判定はインターバルタイマによって行われる。
リナックスカーネルでは、RLIMIT_CPUによって、タイマの満了を判定するための閾値が与えられる。この閾値は、非特許文献1に示されているように、システムコールsetitimer()によって設定される。タイマで計測されているCPU使用時間が、RLIMIT_CPUに設定されている閾値を超えると、シグナルSIGXCPUがプロセスに対して送信される。これにより、例えば、あるタスクのCPU使用時間が閾値に達していないかどうかを監視することができる。
このルーチンを図4のタイムチャートを用いて説明する。図4には時間経過に伴ってCPUにより実行されるタスクが示されている。HZは、タイマ割り込みの頻度を示しており、HZ毎にタイマ割り込みが発生するものとする。
タイマ割り込み231が発生したときにはタスクA(taskA)が実行されている。そのため、インターバルタイマはタイマ割り込み231の発生を契機としてタスクAのCPU使用時間を計測する。続いて、インターバルタイマはタスクAのタイマ満了の判定を行う。しかし、この時点ではタスクAのタイマは満了していないものとする。そのため満了していない(未満了)と判定される。そして、その後にタスクAのタイマ満了時間となる。
次にタイマ割り込み232が発生する。このときにはタスクB(taskB)が実行されている。そこで、インターバルタイマはタイマ割り込み232の発生を契機としてタスクBのCPU使用時間を計測する。続いて、インターバルタイマはタスクBのタイマ満了の判定を行う。しかし、この時点ではタスクBのタイマは満了していないものとする。そのため満了していない(未満了)と判定される。そして、その後にタスクBのタイマ満了時間となる。
次にタイマ割り込み233が発生する。このときにはタスクAが実行されている。そこで、インターバルタイマはタイマ割り込み233の発生を契機としてタスクAのCPU使用時間を計測する。続いて、インターバルタイマはタスクAのタイマ満了の判定を行う。この時点では、CPU使用時間が閾値であるタイマ満了時間(RLIMIT_CPU)に達しているので、タスクAが満了していると判定される。
このようにして各タスクのCPU使用時間が所定時間に達しているかどうかを判定することができる。CPU使用時間が通常では達することの無い時間に達していれば、そのタスクが暴走していると判断することができる。
タスクが暴走していると判断された場合にはプロセスに対してシグナル(SIGXCPU)が送信される。その場合、タスクの実行を中止することにより暴走の停止を図ることができる。
図5は、リナックスカーネルにおいて、1つのプロセスを構成する複数のスレッドが動作している場合のCPU使用時間の監視について説明するための概念図である。ここではスレッドAとスレッドBが同時に動作するものとする。
インターバルタイマ501は各スレッドのCPU使用時間を監視する。スレッドA、Bのそれぞれにはタイマ満了を判断するための閾値(満了時間あるいは満了時間間隔)が設定されているものとする。インターバルタイマ501は、スレッドAあるいはスレッドBのCPU使用時間が閾値に達したことを検出すると、タイマ満了をシグナルハンドラ502に知らせる。
シグナルハンドラ502は、スレッドA、Bに共通であり、インターバルタイマ501による監視結果に基づいてシグナルを発生させる。スレッド共通のシグナルハンドラ502には、スレッドAまたはスレッドBのタイマ満了によりシグナルを発生するようにシグナルアクションが設定されているものとする。シグナルハンドラ502は、インターバルタイマ501からタイマ満了の通知を受けると、シグナルを発生させる。
日本のLinux情報"GETITIMER"など[online]、[平成19年3月20日]、インターネット<URL: http://www.linux.or.jp/ JM/html/LDP_man-pages/man2/setitimer.2.html>
上述したように、リナックスカーネルによるCPU使用時間の監視では、タイマ割り込みを契機として、そのときに実行されているタスクについてCPU使用時間の計測とタイマ満了の判定とが行われる。したがってタイマ割り込みが発生したときに実行されていないタスクについてはCPU使用時間が閾値に達していてもタイマ満了が検出されない。その結果として、タイマ満了時間に達してから実際にタイマ満了が検出されるまでの間に時間的に大きなずれが生じることがあった。
本発明の目的は、CPUによる処理の実行に関する時間のずれの少ない監視を可能にする時間監視装置を提供することである。
上記目的を達成するために、本発明の時間監視装置は、
CPUによる処理の実行に関する時間であるCPU時間を監視する時間監視装置であって、
前記CPUによるタスクの実行をスケジューリングするスケジューラと、
前記スケジューラのスケジューリングによって前記CPUの実行するタスクが切り替わるタイミングで最新の時間に更新するようにして前記CPU時間を計測するインターバルタイマと、
前記タスクが切り替わるタイミングで、前記インターバルタイマで計測されている前記CPU時間が更新されたときに、該CPU時間が所定の閾値に達しているか否か判定するインターバルタイマ判定部と、を有している。
本発明によれば、スケジューリングによるタスク切り替えのタイミングでCPU時間を計測するので、タイマ割り込みのタイミングで実行中のタスクについて時間を計測する場合と比べて、タイマ満了時間に達してから実際にタイマ満了が検出されるまでの間の時間的なずれが縮小される。
また、前記CPU時間が前記閾値に達したときに採るべきアクションが予め設定されており、前記インターバルタイマ判定部にて前記CPU時間が前記閾値に達したと判定されれば前記アクションを実行するアクション部を更に有するとしてもよい。
これによれば、タイマ満了の監視の時間的な精度が向上するので、タイマが満了したら早期に、それに対するアクションを実行できる。
また、前記アクション部は、前記インターバルタイマ判定部にて前記CPU時間が前記閾値に達したと判定されていれば、タイマ割り込みの発生したタイミングで前記アクションを実行するとしてもよい。
また、前記アクション部は、前記インターバルタイマ判定部にて前記CPU時間が前記閾値に達したと判定されたときに即座に前記アクションを実行するとしてもよい。
また、前記インターバルタイマは前記CPU時間をスレッド単位で計測し、
前記インターバルタイマ判定部は前記CPU時間が前記閾値に達しているか否かを前記スレッド単位で判定し、
前記アクション部は、前記CPU時間が前記閾値に達したときに採るべきアクションが前記スレッド単位に設定されており、前記インターバルタイマ判定部にて前記CPU時間が前記閾値に達したと判定されたスレッドについてのアクションを実行するとしてもよい。
これによれば、スレッド単位でCPU使用時間の監視およびアクションの実行ができるので処理をスレッド単位で制御することができる。
また、前記アクションはシグナルの送出であるとしてもよい。
また、前記インターバルタイマは、前記CPUに供給されるクロックを基にして前記CPU時間を計測するとしてもよい。
これによれば、CPUへ供給されるクロックを監視に用いることで監視の時間的な精度が向上する。
本発明によれば、スケジューリングによるタスク切り替えのタイミングでCPU時間を計測するので、タイマ割り込みのタイミングで実行中のタスクについて時間を計測する場合と比べて、タイマ満了時間に達してから実際にタイマ満了が検出されるまでの間の時間的なずれが縮小される。
本発明を実施するための形態について図面を参照して詳細に説明する。
図1は、本実施形態によるメーズ監視装置の構成を示すブロック図である。図1を参照すると、本実施形態のメーズ監視装置は、CPU100、スケジューラ101、CPUクロック発生部102、クロック計測部103、計測時間更新部104、インターバルタイマ105、インターバルタイマ設定部106、インターバルタイマ取得部107、インターバルタイマ判定部108、シグナルアクション設定部110、およびシグナル送信部109を有する。メーズ監視装置は更にリソース使用量取得部111を備えてもよい。
CPU100は、スケジューラ101によるスケジューリングに基づいてタスクの処理を実行する演算処理部である。
スケジューラ101は、スケジューリングを行ってCPU100の実行するタスクを制御する。
CPUクロック発生部102は基準となるクロックを生成してCPU100に提供する。例えばクロック周波数を3GHzとすれば、クロック周期は0.3nsとなる。
クロック計測部103はCPUクロック発生部102で発生したクロックをカウントする。CPU100へ供給されるクロックを監視に用いることで監視の時間的な精度が向上する。
計測時間更新部104は、クロック計測部103によるカウントに基づいて経過時間を計測し、インターバルタイマ105に提供する。経過時間は、計測時間更新部104がインターバルタイマ105に対して前回、経過時間を提供したときから経過した時間である。
インターバルタイマ105は、計測時間更新部104から提供された経過時間を順次累積することにより計測時間を算出し、その値を保持する。本実施形態における計測時間はCPU使用時間である。
インターバルタイマ設定部106は、タイマ満了の判定においてインターバルタイマ105による計測時間と比較するための閾値となる所定の満了時間または所定の時間間隔を設定する。この閾値はタスク単位に設定することができる。また複数のスレッドがある場合にはスレッド単位で設定することができてもよい。
インターバルタイマ取得部107は、インターバルタイマ105にて保持されている計測時間の値を取得し、インターバルタイマ判定部108に提供する。
インターバルタイマ判定部108は、インターバルタイマ取得部107から提供された計測時間の値と、インターバルタイマ設定部106によって設定された閾値とを、タスク単位で比較することによってタイマ満了の判定を行う。また複数のスレッドがある場合にはスレッド単位で比較することができてもよい。計測時間の値が閾値に達していればタイマが満了したと判定され、計測時間の値が閾値に達していなければタイマは満了していない判定される。
インターバルタイマ判定部108は、タイマが満了したタスクを登録しておくためのタイマ満了済リストを備えており、あるタスクのタイマが満了したと判定すると、そのタスクをタイマ満了済リストに登録する。また複数のスレッドがある場合には、インターバルタイマ判定部108は、タイマが満了したスレッドをタイマ満了済リストに登録することにしてもよい。このタイマ満了済リストはシグナル送信部109から参照することができる。
本実施形態では、計測時間更新部104による経過時間の計測、インターバルタイマ105による計測時間の算出、インターバルタイマ取得部107による計測時間の取得、およびインターバルタイマ判定部108によるタイマ満了の判定は、スケジューラ101によってCPU100の実行するタスクが切り替えられるタイミングで行われる。これにより、タスク切り替えのタイミングで、タイマが満了しているタスクがタイマ満了済リストに登録されることになる。
シグナルアクション設定部110は、タイマが満了したときに行うアクションを予め設定する。具体例としては、タイマが満了したときにシグナルを送出するというアクションを設定する。ここではシグナルアクションはタスク毎に設定される。また複数のスレッドがある場合にはスレッド毎にシグナルアクションが設定されることにしてもよい。
シグナル送信部109は、タスク切り替えのタイミングではなく、タイマ割り込みを契機として、タイマ満了済リストに登録されているタスクについて、シグナルアクション設定部110によって予め設定されているアクションを行う。具体的には、シグナル送信部109は、タイマ満了と判定された後にタイマ割り込みが発生するとシグナルを送出する。例えば、タイマ割り込みのHZが1000であれば、タイマ満了と判定された後、最大でも1msec以内にシグナルが送出される。
シグナル送信部109は、タイマ満了済リストに登録されていたタスクについてのシグナルを送出すると、そのタスクをタイマ満了済リストから削除する。
また複数のスレッドがある場合には、シグナル送信部109は、タイマ満了済リストに登録されているスレッドについてのシグナルを送出するとともに、そのスレッドをタイマ満了済リストから削除することにしてもよい。
リソース使用量取得部111は、CPU100の動作によって使用されているリソース量を取得する。
図2は、本実施形態によるメーズ監視装置の動作を説明するためのタイミングチャートである。図2には時間経過に伴ってCPU100により実行されるタスクが示されている。CPU100によって実行されるタスクはスケジューラ101によってスケジューリングされる。ここではタスクA(taskA)とタスクB(taskB)が交互に実行される例が示されている。HZは、タイマ割り込みの頻度を示しており、HZ毎にタイマ割り込みが発生するものとする。
図2を参照すると、スケジューラ101によってCPU100の実行するタスクが切り替えられたタイミングで、インターバルタイマ105が各タスクA、Bの最新のCPU使用時間を算出し、インターバルタイマ判定部108が各タスクA、Bについてタイマ満了の判定を行う。各タイミングは、クロック発生部102で生成されたCPU100のクロックのタイミングである。
ここではCPU100にてタスクAが実行され、それによってタスクAのCPU使用時間が閾値に達するのがタイマ満了時間221であるとする。タイマ満了時間221が経過した次のタスク切り替えのタイミングで、タスクAがタイマ満了済リストに登録される。タスクAのタイマ満了済リストへの登録は図2では、「taskA情報接続」として示されている。
タイマ割り込み232が発生すると、シグナル送信部109は、タイマ満了済リストに登録されているタスクAについてのシグナルを送出するとともに、タスクAをタイマ満了リストから削除する。
また、ここではCPU100にてタスクBが実行され、それによってタスクBのCPU使用時間が閾値に達するのがタイマ満了時間222であるとする。タイマ満了時間222が経過した次のタスク切り替えのタイミングで、タスクBがタイマ満了済リストに登録される。タスクBのタイマ満了済リストへの登録は図2では、「taskB情報接続」として示されている。
タイマ割り込み233が発生すると、シグナル送信部109は、タイマ満了済リストに登録されているタスクBについてのシグナルを送出するとともに、タスクBをタイマ満了リストから削除する。
以上説明したように、本実施形態によれば、スケジューリングによるタスク切り替えのタイミングで、各タスクあるいはそのスレッドについてCPUの使用に関する時間を計測するので、タイマ割り込みのタイミングで実行中のタスクについて時間を計測する場合と比べて、タイマ満了時間に達してから実際にタイマ満了が検出されるまでの間の時間的なずれが縮小される。
また、本実施形態によれば、タイマ満了の監視の時間的な精度が向上するので、タイマが満了したら、それを示すシグナルを早期に送出することができる。
なお、本実施形態では、一例として、タイマ割り込みのタイミングでシグナル送信部109がシグナルを送出することとした。しかし、他の例として、タスク切り替えのタイミングで、インターバルタイマ判定部108がタイマ満了の判定を行うのに引き続いて、即座に、シグナル送信部109がタイマの満了したスレッドのシグナルを送出することにしてもよい。その場合、タイマの満了したスレッドをタイマ割り込みの発生まで登録しておくためのタイマ満了済リストが不要となる。
また、本実施形態ではメーズ監視装置を例示しているので、タイマの満了したスレッドについてのシグナルが送出されたときには暴走と判断して、そのスレッドの処理を停止したり、そのスレッドに関する障害情報を発行したりすればよい。
また、本実施形態ではタスクを単位として動作する場合を例示したが、タスクあるいはプロセスが複数のスレッドで構成されている場合にはスレッド単位で動作し、スレッド単位でシグナルを送出することにしてもよい。
図3は、2つのスレッドが動作する場合のCPU使用時間の監視について説明するための概念図である。ここではスレッドAとスレッドBが同時に動作するものとする。
図3のインターバルタイマ105′は、図1に示したインターバルタイマ105、インターバルタイマ取得部107、およびインターバルタイマ判定部108を併合した機能を備えている。
インターバルタイマ105′は各スレッドA、BのCPU使用時間を監視する。スレッドA、Bのそれぞれにはタイマ満了を判断するための閾値(満了時間あるいは満了時間間隔)が設定されているものとする。
インターバルタイマ105′は、スレッドAのCPU使用時間が閾値に達したことを検出すると、スレッドAのシグナルハンドラ109Aにタイマ満了を知らせる。またインターバルタイマ105′は、スレッドBのCPU使用時間が閾値に達したことを検出すると、スレッドBのシグナルハンドラ109Bにタイマ満了を知らせる。
シグナルハンドラ109Aは、図1に示したシグナル送信部109のうち、スレッドAについてのシグナルの送出を担う機能である。シグナルハンドラ109Aは、インターバルタイマ105′による監視結果に基づいて、スレッドAについてのシグナルを発生させる。シグナルハンドラ109Aには、スレッドAのタイマ満了によりシグナルを発生するようにシグナルアクションが設定されているものとする。シグナルハンドラ109Aは、インターバルタイマ105′からタイマ満了の通知を受けると、シグナルを発生させる。
シグナルハンドラ109Bは、図1に示したシグナル送信部109のうち、スレッドBについてのシグナルの送出を担う機能である。シグナルハンドラ109Bは、インターバルタイマ105′による監視結果に基づいて、スレッドBについてのシグナルを発生させる。シグナルハンドラ109Bには、スレッドBのタイマ満了によりシグナルを発生するようにシグナルアクションが設定されているものとする。シグナルハンドラ109Bは、インターバルタイマ105′からタイマ満了の通知を受けると、シグナルを発生させる。
図5に示したリナックスカーネルでは、シグナルハンドラ502がスレッド共通なので複数のスレッドが存在する場合にスレッド毎のシグナルを送出することができず、処理をスレッド単位で制御することができなかった。それに対して、本実施形態の本例によれば、スレッド単位でCPU使用時間の監視およびシグナルの送出を行うことができるので処理をスレッド単位で制御することができる。
なお、図3の例のように、スレッド共通のシグナルの送出を担う図5のシグナルハンドラ502に相当するシグナルハンドラ109Cがスレッド毎のシグナルハンドラ109A、109Bと並存していてもよい。また、その場合、スレッド単位のシグナル送出のためにCPU使用時間を計測する機能とは別に、スレッド共通のシグナル送出のためにCPU使用時間を計測する機能が並存してもよい。
また、これまでに説明した本実施形態において、図1に示したメーズ監視装置の各部の機能はコンピュータがカーネルのようなソフトウェアプログラムを実行することにより実現することができる。
また、本実施形態では、タスク等がCPUを使用した使用時間を監視する例を示したが、同様にして、CPUによる処理の実行に関する各種のCPU時間を監視することができる。例えば、タスク等がCPUを使用していない待機時間を監視することもできる。また、タスク等によるCPUの使用時間と待機時間を合わせた、タスクの実行に要する実時間を監視することもできる。
本実施形態によるメーズ監視装置の構成を示すブロック図である。 本実施形態によるメーズ監視装置の動作を説明するためのタイミングチャートである。 2つのスレッドが動作する場合のCPU使用時間の監視について説明するための概念図である。 リナックスカーネルにおけるCPU使用時間の監視動作を示すタイムチャートである。 リナックスカーネルにおいて、1つのプロセスを構成する複数のスレッドが動作している場合のCPU使用時間の監視について説明するための概念図である。
符号の説明
100 CPU
101 スケジューラ
102 CPUクロック発生部
103 クロック計測部
104 計測時間更新部
105、105′ インターバルタイマ
106 インターバルタイマ設定部
107 インターバルタイマ取得部
108 インターバルタイマ判定部
109 シグナル送信部
109A、109B、109C シグナルハンドラ
110 シグナルアクション設定部

Claims (6)

  1. CPUによるタスク処理の実行時間であるCPU時間を個々のタスク毎に監視する時間監視装置であって、前記CPUによる複数のタスクの実行をスケジューリングするスケジューラと、
    前記スケジューラのスケジューリングによって前記CPUがあるタスクを実行するときに実行時間を計測し、実行するタスクが切り替わるタイミングで、前記CPU時間を前記計測した時間を蓄積することで更新して保持する個々のタスク毎のタイマと、
    前記タスクが切り替わるタイミングで、前記タイマで前記CPU時間が更新されたときに、該CPU時間が所定の閾値に達しているか否か判定し、該CPU時間が該閾値に達したタスクをタイマ満了済リストに登録するタイマ判定部と、
    前記CPU時間が前記閾値に達したときに採るべきアクションが予め設定されており、所定時間の経過毎に繰り返し発生するタイマ割り込みの発生したタイミングで、前記タイマ満了済リストに登録されているタスクに関する前記アクションを実行するアクション部と、
    を有する時間監視装置。
  2. CPUによる、タスクに含まれる複数のスレッドの処理の実行時間であるCPU時間を、個々のスレッド毎に監視する時間監視装置であって、前記CPUによる複数のスレッドの実行をスケジューリングするスケジューラと、
    前記スケジューラのスケジューリングによって前記CPUがあるスレッドを実行するときに実行時間を計測し、実行するスレッドが切り替わるタイミングで、前記CPU時間を前記計測した時間を蓄積することで更新して保持する個々のスレッド毎のタイマと、
    前記スレッドが切り替わるタイミングで、前記タイマで前記CPU時間が更新されたときに、該CPU時間が所定の閾値に達しているか否か判定し、該CPU時間が該閾値に達したスレッドをタイマ満了済リストに登録するタイマ判定部と、
    前記CPU時間が前記閾値に達したときに採るべきアクションが前記スレッド単位に予め設定されており、所定時間の経過毎に繰り返し発生するタイマ割り込みの発生したタイミングで、前記タイマ満了済リストに登録されているスレッドに関する前記アクションを実行するアクション部と、
    を有する時間監視装置。

  3. 前記アクションは、タイマ満了を通知するためのシグナルの、該タイマ満了を入力として動作するプロセスへの送出である、請求項1または2に記載の時間監視装置。
  4. 前記タイマは、前記CPUに供給されるクロックを基にして前記CPU時間を計測する、
    請求項1から3のいずれか1項に記載の時間監視装置。
  5. CPUによる複数のタスクの実行をスケジューリングするスケジューラ手段と、
    CPUによるタスク処理の実行時間であるCPU時間を計測して保持するタイマ手段と、
    該CPU時間が所定の閾値に達しているか否か判定し、該CPU時間が該閾値に達したタスクをタイマ満了済リストに登録するタイマ判定手段と、
    前記CPU時間が前記閾値に達したときに採るべきアクションが予め設定されているアクション手段と、
    からなる時間監視装置におけるCPU時間を個々のタスク毎に監視するための時間監視方法であって、
    前記スケジューリング手段によって前記CPUがあるタスクを実行するとき、タイマ手段が実行時間を計測し実行するタスクが切り替わるタイミングで、前記CPU時間を前記計測した時間を蓄積することで更新して個々のタスク毎に保持し、
    タイマ判定手段が、前記タスクが切り替わるタイミングで、前記CPU時間が更新されたときに、該CPU時間が所定の閾値に達しているか否か判定し、該CPU時間が該閾値に達したタスクをタイマ満了済リストに登録し、
    アクション手段が、所定時間の経過毎に繰り返し発生するタイマ割り込みの発生したタイミングで、前記タイマ満了済リストに登録されているタスクに関する前記アクションを実行する、
    時間監視方法。
  6. CPUに、該CPUによるタスク処理の実行時間であるCPU時間を個々のタスク毎に監視させるためのプログラムであって、
    複数のタスクの実行をスケジューリングする手順と、
    前記スケジューリングによって前記CPUがあるタスクを実行するときに実行時間を計測し、実行するタスクが切り替わるタイミングで前記CPU時間を前記計測した時間を蓄積することで更新して個々のタスク毎に保持する手順と、
    前記タスクが切り替わるタイミングで、前記CPU時間が更新されたときに、該CPU時間が所定の閾値に達しているか否か判定し、該CPU時間が該閾値に達したタスクをタイマ満了済リストに登録する手順と、
    前記CPU時間が前記閾値に達したときに採るべきアクションが予め設定されており、
    所定時間の経過毎に繰り返し発生するタイマ割り込みの発生したタイミングで、前記タイマ満了済リストに登録されているタスクに関する前記アクションを実行する手順と、をCPUに実行させるためのプログラム。
JP2007165022A 2007-06-22 2007-06-22 時間監視装置、方法、およびプログラム Active JP4757237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007165022A JP4757237B2 (ja) 2007-06-22 2007-06-22 時間監視装置、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007165022A JP4757237B2 (ja) 2007-06-22 2007-06-22 時間監視装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2009003757A JP2009003757A (ja) 2009-01-08
JP4757237B2 true JP4757237B2 (ja) 2011-08-24

Family

ID=40320067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007165022A Active JP4757237B2 (ja) 2007-06-22 2007-06-22 時間監視装置、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4757237B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA022237B1 (ru) 2008-08-06 2015-11-30 Шарп Кабусики Кайся Система связи, устройство мобильной станции и способ связи
JP5379719B2 (ja) * 2010-02-25 2013-12-25 株式会社日立製作所 コンピュータ、コンピュータの障害検知方法、及びプログラム
KR101390267B1 (ko) 2012-11-09 2014-04-30 재단법인대구경북과학기술원 실시간 운영체제 태스크 모니터링 방법 및 장치
JP2018072653A (ja) 2016-11-01 2018-05-10 セイコーエプソン株式会社 電気光学装置、電子機器および駆動方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163932A (ja) * 1986-12-26 1988-07-07 Fuji Electric Co Ltd 制御用計算機のシステム監視方式
JP2965075B2 (ja) * 1988-08-08 1999-10-18 三菱電機株式会社 プログラム実行状態監視方法
US5223827A (en) * 1991-05-23 1993-06-29 International Business Machines Corporation Process and apparatus for managing network event counters
JP2005293164A (ja) * 2004-03-31 2005-10-20 Fuji Electric Fa Components & Systems Co Ltd タスク監視方式

Also Published As

Publication number Publication date
JP2009003757A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
US8504753B2 (en) Suspendable interrupts for processor idle management
JP4562568B2 (ja) 異常検出プログラムおよび異常検出方法
US20100306602A1 (en) Semiconductor device and abnormality detecting method
JP4757237B2 (ja) 時間監視装置、方法、およびプログラム
JP2010280356A (ja) 車載システム、負荷分散方法
JP6504610B2 (ja) 処理装置、方法及びプログラム
JP2006252388A (ja) ソフトウェア異常検出方法
JP5652198B2 (ja) 電子制御装置、起動制御方法
US20080072106A1 (en) Method and system of specifying semantics of a late trigger
US11457293B2 (en) Wireless communication device, control program and control method
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
JP2016091179A (ja) 中央監視制御システム、サーバ装置、検出情報作成方法、及び、検出情報作成プログラム
JPWO2008155807A1 (ja) 情報処理装置と負荷調停制御方法
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP6180124B2 (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム及び記憶媒体
JP2017037606A (ja) 駆動制御システムおよび異常監視装置
Slanina et al. Embedded linux scheduler monitoring
JP2011008493A (ja) ウォッチドッグタイマーによるシステム異常検出方式
JP2014157554A (ja) 通信用スレーブ
JP2005107757A (ja) プログラムの暴走検出方法およびプログラムの暴走検出装置
JP2017076294A (ja) 処理装置、交通信号装置及び情報表示装置
JPH064318A (ja) エラー検出方式
JPH11327959A (ja) プロセッサの異常監視方法及び装置
CN114647540A (zh) 嵌入式调度器故障恢复方法、嵌入式系统及存储介质
Slanina et al. Embedded systems scheduling monitoring

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110215

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110531

R150 Certificate of patent or registration of utility model

Ref document number: 4757237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350