JPH036749A - 仮想システムcpu負荷率の測定方法 - Google Patents
仮想システムcpu負荷率の測定方法Info
- Publication number
- JPH036749A JPH036749A JP1142615A JP14261589A JPH036749A JP H036749 A JPH036749 A JP H036749A JP 1142615 A JP1142615 A JP 1142615A JP 14261589 A JP14261589 A JP 14261589A JP H036749 A JPH036749 A JP H036749A
- Authority
- JP
- Japan
- Prior art keywords
- task
- cpu
- null
- load
- load factor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000007704 transition Effects 0.000 abstract description 18
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- YDLQKLWVKKFPII-UHFFFAOYSA-N timiperone Chemical compound C1=CC(F)=CC=C1C(=O)CCCN1CCC(N2C(NC3=CC=CC=C32)=S)CC1 YDLQKLWVKKFPII-UHFFFAOYSA-N 0.000 description 1
- 229950000809 timiperone Drugs 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
この発明は仮想のアドレス空間を持つ計算機システム(
以下仮想システムともいう)のCPU負荷率、即ちCP
Uが有効な処理を実行している時間の割合を測定する方
法に関する。 なお以下各図において同一の符号は同一もしくは相当部
分を示す。
以下仮想システムともいう)のCPU負荷率、即ちCP
Uが有効な処理を実行している時間の割合を測定する方
法に関する。 なお以下各図において同一の符号は同一もしくは相当部
分を示す。
計算機のCPU負荷をソフトウェアで測定する方式の1
つとして、CPUの無負荷状態を、CPUがシステムに
直接有効でないプログラム(以下NULLタスクと称す
)を実行している状態と定義し、そのNULLタスクの
走行時間をCPU無負荷時間として負荷値を測定する方
式がある。この方式は具体的には負荷の測定基準となる
NULLタスクに対しシステムで最も低い優先走行レベ
ルを与え、NULLタスクが走行した実時間からCPU
負荷率を算出するものである。
つとして、CPUの無負荷状態を、CPUがシステムに
直接有効でないプログラム(以下NULLタスクと称す
)を実行している状態と定義し、そのNULLタスクの
走行時間をCPU無負荷時間として負荷値を測定する方
式がある。この方式は具体的には負荷の測定基準となる
NULLタスクに対しシステムで最も低い優先走行レベ
ルを与え、NULLタスクが走行した実時間からCPU
負荷率を算出するものである。
しかしながら前述のCPU負荷率の算出方式ではNUL
Lタスクの走行中には各種の割込みが入ってシステムに
有効な処理が行われ、このNULLタスクの走行は中断
されるため、CPU負荷率の算出は単位時間当りの(N
ULLタスクの走行回数)X (NULLクスク1回当
りの走行時間)により求める必要があり、CPUのキャ
ンシュに対しヒ・ノド/ミスヒツトによl/:J1回当
りの走行時間にばらつきが見られ、その値は不正確とな
る。 また実記憶システムではNULLタスクの割当てられた
アドレスより、CPUが実行するタスクについてのNU
LL→O3,03−)NOLLの遷移判定を行えるが、
仮想システムでは論理アドレスが全てのタスクに等しく
割当てられるため、論理アドレスよりNULL→O3,
O3−+NULLの遷移判定は困難となる。物理アドレ
スで判断するにしても論理アドレスを物理アドレスに変
換する際のオーバヘッドやキャッシュのロスなどの欠点
がある。 そこでこの発明は仮想システムにおいてNULL→O3
,03−NULLの遷移をCPUルートポインタの切替
えに着目して判断し、NULLタスクの実走行時間を測
定する仮想システムCPU負荷率の測定方法を提供する
ことにより前記の問題を解消することを課題とする。
Lタスクの走行中には各種の割込みが入ってシステムに
有効な処理が行われ、このNULLタスクの走行は中断
されるため、CPU負荷率の算出は単位時間当りの(N
ULLタスクの走行回数)X (NULLクスク1回当
りの走行時間)により求める必要があり、CPUのキャ
ンシュに対しヒ・ノド/ミスヒツトによl/:J1回当
りの走行時間にばらつきが見られ、その値は不正確とな
る。 また実記憶システムではNULLタスクの割当てられた
アドレスより、CPUが実行するタスクについてのNU
LL→O3,03−)NOLLの遷移判定を行えるが、
仮想システムでは論理アドレスが全てのタスクに等しく
割当てられるため、論理アドレスよりNULL→O3,
O3−+NULLの遷移判定は困難となる。物理アドレ
スで判断するにしても論理アドレスを物理アドレスに変
換する際のオーバヘッドやキャッシュのロスなどの欠点
がある。 そこでこの発明は仮想システムにおいてNULL→O3
,03−NULLの遷移をCPUルートポインタの切替
えに着目して判断し、NULLタスクの実走行時間を測
定する仮想システムCPU負荷率の測定方法を提供する
ことにより前記の問題を解消することを課題とする。
【課題を解決するための手段】
前記の課題を解消するために本発明の方法は、「仮想の
アドレス空間を持つシステムのcpul荷をソフトウェ
アにより測定する方法において、CPUが無負荷である
か否かをオペレーティングシステム(O82など)のデ
ィスパッチ時(割込処理人口C1同出ロ已にある時など
)におけるCPUルートポインタの値がアイドル時走行
タスク(NULLタスク1など)に在るが否がで判断す
るように1するものとする。
アドレス空間を持つシステムのcpul荷をソフトウェ
アにより測定する方法において、CPUが無負荷である
か否かをオペレーティングシステム(O82など)のデ
ィスパッチ時(割込処理人口C1同出ロ已にある時など
)におけるCPUルートポインタの値がアイドル時走行
タスク(NULLタスク1など)に在るが否がで判断す
るように1するものとする。
NULL→O3,O3−+NULLの遷移判断をディス
パッチ部(タスクからos、osからタスクへ遷移する
為に必ず通る部分)にてCP 1.)ルートポインタの
値がNULLタスクのものか否かにより行う。ディスパ
ッチ部分からN U L Lタスクへ遷移する隙に計時
カウンタをスタートさせ、NULLタスクからディスバ
ンチ部へ’111多する際に計時カウンタをストップさ
せ、この間の計時カウンタの差分を積算する。 なお仮想システムにおけるCPUルートポインタは各々
のタスクに対しユニークに存在するものであり、当然と
してNULLタスクに対するCPUルートポインタも唯
一存在する。タスクが遷移する際には必ずこのCPUル
ートポインタは切替えられる。またCPUルートポイン
タは物理アドレスとして存在するため、論理アドレスか
ら物理アドレスへの変換に伴う多くのロスを経る事なく
NULL→O3,O3−+NULLの遷移判断を行うこ
とができる。さらにこの判断を行だめの論理も簡単なた
めシステムへCPU負荷測定プログラムを組込むことも
容易となる。
パッチ部(タスクからos、osからタスクへ遷移する
為に必ず通る部分)にてCP 1.)ルートポインタの
値がNULLタスクのものか否かにより行う。ディスパ
ッチ部分からN U L Lタスクへ遷移する隙に計時
カウンタをスタートさせ、NULLタスクからディスバ
ンチ部へ’111多する際に計時カウンタをストップさ
せ、この間の計時カウンタの差分を積算する。 なお仮想システムにおけるCPUルートポインタは各々
のタスクに対しユニークに存在するものであり、当然と
してNULLタスクに対するCPUルートポインタも唯
一存在する。タスクが遷移する際には必ずこのCPUル
ートポインタは切替えられる。またCPUルートポイン
タは物理アドレスとして存在するため、論理アドレスか
ら物理アドレスへの変換に伴う多くのロスを経る事なく
NULL→O3,O3−+NULLの遷移判断を行うこ
とができる。さらにこの判断を行だめの論理も簡単なた
めシステムへCPU負荷測定プログラムを組込むことも
容易となる。
第1図及び第2図はこの発明の異なる実施例を示すもの
で、第1図はNULLタスク以外のタスクスイッチが無
い時の割込み遷移を、第2図はNULLタスク以外への
タスクスイッチが有る時の割込み遷移を示す。システム
のイニシャル時にNULLタスクのCPUルートポイン
タの値はO3の中に保持される。 第1図において、1はNULLタスク(の処理)、2は
O3(中の割込処理)を示す。同図において、システム
のイニシャルからNULLタスク1への遷移は割込処理
出口EからN U L Lタスク上の割込要求点Bへ向
って行われる。この時割込処理出口EにてCP’Uルー
トポインタの値が保持されたNULLタスクの値と等し
ければ、その時のタイマ値(本システムではマイクロタ
イマ(lりを読込む。システムではNULLタスク1が
繰返し走行するが、ある割込み要求が要求点Bにて発生
すると、割込要求点Bから割込処理人口CへCPUの状
態は遷移する。この時、割込処理人口CにてCPUルー
トポインタの値がNULLタスクの値と等しければ、タ
イマ値を読込み、この値と割込処理出口Eでの先のタイ
マ値との差分を取り、この差分を積算値格納領域へ加算
する。システムではO32の割込処理の部分が走行する
。そして、このO32上のタスクスイッチ判定点りにて
タスクスイッチの必要性を判断するが、この場合はその
必要が無いためCPUルートポインクは切替わらない。 そして再び割込処理出口Eより割込要求点Bへ遷移する
。この際にも割込処理出口EにてCPUルートポインタ
を判定してタイマ値を読込む。 そしてこの処理が繰返される。このようにして負として
求められる。 次に第2図では、NULLタスク1とタスクZ3との間
にタスクスイッチが起こる場合を示す。 いま割込処理出口EからNULLタスクlへはすでに遷
移されているものとする。NULLタスク1の走行中、
割込要求点BにてタスクZ3起動のための割込み要求が
かかるとする。割込要求点BよりO82の割込処理人口
Cへ遷移した時、この人口CにてCPUルートポインタ
はNULLタスク1のものなのでタイマ値を読込み、こ
のタイマ値と先の割込処理出口Eのタイマ値との差分を
取り、この差分を積算値格納領域へ加算する。O32は
処理を行うが、タスクスイッチ判定点りにてタスクZ3
を起動する必要があることを判別し、CPUルートポイ
ンタをタスクZ3のものに切替える。割込処理出口Eよ
りタスクz3のエンドυにへ遷移するが、割込処理出口
EにてCPUルートポインタを判定するとNULLタス
クのものでないため、タイマ値は読込まない。タスクZ
3が走行して終了し、タスクZの出口りより割込処理人
口Cに遷移する。この割込処理人口CではCPUルート
ポインタを判定するがNULLクスク1のものでないた
め、タイマ値の読込み及び加算は行わない。052はタ
スクスイッチ判定点りにて次に動作するタスクを判断す
る。この場合、N tJLLタスク以外には走行するタ
スクが無いため、CPUルートポインタをNtJLLタ
スク1の値に切替える。そL7て割込処理出口EにてC
PUルートポインタを判定するとNULLタスクのもの
なのでタイマ値を読込む。以上の様にして、前記(1)
弐を用いてCPU負荷率を測定することができる。
で、第1図はNULLタスク以外のタスクスイッチが無
い時の割込み遷移を、第2図はNULLタスク以外への
タスクスイッチが有る時の割込み遷移を示す。システム
のイニシャル時にNULLタスクのCPUルートポイン
タの値はO3の中に保持される。 第1図において、1はNULLタスク(の処理)、2は
O3(中の割込処理)を示す。同図において、システム
のイニシャルからNULLタスク1への遷移は割込処理
出口EからN U L Lタスク上の割込要求点Bへ向
って行われる。この時割込処理出口EにてCP’Uルー
トポインタの値が保持されたNULLタスクの値と等し
ければ、その時のタイマ値(本システムではマイクロタ
イマ(lりを読込む。システムではNULLタスク1が
繰返し走行するが、ある割込み要求が要求点Bにて発生
すると、割込要求点Bから割込処理人口CへCPUの状
態は遷移する。この時、割込処理人口CにてCPUルー
トポインタの値がNULLタスクの値と等しければ、タ
イマ値を読込み、この値と割込処理出口Eでの先のタイ
マ値との差分を取り、この差分を積算値格納領域へ加算
する。システムではO32の割込処理の部分が走行する
。そして、このO32上のタスクスイッチ判定点りにて
タスクスイッチの必要性を判断するが、この場合はその
必要が無いためCPUルートポインクは切替わらない。 そして再び割込処理出口Eより割込要求点Bへ遷移する
。この際にも割込処理出口EにてCPUルートポインタ
を判定してタイマ値を読込む。 そしてこの処理が繰返される。このようにして負として
求められる。 次に第2図では、NULLタスク1とタスクZ3との間
にタスクスイッチが起こる場合を示す。 いま割込処理出口EからNULLタスクlへはすでに遷
移されているものとする。NULLタスク1の走行中、
割込要求点BにてタスクZ3起動のための割込み要求が
かかるとする。割込要求点BよりO82の割込処理人口
Cへ遷移した時、この人口CにてCPUルートポインタ
はNULLタスク1のものなのでタイマ値を読込み、こ
のタイマ値と先の割込処理出口Eのタイマ値との差分を
取り、この差分を積算値格納領域へ加算する。O32は
処理を行うが、タスクスイッチ判定点りにてタスクZ3
を起動する必要があることを判別し、CPUルートポイ
ンタをタスクZ3のものに切替える。割込処理出口Eよ
りタスクz3のエンドυにへ遷移するが、割込処理出口
EにてCPUルートポインタを判定するとNULLタス
クのものでないため、タイマ値は読込まない。タスクZ
3が走行して終了し、タスクZの出口りより割込処理人
口Cに遷移する。この割込処理人口CではCPUルート
ポインタを判定するがNULLクスク1のものでないた
め、タイマ値の読込み及び加算は行わない。052はタ
スクスイッチ判定点りにて次に動作するタスクを判断す
る。この場合、N tJLLタスク以外には走行するタ
スクが無いため、CPUルートポインタをNtJLLタ
スク1の値に切替える。そL7て割込処理出口EにてC
PUルートポインタを判定するとNULLタスクのもの
なのでタイマ値を読込む。以上の様にして、前記(1)
弐を用いてCPU負荷率を測定することができる。
本発明によれば、仮想のアドレス空間を持つシステムの
CPLI負荷をソフトウェアにより測定する方法におい
て、 CPUが無負荷であるか否かをオペレーティングシステ
ム2の割込処理の入口C1同出口EにおけるCPUルー
トポインタの値がアイドル時走行タスクに在るか否かで
判断するようにしたので、仮想システムにおける論理ア
ドレスから物理アドレスへの変換に伴うオーバヘンドや
CPUキャンシュのヒツト/ミスヒントに影響されず正
確なNULLタスク走行が測定でき、より正確なCPU
負荷値を容易に測定することができる。しかも仮想シス
テムにおける論理アドレスから物理アドレスへの変換オ
ーバヘッドやキャンシュのロスなどを防止することでC
PU負荷測定自体の負荷も軽減できる。
CPLI負荷をソフトウェアにより測定する方法におい
て、 CPUが無負荷であるか否かをオペレーティングシステ
ム2の割込処理の入口C1同出口EにおけるCPUルー
トポインタの値がアイドル時走行タスクに在るか否かで
判断するようにしたので、仮想システムにおける論理ア
ドレスから物理アドレスへの変換に伴うオーバヘンドや
CPUキャンシュのヒツト/ミスヒントに影響されず正
確なNULLタスク走行が測定でき、より正確なCPU
負荷値を容易に測定することができる。しかも仮想シス
テムにおける論理アドレスから物理アドレスへの変換オ
ーバヘッドやキャンシュのロスなどを防止することでC
PU負荷測定自体の負荷も軽減できる。
第1図は本発明の第1の実施例としてのN tJ LL
タスク以外へのタスクスイッチが無い時の割込み遷移図
、 第2図は本発明の第2の実施例としてのN U LLタ
スク以外へのタスクスイッチが有る時の割込み遷移図で
ある。
タスク以外へのタスクスイッチが無い時の割込み遷移図
、 第2図は本発明の第2の実施例としてのN U LLタ
スク以外へのタスクスイッチが有る時の割込み遷移図で
ある。
Claims (1)
- 1)仮想のアドレス空間を持つシステムのCPU負荷を
ソフトウェアにより測定する方法において、CPUが無
負荷であるか否かをオペレーティングシステムのディス
パッチ時におけるCPUルートポインタの値がアイドル
時走行タスクに在るか否かで判断するようにしたことを
特徴とする仮想システムCPU負荷率の測定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1142615A JPH036749A (ja) | 1989-06-05 | 1989-06-05 | 仮想システムcpu負荷率の測定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1142615A JPH036749A (ja) | 1989-06-05 | 1989-06-05 | 仮想システムcpu負荷率の測定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH036749A true JPH036749A (ja) | 1991-01-14 |
Family
ID=15319451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1142615A Pending JPH036749A (ja) | 1989-06-05 | 1989-06-05 | 仮想システムcpu負荷率の測定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH036749A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5108494A (en) * | 1991-02-19 | 1992-04-28 | Mitsui Mining & Smelting Co., Ltd. | Zinc alloy powder for alkaline cell and method for production of the same |
-
1989
- 1989-06-05 JP JP1142615A patent/JPH036749A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5108494A (en) * | 1991-02-19 | 1992-04-28 | Mitsui Mining & Smelting Co., Ltd. | Zinc alloy powder for alkaline cell and method for production of the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4887202A (en) | Input-output control method in a virtual machine system | |
US5386563A (en) | Register substitution during exception processing | |
JP4276201B2 (ja) | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム | |
US5872913A (en) | System and method for low overhead, high precision performance measurements using state transistions | |
US20120137295A1 (en) | Method for displaying cpu utilization in a multi-processing system | |
JP2009163751A (ja) | バーチャルマシン動作においてマシン状態を管理する方法及びシステム | |
JPH09218731A (ja) | マイクロプロセッサのパワーエスティメータ | |
US8381182B2 (en) | Approaches for meeting SMI duration limits by time slicing SMI handlers | |
EP1766518A1 (en) | Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments | |
CA2283046C (en) | Methodology for emulation of multi-threaded processes in a single-threaded operating system | |
CN103677997B (zh) | 多核心装置以及其多线程调度方法 | |
JP2004501407A (ja) | 呼出し元アドレスを使用した安全なソフトウェアsmiディスパッチング | |
JPH036749A (ja) | 仮想システムcpu負荷率の測定方法 | |
JP3598282B2 (ja) | コンピュータ、その制御方法及びその制御方法を記録した記録媒体 | |
JPH0844575A (ja) | Cpuの監視及び負荷制御方式 | |
JP5668505B2 (ja) | クロック周波数制御プログラム、クロック周波数制御装置 | |
US10489218B2 (en) | Suppression of speculative accesses to shared memory locations at a processor | |
US5023774A (en) | Data I/O transaction method and system | |
JPS59208661A (ja) | 計算機の負荷測定方法 | |
Zuepke et al. | Fast user space priority switching | |
JPH08137703A (ja) | タスク切替装置 | |
JPH0440532A (ja) | リアルタイム処理装置 | |
JPH02176813A (ja) | 中央処理装置およびタイマ回路 | |
KR100961964B1 (ko) | 실시간 프로세스의 최악 응답 시간을 예측하기 위한선점금지시간의 분석방법, 그리고 그 방법을 수행하기 위한프로그램이 기록된 기록매체 | |
JPH1124968A (ja) | プログラム性能のチューニングシステム |