JPH0774984B2 - システム資源利用率測定方法とデータ処理システム - Google Patents

システム資源利用率測定方法とデータ処理システム

Info

Publication number
JPH0774984B2
JPH0774984B2 JP10435792A JP10435792A JPH0774984B2 JP H0774984 B2 JPH0774984 B2 JP H0774984B2 JP 10435792 A JP10435792 A JP 10435792A JP 10435792 A JP10435792 A JP 10435792A JP H0774984 B2 JPH0774984 B2 JP H0774984B2
Authority
JP
Grant status
Grant
Patent type
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.)
Expired - Lifetime
Application number
JP10435792A
Other languages
English (en)
Other versions
JPH05134830A (ja )
Inventor
サミュエル・リー・エムリック
ジェームス・ホイエット・サマーズ
ジミー・アール・デュウィット
ティモシー・マンフレッド・ホルク
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレイション
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
Grant date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • G06F11/3419Recording 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 by assessing time
    • G06F11/3423Recording 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 by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Description

【発明の詳細な説明】

【0001】

【産業上の利用分野】本発明は、データ処理システムに
関し、特に、データ処理システムの資源利用のグラフィ
ッカルなモニタに関する。

【0002】

【従来の技術】データ処理システムの効率及び活用のた
めに追及され続けられた改善において、様々な種類のデ
ータ・モニタが、これらのシステム内で何が生じている
のか理解するために、ユーザの手助けとして開発され
た。データ処理システムの重要な資源には、ランダム・
アクセス・メモリ(RAM)の使用率、周辺装置デバイ
スの使用率および中央演算処理装置(CPU)のビジー
/アイドル時間のような物が含まれる。これらの資源
は、データ処理システム全体の処理能力の効率を高める
ためにデータ処理システムのオペレータに対して様々な
システム・パラメータの微妙な調整における重要な情報
を与える。

【0003】オペレーティング・システムのユーザは、
どのくらいのメモリが使用されるかの情報を必要とす
る。メモリ利用の情報としては、特に、メモリ・ワーキ
ング・セットが有用で、現在使用するアプリケーション
に対して、コンピュータの物理メモリの余裕が十分であ
るかどうかを示す。不充分なメモリ割り付けは、このメ
モリ不足に基づいて起こる、過大なスワッピングまたは
ページングのために能率の悪いシステム・オペレーショ
ンを生む。従来のプロダクトの解析システム・メモリ
は、システムに存在するシステム・メモリの実容量にも
よるが、実行するのに一般に約15〜45秒程かかる。
提示情報は、個々のアプリケーションによるRAMの消
費量を求めるのに有用であるが、モニタされるシステム
にツールを挿入するだけで、要素ではない。これらの従
来のプロダクトは、テキスト・スクリーンを使用する。
他の従来の技術及びツールは、RAM使用を測定、或い
は計算するために特殊化されたハードウェア援助に頼っ
た。

【0004】様々な技術が、様々なタイプのデータ処理
システム資源を測定するのに使用されている。システム
自身によって直接に内部をモニタする技術は既存する技
術の1つである。これらの技術は、データを捕らえ、あ
る種の大規模な記憶装置に書込むのに、一般に、データ
処理システム自身の相当な資源を消費する。次に、後続
する手順が、このデータを読出し、分析するために使用
する(すなわち、分析はリアル・タイムではない)。

【0005】周辺装置デバイスのデバイス利用率は、各
I/O(入出力)の開始及び終了時間を正確に測定する
ことで、以前から計られていた。これは、個々のI/O
時間の計算になる。所定の期間でこのI/O時間を合計
することで全体のビジー・タイムを計算することが可能
であった。次に、デバイス利用率が、全体のビジー時間
を合計経過時間で割ることによって計算される。このア
プローチには、2つの問題がある。第1に、I/O(普
通、デバイス・ハードウェア及び/又はオペレーティン
グ・システム)測定とI/O開始及び停止時間の記録を
直接に管理するエンティティが必要なことである。第2
に、これらのI/O事象を正確に計る精度の高いハード
ウェア・タイマーを必要とする。あるシステム、例え
ば、パーソナル・コンピュータはこれらの基準に合致し
ていない。換言すると、ハードウェアまたはオペレーテ
ィング・システムはI/O時間を測定しない。さらに、
ハードウェア・タイマーは、今日のパーソナル・コンピ
ュータのほとんどは、I/Oタイミングを正確に測定で
きないほど精度が低い(32ミリ秒)。このように、既
存のパーソナル・コンピュータ・システムでのデバイス
利用率は、これらの従来の方法を用いて得ることはでき
ない。

【0006】データ処理システムのCPUアイドル・タ
イムは、コンピュータの中央演算処理装置(CPU)が
何れのタスクによっても利用されていない時間の量であ
る。従来のCPUアイドル・タイムの測定は、スレッド
を用いて一連のタスクを実行した。スレッドが実行され
たタスク数は、次に、そのスレッドがすべての利用可能
なCPUタイムで実行されたならば、達成されたであろ
うタスクの仮説的な数と比較される。このプロシージャ
は、タスクの仮説的な数が、異なるデータ処理システム
では異なるという点において欠陥がある。タスクの実行
に必要な最小時間を求めるのにシステムの特定の較正ア
ルゴリズムが必要とされる。この較正方法は、システム
間で作動するときに、信頼性がなく、多くの実際的問題
を提起する。

【0007】

【発明が解決しようとする課題】一般に、前述のタイプ
のシステムは、性能データが収集され、さらに分析する
ためにギャザリング・システムによって比較的遅い大量
記憶装置に書き込まれる点で、又、欠陥を有する。これ
は、データ分析の方法よりも速くオペレーティングする
データを捕える方法に起因する。このように、大量記憶
装置は、方法が異なる動作速度で働くように、バッファ
として使用される。さらに、データ・ギャザリング・シ
ステムによって生成されたデータは、分析方法が大量の
データを管理、又は維持できないほどの大容量の性質を
有する。この制約で、さらに中間の大きさの記憶装置を
必要とする。

【0008】この中間のバッファリングのために分析
は、リアル・タイムで実行できないばかりか遅れる。こ
のように、システム性能及び動作の何れのレポートまた
は他のタイプのフィードバックは、実際の性能では常に
時代遅れである。今日のデータ処理システムは、多数の
タスク及びユーザをサポートする等、より複雑な動作環
境をサポートしており、遂行能力に関するデータの遅延
は、システムの運営に重大な障害となり、何れの問題が
発生しても、検知する前に障害が生じるような報告無し
と同じ状態となる。

【0009】データの分析に使用される他の方法は、莫
大な量のCPUのような、ギャザリング・システムの資
源を必要とする。この結果、分析は、リアル・タイムで
実行されず、資源を大きな比率で消費することとなり、
データを歪めて、根本的なシステム・オペレーションと
しての意義がなくなる。

【0010】あるシステムが、上述の限界を克服するの
を試みたが、しかし、多重処理システムの処理段階で情
報を保持し、又は捕えるのに失敗した。むしろ、システ
ムの性能を劣化させる原因となる特定の処理を目的とす
る能力のない、全体的なシステムの使用が観測された。
このプロセス解明の失敗は、全体的なシステムは性能が
悪く、システムのどのプロセスが原因であるかの指摘
は、無意味なことを示している。

【0011】

【課題を解決するための手段】本発明は、メモリ、CP
Uまたはリアル・タイムでの周辺装置デバイスの可用性
と利用性のような、ユーザ指定の内部システム資源をグ
ラフィック・ディスプレイで表すことによって前述の問
題と欠陥を解決する。データ処理システムの資源状態の
グラフィッカルな表現は、このような情報の提供による
システム性能への影響が最小限度に保たれる一方で、リ
アル・タイムで管理される。これは、ユニークなデータ
整理技術と共に、特殊化されたデバイス・ドライバを含
む様々な技術の組合せによって達成される。これにより
情報が多重処理システムの細分化された処理で得られ、
所定の処理のための資源が、モニタできる。これらの資
源モニタのグラフィッカルな結果は、データ処理システ
ムのディスプレイのウィンドウ又はビューポートでユー
ザに便利よく提示され、及びデータは、リアル・タイム
で更新される。リアル・タイム・サポートは、データ処
理システムのオペレーションを直接に及び正確な表示を
提供する。これらの表示は、モニタされるシステムの総
合効率を改善するためにデータ処理システムを確認、分
離、及び微調整するためにユーザによって使用できる。

【0012】RAMワーキング・セットを含むメモリ利
用には、デバイス・ドライバで、最後に使用された(L
RU)(Least Recently Used) タイムスタンプを比較
するために非常に効率の良いメカニズムが使われる。

【0013】ディスク駆動装置又は通信ラインを始めと
する周辺装置デバイス利用率測定のために、周辺装置デ
バイスがビジーである時間の平均値が計算される。この
測定に使用される方法では、追加のデバイス・ファーム
ウェア援助、又はデバイス利用率情報を得る、従来の方
法で必要であった精度の高いタイミング・ハードウェア
は、必要とされない。最小オペレーティング・システム
援助は、周辺装置のデバイス・ドライバでフックを使用
して成し遂げられる。

【0014】CPU利用率においては、プロセスは、処
理システムのレベルで最も低い優先権、すなわち、アイ
ドルが割り当てられる。オペレーションのアイドル事象
の時間量が、CPUアイドル・タイムを表す。

【0015】本発明の目的は、改善された資源モニタを
提供することである。

【0016】本発明の目的は、リアル・タイムで働く資
源モニタを提供することである。

【0017】本発明の目的は、リアル・タイムで働く内
蔵データ処理システム・モニタを提供することである。

【0018】本発明の目的は、リアル・タイムで働く内
蔵データ処理システム・プロセス・モニタを提供するこ
とである。

【0019】

【実施例】全体について概説する。次の方法とシステム
は、RAM利用率、CPUアイドル・タイム、そして周
囲デバイス利用率を含むデータ処理システムの資源をモ
ニタするユニークな方法を説明する。このモニタリング
は、システムの内部、又は従来の通信方法を経て、付属
の遠隔のデバイスの何れにも実行できる。様々なモニタ
リング及びトレース技術が、モニタされる各々の資源に
利用される。データは、多重処理環境のプロセス・レベ
ルで捉え、提示することができる。データ・キャッシュ
のような他の種類のデータ処理システム資源が、本発明
の請求範囲内で、本発明と同様な技術を利用して同様に
モニタできる。全体的スキーマは、モニタされた変数の
ユーザによる修正のために、資源パラメータ及びサポー
トのリアル・タイムのグラフィッカルな操作が簡単なシ
ステムに必須として実装される。以下の説明のために、
リアル・タイムは、ウェブスターの新カレッジ辞典(We
bster^s New Collegiate Dictionary) によって次のよ
うに定義されていることに注意されたい。リアルタイム
は、その発生が実際に同時である事象の報告又は記録で
事象が生じる実際の時間を意味する。

【0020】ここで図1を参照するに、開示されたモニ
タ・システム21が、2つの独立したオペレーション
の、データ収集機構(DCF)23及び資源モニタ(R
M)25に概念的に分割されている。アプリケーション
・プログラミング・インタフェース27、すなわち、A
PIが、これらの2つのオペレーティング・モデル間の
インタフェースとして使用される。名前付きパイプ29
は、当業者には既知であり、及び"IBM OS/2
プログラミング・ツール及び情報、バージョン1.2"
(IBM OS/2 Programming Tools and Information、Vers
ion 1.2)で詳細に説明されているので参照されたい。
ここでは、バックグラウンド材料として、DCF23と
RM25間の接続に使用されている。DCF23は、ト
レースされる様々な資源31のために重要な性能データ
を収集する。RM25は、資源使用の描写を表す。好ま
しい実施例では、この資源使用の描写は、従来のデータ
処理システム・ディスプレイ33に図表で表示される。
名前付きパイプ29を使用し、システムが従来の通信技
術で接続されると、図示されているシステムは、資源モ
ニタ25を実行させているコンピュータとは別のコンピ
ュータで動いているデータ収集機構23に接続できる。
これは、名前付きパイプを使用することにより、ネット
ワーク透過オペレーションが可能になるからである。

【0021】ここで図2を参照するに、システム21
は、データ収集技術35、データ整理技術37及び提示
技術39に、機能的に3つのオペレーションに副分類さ
れ分割される。データ収集技術35は、周辺装置デバイ
スのRAMワーキング・セット利用及びサンプリングを
含む。データ整理技術37は、CPUアイドル・タイム
を決定するためのアイドル・スレッドの測定、トレース
・データのフィルタリング及び他の整理方法を含む。最
後に、提示技術39は、ダイナミックなモニタリングお
よびマルチ・ビューポート・ウィンドウ操作を含む。図
2は、図1の概念モデルにオーバレイされる機能的な表
示をさらに例示する。図2で分かるように、データ収集
技術35は、データ収集機構23内に完全に含まれる。
データ提示技術39は、資源モニタ25内に完全に含ま
れる。データ整理技術37は、データ収集機構23及び
資源モニタ25の両方に共存する。後で示されるよう
に、整理技術37における責任の共有は、データの捉え
及びモニタされる資源の高性能のグラフィッカルな描写
の両方において効率性を与える。好ましい実施例でのモ
ニタされる各資源に対する特定の方法論については後述
する。

【0022】RAM利用率について説明する。モニタで
きる図1のシステム資源31の1つは、RAM利用率で
ある。開示されたモニタリング方法は、全オペレーティ
ング・システムでのメモリ利用率を高速で計算する(ミ
リ秒で)。その結果をリアル・タイムで図表で表示す
る。好ましい実施例では、そのオペレーティング・シス
テムは、IBM OS/2(IBMの商標)オペレーテ
ィング・システムであるが、しかし、これらの概念は、
この分野の専門家によって他のタイプのコンピュータ・
オペレーティング・システにも容易に導入できる。

【0023】ここで図3を参照するに、全物理メモリ4
1の様々なカテゴリが定義され、各それぞれのカテゴリ
の利用に比例して図表で表されている。固定メモリ43
は、スワップ・アウト又は放棄できない分割化されたス
ワッピング・メモリ構成のメモリである。この固定メモ
リは、このメモリを所有するアプリケーションがロード
されている限り、RAMの中に割り当てられて残る。ワ
ーキング・セット・メモリ45は、次のように定義でき
る。(i)スワップ可能でもなければ、放棄可能でもな
い全メモリ・セグメント。(ii)スワップ可能及び放
棄可能で、適用できるシナリオの実行中に使用される全
メモリ・セグメント。使用メモリ47は、システムによ
って割り当てられたRAMであり、物理メモリ内に在る
(すなわち、割り当てられ及びスワップ・アウトされな
いメモリ)。ワーキング・セット・メモリは、瞬時値で
ない。このメモリは、"ワーキング・セット期間"と呼ば
れる時間の間、使用されるメモリである。ワーキング・
セット期間は、ダイナミック・モニタリング・セクショ
ンで説明されるように動的に変えることができる。

【0024】システム全体のワーキング・セット・メモ
リ45を計算するために、改善されたデバイス・ドライ
バが、メモリ利用の非常に速い計算を提供する。それ
は、ユーザによって動的に指定されるワーキング・セッ
ト期間を使用する。デバイス・ドライバは、アセンブリ
言語でコード化され、性能を高めるためにリング0で実
行し、プロテクトされた資源に対して制約されずにアク
セスでき、従来技術によって以前に実行されたセッショ
ンによってではなく、全システムのためにワーキング・
セットを得ることができる。リング0は、当業者には周
知のリングで、オペレーティング・システムのコア・レ
ベルで実行する、すなわち、CPUハードウェアに最も
近いリングである。他のレベル、例えば、好ましい実施
例であるOS/2のオペレーティング・システムのレベ
ル1〜3は、CPUの内部資源のより低い各々のアクセ
ス・レベルで実行する。

【0025】図4を参照するに、示されているワーキン
グ・セット・メモリは、最後の "ワーキング・セット期
間" 秒の51でのアクセスされたメモリの百分率であ
る。ワーキング・セット期間は、"サンプリング期間"5
3の時間毎に更新、又はスナップショットされる。本発
明は、ワーキング・セット・メモリを計算するためにメ
モリ使用のスライディング・ウィンドウ55を使用す
る。サンプリング期間毎に取られるメモリのスナップシ
ョットは、全メモリ・セグメントの最後に使用されたL
RUタイムスタンプを調べる(タイムスタンプの方法に
関してはデバイス・ドライバ・セクションの中で後述さ
れる)。LRUタイムスタンプは、メモリ・セグメント
がどれくらい最近アクセスされたかを示す。各スナップ
ショット毎に、2つの値が示される。

【0026】1.メモリの全内容に対しての最新のLR
Uタイムスタンプ。この値は、メモリの一部分が最も最
後にアクセスされた最後の時間である。この値が、 "ワ
ーキング・セット期間"秒として後で使用される。

【0027】2.どのセグメントが、"ワーキング・セ
ット期間"秒前にセーブされたLRUタイムスタンプの
値以後、アクセスされたかを示す。これらのセグメント
のサイズの和が、その時間のワーキング・セット25を
構成する。

【0028】手順は、次のように機能する。デバイス・
ドライバは、すべての物理メモリ・ブロックを通る。各
スワップ可能、放棄可能のブロックで、2つの比較を行
う。

【0029】1.ブロックのLRUタイムスタンプを、
ワーキング・セット期間秒前に得たLRUタイムスタン
プと比較する。−− ブロックのタイムスタンプが、ワ
ーキング・セット期間のタイムスタンプよりも大きい場
合、そのブロックは、ワーキング・セットにあり、ブロ
ックサイズが、ワーキング・セット和に加えられる。

【0030】2.ブロックのLRUタイムスタンプをこ
れまで見つけた最大のタイムスタンプ(最新)と比較し
て、大きいならば、その値を現在の最大のタイムスタン
プに使う。

【0031】デバイス・ドライバは、ワーキング・セッ
トの全ブロックのサイズ(バイトで)の和および全物理
メモリである最大(最新)LRUタイムスタンプを復帰
する。

【0032】この手順は、図5でさらに詳細に説明され
ている。様々な変数が、60で初期化される。メモリの
次のブロックが、72でデバイス・ドライバによって読
出される。読出されたメモリのブロックサイズが、74
において物理メモリのカウントを含む変数70に加えら
れる。76ではブロックがフリーか、すなわち、未使用
か、判定される。フリーでない場合は78でブロックサ
イズは、使用中メモリのカウントを含む変数66に加え
られる。次に、80でブロックがスワップ可能か、放棄
可能か、判定される。否定ならば、ブロックサイズは、
82で固定メモリのカウントを含む変数68に加えられ
る。さらに、固定メモリはワーキング・セットの一部分
として定義されているので、ブロックサイズは、また、
86で、ワーキング・セット・メモリのカウントを含む
変数64に加えられる。ブロックがスワップ可能及び放
棄可能であるならば、ブロックのLRUタイムスタンプ
のチェックが行われる84へ処理は続く。ブロックLR
Uタイムスタンプが最大ワーキング・セット期間タイム
スタンプより大きいならば、ブロックサイズは、86
で、ワーキング・セット・メモリのカウントを含む変数
64に加えられる。何れの場合でも、ブロックのLRU
タイムスタンプが最大タイムスタンプ62より大きいか
どうかの次の決定が、88で行われる。大きいならば、
ブロックLRUタイムスタンプは、90で、新最大タイ
ムスタンプ62としてセーブされる。最後に、さらにブ
ロックが存在するかどうか、92でチェックが行われ
る。もしそうならば、処理は72へと続く。否定なら
ば、デバイス・ドライバは、94に復帰する。ここでの
最大タイムスタンプ、ワーキング・セット・メモリ、使
用中メモリ、固定メモリ、および物理メモリの各値は、
図3で定義された値である。

【0033】後で説明されるグラフィックス・プログラ
ムは、一定の間隔でデバイス・ドライバを呼び出し、ユ
ーザ・マシンの全物理RAMの大きさに応じてワーキン
グ・セット・メモリをプロットする。この呼出しは、デ
バイスへのシステムAPIのコールを通して交信するデ
ータ収集機構によって実行される。情報は、図1の名前
付きパイプ29を通してAPIを経てグラフィックス・
プログラムに渡される。図3を再び参照するに、デバイ
ス・ドライバは、ワーキング・セット・メモリ45を再
計算するためにサンプリング期間53の時間毎に呼び出
される(ワーキング・セットが物理メモリを越えると、
100%として表示される)。図9でわかるように、典
型的サンプリング期間は5秒で、典型的ワーキング・セ
ット期間は、60秒である。

【0034】ここで図6を参照するに、固定及び使用中
メモリが、ワーキング・セット・メモリの、上部の10
0、下部の102のバウンドとして、それぞれグラフ化
されている。ワーキング・セット・メモリ104は、固
定メモリを下回る又は使用中メモリを上回ることは決し
てないので、このグラフはワーキング・セットメモリが
可能な範囲にあることを示す。この機能は、絶対的に可
能な、最小及び最大限度量が自動的にグラフとして表さ
れる自己補正メカニズムを提供し、ユーザを支援する。
最小絶対値は、固定メモリの計算値であり、最大絶対値
は、使用中メモリの計算値である。

【0035】安定したシナリオとしては、ワーキング・
セット期間が短くなると、報告されたワーキング・セッ
トは、より少ないメモリが、より短い時間で典型的にア
クセスされるので、より低くなる。ワーキング・セット
期間が増加すると、さらに多くのアプリケーションに対
してより多くのメモリがより長い時間で典型的にアクセ
スされるのでワーキング・セットは長くなる。

【0036】ワーキング・セット期間パラメータの値
は、報告されたワーキング・セット・メモリに影響を及
ぼすことができる。期間を長くすると、ワーキング・セ
ット・メモリが使用中メモリに、すなわち、上限に接近
する。期間を短くすると、ワーキング・セット・メモリ
が固定メモリに、すなわち、下限に接近する。固定及び
使用中メモリは、瞬間値である。しかしながら、ワーキ
ング・セットは、一定の時間内での使用されたメモリと
して定義される。

【0037】以下のテーブル1は、RAMモニタがどの
ように、システム資源を解釈するために使用できるかを
述べる。

【0038】 テーブル1 RAMモニタ・シナリオ解釈 ------------------------------------------------------------------------ シナリオ 解釈 ------------------------------------------------------------------------ 注意: ワーキング・セット期間は、すべてのシナリオで60秒に設定される 。 ------------------------------------------------------------------------ 大容量のアプリケーションがロードされる。ワーキング・セットは、大幅な増 加を示す。固定メモリは、小幅な増加を示す。ユーザは、暫くの間そのアプリケ ーションを使用しないことにする。数分後にワーキング・セットは、ダウンする 。 ロードされたプログラムは、ワーキング・セットの一部分として報告され、そ の固定メモリは、システム固定メモリの一部分として報告される(また、ワーキ ング・セットに含まれる)。60秒間、プログラムをロードするのに使用したメ モリは、ワーキング・セットで報告され続ける。 アプリケーションは、60秒間作動しないので(従って、ほとんどのアプリケ ーションのメモリは、アクセスされない)、プログラムがそれでもロードされて もワーキング・セットは、数分後、ダウンする。しかしながら、アプリケーショ ンの固定メモリは、それでもそのワーキング・セットの一部分として、及び固定 メモリの一部分として報告される。 ------------------------------------------------------------------------ 大容量のアプリケーションが、ロードされる。ワーキング・セットは、予想よ りも大幅な増加を示す。 このアプリケーションは、通常のオペレーションよりも、より多くのメモリを 使用する。報告されたワーキング・セットは、正常動作中にドロップする。 ------------------------------------------------------------------------ 大容量のアプリケーションがロードされるが、しかし、直ちに終了する。報告 されたワーキング・セットは、上昇後、急速に降下する。 OS/2がアプリケーションをアンロードする場合、OS/2は、アプリケー ションのメモリをフリーにする。フリーにされたメモリは、ワーキング・セット に報告されない。 ------------------------------------------------------------------------ スワップ・イン及びスワップ・アウトのグラフは、ワーキング・セットが10 0%でなくても、かなりのアクティビティを示す。 新セグメントをスワップ・イン又はロードしなければならない場合、最近アク セスされなかった古いセグメントは、スワップ・アウト又は放棄する必要がある 。スワップ・アウトされるメモリは、そのメモリが60秒前の以前にアクセスさ れたものであれば、ワーキング・セットに報告される。 時折のスワップ・アクティビティがあっても、遂行能力を良くするために十分 なメモリが存在する。それ以上の物理メモリは、必然的に必要とされない。 ------------------------------------------------------------------------ OS/2システム及びSPMアプリケーションが最初に開始するときは、固定 メモリは、期待された値よりも高い。 固定メモリは、CONFIG.SYSファイルで定義された大容量のVDIS KまたはDISKCACHEを含むことができる。 ------------------------------------------------------------------------ 安定したシナリオのために、ワーキング・セット期間は、60秒から10秒に 変えられる。報告されたワーキング・セットは現在、低い。 そのワーキング・セットが低いのは、より少ないメモリが典型的に、60秒よ りも10秒でアクセスされるからである。 ------------------------------------------------------------------------ 安定したシナリオのために、ワーキング・セット期間は、60秒から1000 秒に変わる。報告されたワーキング・セットは、現在、高い。 そのワーキング・セットが高いのは、より多くのアプリケーションの、より多 くのメモリが、60秒とは違い、1000秒でアクセスされるからである。 ------------------------------------------------------------------------

【0039】メモリ利用率、特に、ワーキング・セット
・メモリの情報は、コンピュータの物理メモリが、現在
のアクティブなアプリケーションに対して十分であるか
どうか示すために有用である。この技術によってユーザ
は、 "こうしたら、どうなるのか?" の疑問を、変数ま
たは当該のエンティティに影響を及ぼすパラメータを実
際にリセットすることなしに、問うことができる。要約
すると、この技術は、RAMのワーキング・セット、固
定及び使用中メモリ量を含む、全体としてのオペレーテ
ィング・システムのランダム・アクセス・メモリ(RAM:
Random AccessMemory)の利用率を高速に計算し、及び
図表でこれらの結果を表示する。

【0040】ダイナミックなモニタリングについて説明
する。データ処理システムのユーザが、ディスプレイ・
スクリーンのダイナミックなモニタのディスプレイに影
響を及ぼすパラメータを変える手順について述べる。こ
の手順は、機能が少くとも1つの変数によって影響を及
ぼされる場合の、データ処理システム・ディスプレイの
時間と連結した機能のダイナミックなモニタリングの制
御に関する。モニタされるデータは、ある種のパラメー
タがどのように設定されるかに基づいて変化する。図8
で示されるように、ユーザに対して対話ボックスが、デ
ィスプレイ画面上で提示されている。ユーザは、この画
面を図7で示されるウィンドウのメニューまたはアクシ
ョン・バー110から選択できる。この対話ボックス1
20は、ユーザがパラメータの新しい値を登録できるフ
ィールド122を有する。ユーザが、新しい又は修正パ
ラメータを打ち込むと、プログラムは新しいパラメータ
の値を使用するために根本的な機能を動的に修正する。
これは、データ収集を制御するプログラムに対して、対
話ボックスを制御するプログラムによるAPIコールを
通して達成される。図9で示されるように、ユーザ・パ
ラメータは、図8の画面の対話ボックスを通して、11
2で問いただされる。パラメータが有効であるかどう
か、114で判定が行われる。もし有効でないならば、
エラーメッセージは、116で表示され、ユーザのパラ
メータは、112で再び問いただされる。もし有効であ
るならば、新しいパラメータが、名前付きパイプ(図1
の29)を経て118のデータ収集機構のAPIへ送り
出される。データ収集機構は、データを受け、119で
指定された機能のパラメータを変更する。

【0041】好ましい実施例では対話ボックスを使用し
ているが、他のタイプの制御が、ユーザから新しいパラ
メータを得るために同様に使用される。これらには、ス
クロール・バー、スピン・ボタン、エントリ・フィール
ドまたはコマンド・ライン・パラメータ等がある。

【0042】RAMモニタ・ウィンドウのRAMワーキ
ング・セット・メモリのダイナミックなディスプレイに
影響を及ぼすパラメータを変えるこの方法は、前述のR
AMワーキング・セット期間を修正するのに使用され
る。これまで説明したように、RAMワーキング・セッ
ト・メモリは、ユーザが低いRAMワーキング・セット
期間を選択すると低くなり、高いRAMワーキング・セ
ット期間を選択すると高くなる。

【0043】周辺装置デバイス利用率について説明す
る。デバイスの利用率を求めるのに使われる一般の技術
は、高レベルの解明タイミングを必要とせず、又は、ハ
ードウェアおよび/又はオペレーティング・システムを
変える必要はない。むしろ、この方法は、定期的にデバ
イスの状態をサンプリングし、そしてそのデバイスが "
デバイスのビジー" 状態を返す回数を記録する実行と実
行の間を変えられるサンプリングの周期率を作り出す技
術は、特定のものではなく、又は、根本的デバイス利用
率の測定技術を理解するのに難しいものではない。例え
ば、パーソナル・コンピュータではハードウェア・タイ
マー割込みを使用すると好都合である。OS/2で実行
するIBMパーソナル・コンピュータは、32ミリ秒毎
に割込みが発生し、DOSを実行させているときは、5
5ミリ秒毎に発生する。さらに、デバイス状態を照会す
るのに利用される技術は、デバイスとデバイスとの間で
変わるが、しかし、本発明の趣旨及び範囲内で他のタイ
プのデバイスに拡張できる。たとえば、IBMパーソナ
ル・コンピュータESDIディスク駆動装置は、入力ポ
ート・アドレス X^3512^ (16進)で連続状態
を提供する。他のデバイスでは、デバイスが状態情報を
戻す前に、デバイス照会コマンドがそのデバイスに送り
出されるのを必要とする。

【0044】ここで図10を参照するに、好ましい実施
例のデバイス・ドライバである収集プログラム140
は、ハードウェア・タイマー144から割り込み142
を受ける。各タイマーのために、ポール・カウントが1
46で増分させられる。次に、測定されるデバイス14
8が、ビジーかまたは否定であるか求められるためにデ
バイス148は、連結されたデバイス・コントローラ1
50によって152で問いただされる。このビジー情報
は、デバイス・コントローラ150によって154で報
告される。報告されたデバイスがビジー状態かどうか、
156でチェックされる。もしそうならば、ビジー・カ
ウントが、158で増分させられる。収集は、tic1
42によって再びトリガされるまで終了する。

【0045】1度収集プログラムが、ユーザ指定のまた
はデフォルト・パラメータによって決められた十分な数
のサンプルを有すると、次に、報告プログラム162
は、164で、そのビジーと全カウントを集め、そして
166で、ビジー・カウントを全カウントで割ってデバ
イス利用率を計算する。この計算を下記に示す。

【0046】デバイス利用率 = ビジー・カウント/
全カウント

【0047】この利用率は、次に、以後で述べられるよ
うな、数字またはグラフィッカル形式で168で、ディ
スプレイに書かれるような、いずれの方法によって報告
でき、あるいはログ・ファイルに書込まれる。この報告
プログラムは、好ましい実施例では定期的に収集プログ
ラムのデバイス・ドライバを呼び出し、ビジーtic数
のtic142のトータル数に対する比としてプロット
する。デバイス・ドライバは、デバイス利用率を再計算
するために1/2毎に呼び出されるが、しかし、この呼
出しの頻度は、この好ましい実施例の説明で述べる手順
でユーザが定義し、修正できる。

【0048】デバイス利用率は、直接測定されるよりむ
しろサンプリングによって評価されるので、その評価に
は潜在的なエラーが存在する。統計方法が、この潜在的
エラーを予測できる。この分野の専門家は容易に理解さ
れたように、ここで用いるサンプリング技術は、2つだ
けの可能な値、ビジーか、又はビジーでないかの、繰返
しのサンプルを用いる。このようなサンプルは、ベルヌ
ーイのサンプルと呼ばれ、2項分布に従う。さらに、サ
ンプル数が比較的に大きい場合、例えば、20より大き
い場合は、2項分布は正規分布に近似する。正規分布に
おいては、実際の比率と比較したサンプル比率のエラー
は、ほとんど変わらない。

【0049】エラー = Z(a/2)*(x/n*(1
−x/n)/n)**1/2 ここにおいて、

【0050】a = 所望の信頼水準(一般に 0.9
5 又は 0.99) Z = 正規分布の標準ランダム変数 x = サンプルの成功数(この場合、ビジー・サンプ
ル) n = 全サンプル数

【0051】Z(a/2)の値は、統計表で見つけられ
る。例えば、信頼水準95%では、Z(a/2)は、
1.960に等しい。例えば、信頼水準99%では、Z
(a/2)は、2.576に等しい。

【0052】特定の例として、OS/2で実行している
IBMパーソナル・コンピュータを例にすると、10*
1/0.032=312のサンプルの合計が10秒間で
収集できる。さらに、最も大きい値を考慮してみる。x
が厳密にnの1/2である場合、(x/n* (1−x/
n))は、0.25を得る(これは初歩の演算によって
証明できる)信頼水準95%、10秒間で見つけられる
最大のエラーにおいて、デバイス利用率の評価は越えな
い。

【0053】1.96*(0.25/312)**1/2
= 0.055 = 5.5%

【0054】同様な計算では1分間のサンプルの最大エ
ラーは、2.3%を示す。このように、統計値は、前述
のデバイス・ビジー・サンプリング方法が、デバイス利
用率の評価によい正確度をもたらすことを示す。さら
に、この方法は、従来のデバイス利用率情報を得る方法
よりも簡単で低コストである。

【0055】周辺装置デバイス利用率を測定する代替方
式を次に述べる。論理ディスク・アクティビティを測定
するために、プロセスがAPIを通してファイル・シス
テムをアクセスする際に生成される、ファイル・システ
ム事象が、デバイス・ドライバ・セクションで述べた方
法によってトレースされ整理される。

【0056】CPUアクティビティについて説明する。
CPUアクティビティ、すなわち、利用率は、プロセス
を開始させ、プロセスをシステムの最低の優先レベルに
割り当てる好ましい実施例で測定される。本発明は、従
来技術のプロセスが実行できる仕事量を追跡するのでは
なく、最低優先権のプロセスがシステムで実行する時間
量を追跡する。最低レベルのプロセスは、高優先権の他
のすべてのプロセスがそのタスクを完了し、CPUをも
はや必要としない時に実行するだけなので、システムの
アイドル状態の時間の量(または他のタスクを実行可能
状態)は、アイドル・プロセスが実行した時間の量であ
る。好ましい実施例では、データ処理システムのタスク
は、4つのクラスに分けられる。(I)タイム・クリテ
イカル:最も高い優先権。(II)固定high:何れ
の定型タスクの前に実行する。(III)レギュラ:ア
プリケーション・プログラムに割り当てられた通常のク
ラス。(IV)アイドル:タイム・クリテイカル、固定
high、又はレギュラの優先権タスクが実行準備で、
実行しない段階である。

【0057】好ましい実施例では、OS/2オペレーテ
ィング・システムによって提供されるOS/2 RAS
トレース機構、すなわち、SYSTRACEは、低レベ
ルのプロセス・システム・アクティビティの事象トレー
スを得るために使用される。このSYSTRACE機構
に関しては、デバイス・ドライバ・セクションで詳細に
述べられる。他のオペレーティング・システムによって
提供される同様な他のタイプのシステム追跡機能は、本
発明の趣旨及び範囲内で、このユーティリティがもたら
す同様な方法で使用できる。以下は、特定のSYSTR
ACEユーティライゼーションの特徴を述べる。

【0058】デバイス・ドライバについて説明する。好
ましい実施例では、デバイス・ドライバーは、以下のS
YSTRACEユーティリティを実行するためのもので
ある。デバイス・ドライバは、通常の方法で取り付けら
れ、データ処理システムが読出す初期プログラム・ロー
ド(IPL :Initial Program Load) のCONFIG.S
YSファイルで識別される。フックと呼ばれる特別な命
令グループは、実行フローを追跡するために、システム
およびアプリケーション・プログラムにおいて重要であ
る。各フックは、独特な識別(主コードおよび従コー
ド)を有し、他のフックとは区別され、データ項目とし
てキー・プログラム変数、記号またはリターン・コード
を含む又は含まないこともある。OS/2の好ましい実
施例では、フックが、生成され、収集され、そしてバッ
ファ内に格納されるための手段を提供するSYSTRA
CEとして知られる機構が存在する。他のオペレーティ
ング・システムは、自身のシステム・ユーティリティを
使用して同様な機能性を提供する。このユーティリティ
は、フックを管理するための一般的なツールと見なされ
る。

【0059】デバイス・ドライバは、SYSTRACE
を通るすべてのフックを捉え、そこに含まれる望まない
フック又は情報をフィルタ・アウトし、制御プログラム
によって所望された正味のフック及び情報だけを通過さ
せる。デバイス・ドライバと制御プログラムは、前述の
データ収集機構を含む2つの素子である。

【0060】デバイス・ドライバ取り付け後、システム
初期状態設定中に64Kのバッファが割り当てられ、デ
ータがフォーマットされ、制御プログラムに渡される。
このバッファは、2つの32Kバッファに内部分割さ
れ、第2バッファは、デバイス・ドライバと制御プログ
ラム間の交信エリアとして使用される。交信エリアは、
変数のために予約された単純なデータ処理システム・メ
モリの一部であるこのメモリは、デバイス・ドライバお
よびアプリケーション・プログラムによってアクセス可
能である。以下のテーブル2は、第2バッファ32Kの
上位32ワード(すなわち最終部)を占める変数を定義
する。

【0061】 テーブル2 ------------------------------------------------------------------------ time_int equ OFFEOH OFFEO & OFFE2を使用する第 1DD変数 varAO equ OFFEOH タイムタグ算術に使用するワード varA2 equ OFFE2H タイムタグ算術に使用するワード start_time_equ OFFE4H OFFE4 & OFFE6を使用する第 2DD変数 varBO equ OFFE4H タイムタグ算術に使用するワード varB2 equ OFFE6H タイムタグ算術に使用するワード elapsed_time equ OFFE8H OFFE8 & OFFEAを使用する第 3DD変数 var_FFE8 equ OFFE8H タイムタグ算術に使用するワード var_FFEA equ OFFEAH タイムタグ算術に使用するワード Dekko_SEL equ OFFECH 第4DD:1ワードだけのDEKKO第1 OFFEC PID equ 第4DD: PIDの他のワード var_FFEC equ OFFECH タイムタグ算術に使用するワード var_FFEE equ OFFEEH タイムタグ算術に使用するワード flush equ OFFOH 1ならば、フックをフラッシュする、そうで なければ通常に処理する var_FFFO equ OFFOH タイムタグ算術に使用するワード switch equ OFFF2H 0でないならば、バッファをフラッシュ・ バッファに切り替える var_FFF2 equ OFFF2H タイムタグ算術に使用するワード reals equ OFFF4H リアル・モードのフックの数を累算する var_FFF4 equ OFFF4H タイムタグ算術に使用するワード var_FFF6 equ OFFF6H タイムタグ算術に使用するワード var_FFF8 equ OFFF8H タイムタグ算術に使用するワード int_nesting equ OFFAH 割り込みの深さのネスティングを維持する var_FFFA equ OFFAH タイムタグ算術に使用するワード current_time equ OFFCH OFFFC & OFFFEを使用する最後 のDD変数 oldtime equ OFFCH 前の値をセーブする bigtime equ OFFEH 時間の高位ワードを持続 shortbuf equ 02020H 約24バイト有効なバッファのサイズは、 08000 − shortbuf ------------------------------------------------------------------------

【0062】フッキングについて説明する。このデバイ
ス・ドライバのインストール中に、デバイス・ドライバ
は、将来の使用のためにラベル"strp_commo
n"に位置するオリジナルのSYSTRACEコードのコピーを
セーブする。OS/2システム・ルーチンDevHel
pへのコールが、下に示されるように、このアドレスを
得るために使用される。

【0063】 テーブル3 ------------------------------------------------------------------------ "strp_common"の位置を得るためのサンプル・アセンブリ・コード 。 AX:BX 変数へのポイント mov al,10D mov dl,DevHlp_GetDOSVar call DevHelp −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

【0064】暫くしてから、制御プログラムは、デバイ
ス・ドライバが、SYSTRACE核コードの部分のパ
ッチ(修正コード)をインストールする時に、デバイス
・ドライバに"読出し"を実行する。パッチは、双峰(イ
ンテル・マイクロプロセッサ・アーキテクチャの一部
で、当業者には周知の2つの異なるアドレス指定モード
のリアル又はプロテクト・モード)コードを有する。双
峰コードは、リアル又はプロテクトのいずれかのモード
で、SYSTRACEを通って来るフックを捉えること
ができ、関心あるこれらのタスクをフィルタ・アウトし
て、事象の追跡のような他のタスクを実行する。

【0065】アンフッキングについて説明する。その
後、システムが実行停止の準備に入る時、制御プログラ
ムは、前にセーブされたSYSTRACE核コードがS
YSTRACE機構の元の位置に再格納される時に、デ
バイス・ドライバに"書込み"を実行する。このように完
全にオリジナルのSYSTRACE機能を復帰させる。

【0066】データの収集について説明する。事象の追
跡は、データ処理システムで生じる事象を追跡するプロ
セスに関する。タイム・スタンプは、各事象と関係があ
る。事象は、格納され、年代順に処理される。事象が年
代順なので、事象は、データ処理システムで発生する連
続するアクティビティをもたらす。事象追跡の例が、以
下のテーブル4で示される。

【0067】 テーブル4 ------------------------------------------------------------------------ 事象追跡例 Time_0Event_0 データ Time_1 Event_1 データ Time_2 Event_2 データ Time_3 Event_3 データ Time_4 Event_4 データ Time_5 Event_5 データ . . . Time_n−1Event_n−1 データ Time_n Event_n データ ------------------------------------------------------------------------

【0068】SYSTRACE機構は、そのプロセスに
おいて、タイムスタンプを事象に記録するために低分解
能のシステム・クロックを使用する。これは、システム
資源の性能の分析を試みるのに、本発明にとって不適当
である。従って、データ処理システムのタイマーの1つ
が、事象間のデルタ(相違)時間を決めるのに使用さ
れ、及び前述のテーブル3のSYSTRACEレコード
の時間を高分解能のタイムラグと取り替える。

【0069】タイマーについて説明する。好ましい実施
例のハードウェア・タイマーは、インテル8253タイ
マーで、複数のタイマーを内蔵している。8253タイ
マーのさらに詳細な情報は、インテルのマニュアルの題
名"インテル構成部品データ・カタログ"(IntelCompone
nt Data Catalogue)で述べられており、インテル社(I
ntel LiteratureDept. in Santa Clara、CA.、)から入
手でき、ここでは、バックグラウンド材料として用いて
いる。タイマー0は、モード2にプログラムされる。こ
のモードは、高分解能のタイマーを提供し、0XFFF
Fで始まり、そして0X0000の下方へカウントして
繰り返す。タイマー機能は、再び0XFFFFで始ま
る、すなわち、言い換えると、タイマーは回ることにな
る。タイマー3は、8253タイマー・モジュールの他
のタイマーによって生成される通常の割り込みが禁止さ
れるように、部分的に初期化される。通常、タイマー/
カウンタの1つが、0をカウントしたとき、カウントさ
れた時間が経過したことをシステムが知るように、ある
割り込みが発生する。本発明の好ましい実施例では、タ
イマー/カウンタが所定の設定値に達した時に割り込み
が生ずるのは不都合である。従って、部分的にタイマー
3を初期化することによって割り込みの発生を禁止して
いる。これはまた、ウォッチドッグ・タイマー(他の可
能な実施例では、上記タイマーは、実現しているか、又
は、単にソフトウェア技術によってエミュレートされて
いるだけである)として知られている。数えられる実際
のタイム・インタバルは、1刻み、約0.838095
3445マイクロ秒である。ここで図11を参照する
に、システム・メイン・メモリ182に割り当てられ、
0X0000に初期化される内部レジスタ180は、イ
ンタバル・タイマーが0X0000から0XFFFFに
回る度に増分される。デバイス・ドライバは、タイマー
・モジュール174の内蔵タイマ172から値を170
で読出す。この値は、次に、その値が0X0000から
0XFFFFの効果的な範囲になるように自己補正す
る。この補正されたタイマー値176は、内部レジスタ
値178と組み合わせられ、1回りする前に約1時間ほ
どカウントできる32ビット・タイマー180を作る。
16ビットの高位ワード178は、内部レジスタのロー
ルオーバ・カウンタであり、及び低位ワード176も又
16ビットで、補正タイマー値である。この32ビット
値は、タイムタグ値180であり、下記で説明される。

【0070】タイミング保全性を維持するために、前述
の内蔵タイマは、ロールオーバを間違わないように、少
なくとも55ミリ秒毎に1度読出さなければならない。
作動SYSTRACE主コード04は、この必要条件に
十分である。主コード04は、タイマー割り込みを含め
て、割り込みを許可又は可能にする好ましい実施例で
は、各タイマーの割り込みは、32ミリ秒毎に生ずるの
で、このことは、55ミリ秒毎に少くとも1度の事象発
生があっても(及び8253タイマーの連結された読出
し)ミスのないことを保証することになる。これが82
53タイマーが、割り込みを含めて、事象発生毎に読出
される理由である。これで、タイマー・オペレーション
が理解されたので、いつタイマーが読み出されるかに説
明を向ける。

【0071】フックは、モニタ可能であり、及びデータ
処理システムの特定の応答のトリガとなる事象である。
OS/2での事象は、通常2つのフック、プレ・フック
及びポスト・フックによって記述される。例えば、I/
O要求が作られるとき、デバイス・ドライバは、要求が
I/Oアダプタに作られようとしていることをシステム
に合図するプレ・フックを生成するる。アダプタがI/
O要求を完了する際に、デバイス・ドライバは、ポスト
・フックにその事象の終了を合図する。プレ・フックと
ポスト・フックとの間の時間は、その事象の経過時間を
表す。特に、I/O要求のような事象が発生した場合、
その事象を扱うカーネルは、その事象を述べる情報とと
もにSYSTRACEルーチンを呼び出す。これによっ
て、SYSTRACEがその事象を処理することができ
る。フックがSYSTRACEパッチ・コードに到着す
る度に、すなわち、フックが呼び出され、SYSTRA
CEがそれを処理する度に、タイマーが読出され、高位
バイトが必要に応じて増分される(すなわち、前述のよ
うに、タイマーが回る場合)。そのフックは、所望のフ
ックの1つであるかどうか参照するために調べられる。
受け取ったフックがモニタされるフックであるならば、
さらに処理される。そうでなければ、フラッシュされ、
あるいは通常の処理を続ける。

【0072】そのフックが割り込み(04/xx)であ
るならば、デバイス・ドライバが、割り込みの処理に費
やされる時間を測定する。これは、プレ・フックを呼び
出し、割り込みハンドラがその割り込み要求を処理し始
めるとき生成される "割り込み開始" と呼ばれる事象、
及びポスト・フックを呼び出し、割り込みハンドラが割
り込み要求の処理を完了するとき生成される事象の"割
り込み終了"とともに、マッチングすることによって実
行される。このように、プレ・フックとポスト・フック
には1:1の対応があり、及び各々のタイムスタンプ
は、割り込みを処理する時間を生むためにお互いから差
し引かれる。

【0073】また、プレ・フックが生じた後、これに対
応するボスト・フックが生じるまえに引き続き、プレ・
フックが発生することも可能である。このフックのネス
ティングは、受けたいずれのポスト・フックが、最後に
受けたプレ・フックとペアとなるようにすることで容易
に取り扱われる。言い換えると、第1のフックの開始
後、他のフックが開始できるが、しかし、第2のフック
は、第1が終わる前に終了する。このネスティングのシ
ナリオにおいて、終了時間から開始時間を差し引き、そ
して全ネスティング・アクティビティの所要時間を差し
引くと、どれくらい外部の事象が時間を所要したかが分
かる。

【0074】フックがモード・スイッチ(02/xx)
であるならば、デバイス・ドライバは、第1モード切り
替えからスケジューラが異なるプロセスをディスパッチ
するまでの時間を追跡することによってCPUのリアル
・モードに費やした時間を測定する。この時間は、それ
からモードがプロテクト・モードに切り換わるまでの時
間から差し引かれる。

【0075】フックがスレッド・ディスパッチ(12/
01)であるならば、デバイス・ドライバは、最初に、
そのデータ・エリアからプロセス識別(PID: processid
entification)及びスレッド識別(TID: thread identi
fication)をセーブする(PID及びTIDは、OS/
2構造システムで共通の用語である。PIDは、OS/
2環境内のプロセスを独特に識別する16ビット番号で
ある。PID値は、0001で始まり、プロセスが生成
される毎に増分される。TIDは、複数のスレッドが1
つのプロセスに存在するのに必須である)。次に、デバ
イス・ドライバは、前のスレッド・ディスパッチ・フッ
ク(12/01)と同じPIDがあるかどうか、データ
を調べ、肯定の場合はフックがフラッシュされる。否定
の場合は、割り込みとリアル・モードで消費された時間
が、事象を述べるスケジューラによって提供されたPI
D及びTIDの既存のスレッド・ディスパッチ(12/
01)データに加えられる。全スレッド・ディスパッチ
・フックは、図12で示され後で説明される規格PER
FMON/DEKOVERTフォーマットに従うために
再フォーマットされ、デバイス・ドライバの32Kバッ
ファの1つに書込まれる。累算された割り込み時間及び
実モード時間を有する2つレジスタが、次にゼロにリセ
ットされる。

【0076】フックがFileSystemフック(3
0/xx)であるならば、現在のTID191は、図1
3で示されるように通常データの前に挿入される。

【0077】上記掲載の、及び他の重要なフックは、ま
た、PERFMON/DEKOVERTフォーマットと
なるように再フォーマットされ、そして32Kバッファ
の1つに書込みされる。各レコードの最初の8バイト
は、図12で示されるように、主コード183、副コー
ド184、データ長185、フラグ186及び4バイト
のタイムタグ188である。189で示される後続する
バイトDD1〜DDnは、フック・データである。バッ
ファの1つがいっぱいになると、すなわち、32Kスペ
ースの内24Kが使用されると、そのバッファは、従来
のプログラミング技術を使用して、切り換えられ、全3
2Kバッファが、コントロール・プログラムに利用可能
となる。データ収集は、他の32Kバッファに続く。

【0078】デバイス・ドライバは、また、それまで累
算されたデータとともにコントロール・プログラムを提
供できるように、コントロール・プログラムからの信号
でこれらのバッファを交換できる。同様なオペレーショ
ンは、トレース・コマンド(00/02)が出された場
合に生ずる。このとき、フックが受け取られて、第1デ
ータ・バイトは、0X00(トレースのオフを意味す
る)である。このケースにおいては、必然的にコントロ
ール・プログラムが、直ちに現在のバッファを受け、い
ずれのバッファでも、これ以降、データの累算は行われ
ない。

【0079】コントロール・プログラムとデバイス・ド
ライバ間の交信は、次に述べる通り、それぞれの32K
バッファで交信エリアを使用して実行される。コントロ
ール・プログラムが、デバイス・ドライバ及びデバイス
・ドライバのバッファをリセットできるように、コント
ロール・プログラムは、テーブル2で示されるように値
^2^の交信エリアの制御ワードをロードする。デバイス
・ドライバが、リセットを完了した時は、この値を^1^
に変更する。制御プログラムが、デバイス・ドライバ及
びバッファの休止を望む場合は、制御プログラムは、値
^1^の通信エリアの制御ワードをロードする。制御プロ
グラムが、デバイス・ドライバの再開を要求する場合
は、制御プログラムは値^0^の制御ワードをロードす
る。コントロール・プログラムが休止又は停止を望む場
合は、コントロール・プログラムは、前述したようにデ
バイス・ドライバをアンフックする。オペレーション
は、それから制御プログラムがデバイス・ドライバに他
の読出しコマンドを送り出すまで中断される。

【0080】データ整理について説明する。データ整理
低水準事象トレース性能データは、高水準システム・ア
クティビティに編成される。これは、以下の方法論によ
って達成される。最初に、プレ・フック及びポスト・フ
ック事象が前述されたようにマッチングさせられ、次
に、これらの2つのフックは、1つの事象に編成され
る。これは、その事象が、どれくらいの所要時間か分か
っており、単一のレコードがプレ・フック及びポスト・
フックを置き換えるために使用されるからである。そし
てこの事象タイミングは、必要とされた情報の所望の細
分性を有する。その上に、前述したように、事象は、コ
ントロール・プログラムに重要な事象レコードにおい
て、使用できる情報だけがフィルタリングされている。

【0081】アプリケーション・プログラミング・イン
タフェース(API:Applicationprogramming interface)
について説明する。データ収集機構へのAPIについ
て述べる。このAPIによって、クライアント・アプリ
ケーションが、性能データの検索及びメモリ・アナライ
ザをアクセスすることができる。

【0082】APIは、システム・パイプ及びトレース
・パイプと呼ばれる2つの名前付きパイプを通して実行
される。システム・パイプは、データ収集機構に対して
のパラメータの送受信に、クライアント・アプリケーシ
ョンによって使用される。トレース・パイプは、連続性
能データを受けるために、クライアント・アプリケーシ
ョンによって使用される。データ収集機構は、両方のパ
イプをつくる。クライアント・アプリケーションは、パ
イプにアクセルするためにOS/2機能コールのDos
Open及びDosCloseを呼び出す。両パイプ
は、ブロッキング・モードでメッセージ・パイプとして
作られる( "IBMオペレーティング・システム/2、
バージョン1.2、プログラミング・ツール及び情報"
(IBMOperating System/2 Version 1.2 Programming To
ols and Information)を詳細な情報として参照された
い。ここではバックグラウンド材料として参照してい
る)。

【0083】システム・パイプについて説明する。クラ
イアント・アプリケーションは、システム・パイプを通
してデータ収集機構のアクションを制御する。クライア
ント・アプリケーションは、パイプにメッセージ・モー
ドで読書きする。パイプに書込まれた各メッセージは、
構文図表からの1つのパラメータを表す。メッセージ
は、数字(例えば、10進の10は、ストリング"10"
のように送られなければならない)を含むASCIIZ
ストリング(つまり、空白での終了、すなわち、2進の
ゼロの1バイト)でなければならない。

【0084】データ収集機構は、システム・パイプを通
してクライアント・アプリケーションへ応答を送り返
す。ローカル・マシンのシステム・パイプのOS/2機
能コールDosOpenのクライアント・アプリケーシ
ョンによって使用される名前は、\PIPE\SYSTEM.SPMで
ある。リモート・サーバでのパイプの名は、\\server
_name\PIPE\SYSTEM.SPMである。

【0085】メモリ・アナライザ(/THESEUS theseus_c
ommand)からの出力は、また、システム・パイプを通し
てデータ収集機構からクライアント・アプリケーション
に送り出される。最初に、リターン・コードが送り出さ
れる。それから、メモリ・アナライザからの出力があれ
ば、コマンドが送り出される。メモリ・アナライザから
の各メッセージは、1行で表される。最大ライン長さ
は、100文字である。この出力の後には、空白キャラ
クタ(00)が続く5つの符号(#####)によって
表される実行メッセージが続く。システム・パイプは、
クライアント・アプリケーションが、OS/2機能コー
ルDosCloseとともにパイプを閉じるときデータ
収集機構によって切り離される。

【0086】図14は、システム・パイプを通してデー
タ収集機構に送り出されるメッセージの構文図表を説明
する。構文パラメータは、テーブル5で説明される。パ
ラメータは、文字の連続セットとして表される。大文字
のキャラクタのパラメータは、キーワードである。

【0087】各パラメータは、空白文字(2進ゼロ)で
終了しなければならない。例えば、注釈"Performance d
ata for SERVER1"をSPMアプリケーションに送るに
は、以下のメッセージを送る:

【0088】/COMMENT Performance data for SERVER 1 テーブル5 データ収集機構パラメータ ------------------------------------------------------------------------ パラメータ アクション ------------------------------------------------------------------------ /START トレース・パイプ・レコードが、データ収集機構によって送り出 される資源の型を示す。また、テーブル8−3を参照する。 */STARTパラメータと共に使用されるときのCPU、物理 ディスク、RAM及びスワップ資源を示す(論理ディスクは示さ ない)。/STOPパラメータと共に使用されるとき、すべての 資源を示す。 CPU CPU資源を示す。 PHYSICALDISK 物理ディスクの資源を示す。 LOGICALDISK 論理ディスク資源を示す。 RAM ランダム・アクセス・メモリ資源を示す。 SWAP スワッピング資源を示す 注意:いずれかの前のオプションが、指定される場合、指定タイプ(テ ーブル8−3で"No Type"として指定された)以外の全ト レース・パイプ・レコードが含まれる。 ------------------------------------------------------------------------ パラメータ アクション /STOP トレース・パイプ・レコードが、データ収集機構によって送り出 されない資源のタイプを示す。/STARTのオプション記述を 参照する。また、テーブル8−3も参照する。 ------------------------------------------------------------------------ ##### 実行メッセージ。/START又は/STOPパラメータが続く 、資源明細メッセージの終了を示す。 ------------------------------------------------------------------------ /COMMENT 収集データに注釈を埋め込む。 string 現在の収集データに埋め込まれる注釈。コメントは、40文字以 内。長いコメントは、40文字に先頭部を除去され、データ収集 機構によってエラーなしで受けられる。ストリングが、埋め込ま れたブランクを含むならば、ストリングは、独立したメッセージ として送り出される。 ------------------------------------------------------------------------ /EXIT データの受信を停止し、メモリからデータ収集機構を解放する。 データ収集機構によって開始していた全プロセスもまた、停止す る(IDLECPU及びTHESEUS)。 ------------------------------------------------------------------------ /INITDATA トレース・パイプを通してデータ収集機構から初期化レコードが 送られる。以下のレコードが含まれる: − IDLECPUプロセスに対してのプロセス情報レコード。 これは、CPUがアイドルの時の時間を求めるのに、データ収集 機構によって使用されるプロセスである。このプロセスは、アイ ドル優先権レベル0(ゼロ)で実行する。 − システム情報レコード。 − システムで現在実行中の全処理のプロセス情報レコードこれ らのレコードは、メモリ・アナライザが開始している時だけ、送 り出される(/THESEUS STARTパラメータを参照) 注意:CPU資源は、プロセス情報レコードを得るために開始(テーブ ル8−3の/START CPUパラメータを参照)しなければ ならない。 ------------------------------------------------------------------------ パラメータ アクション /TOD トレース・パイプを通してデータ収集機構によって送り出された 日付レコード間のインタバル(秒)を指定する。 interval日付レコード間の秒数可能な値の範囲は、1〜100秒である。 デフォルトは、5秒であるが、しかし、intervalパラメ ータは、従来のアプリケーションによって他の値に設定できる。 ------------------------------------------------------------------------ /RAM サンプリング・ランダム・アクセス・メモリで使用される期間を 制御する。サンプルの情報に関しては、テーブル8−3のRAM レコード記述を参照する。 注意:このパラメータは、/START RAMを意味しない。RAM 資源を可能にする詳細な情報は、テーブルの冒頭の/START RAMを参照する。 working_set_period ワーキング・セット内の物理的RAMの量を求めるのに使用され る秒単位のタイム・フレーム。各サンプルは、最後のワーキング ・セット期間中に使用されたRAMの量を表す。可能な値の範囲 は、5〜3600である。デフォルトは、60秒であるが、しか し、working_set_periodパラメータは、従来のアプリケーション によって他の値に設定できる。 注意:ワーキング・セット期間全体が経過するまで、ワーキング・セッ トは、ワーキング・セットのRAMの比率だけを表す。これは、 /RAMパラメータを出しているのか、又はワーキング・セット 期間が変わったかの理由による。 sample_interval RAMサンプル間の秒数である。サンプルが実行される度に、R AMトレース・パイプ・レコードが送り出される。可能な値の範 囲は、5〜3600である。デフォルトは10秒であるが、しか し、sample_interval パラメータは、従来のアプリケーションに よって他の値に設定できる。 注意:性能上の理由から、SPMアプリケーションは、working_set_ periodパラメータ値をsample_interval パラメータ値で割った値 は、200以下を必要条件とする。 ------------------------------------------------------------------------ パラメータ アクション /THESEUS メモリ・アナライザが、データ収集機構によって開始されていな ければ、メモリ・アナライザを開始する。プログラミング・イン タフェースをアプリケーションからメモリ・アナライザに提供す る。 注意:メモリ・アナライザ全画面インタフェースは、この様に、データ 収集機構によって開始するメモリ・アナライザのコピーからは利 用できない。 START メモリ・アナライザが、データ収集機構によって開始させられて いない場合、メモリ・アナライザを開始させる。 theseus_command いずれの有効なメモリ・アナライザ・コマンド。theseus_ commandは、コマンドがブランクを含むならば、独立したメッセ ー ジとして送り出されなければならない。 注意:全てのメモリ・アナライザ・コマンド(theseus_command)は、 THESEUS LOG コマンドを含めて、メモリ・アナライザによって直 接解読される。全アクションが、メモリ・アナライザ全画面イン タフェースでタイプされたかのように、データ収集機構によって 開始させられたメモリ・アナライザの基準ポイントから起こる。 ------------------------------------------------------------------------ パラメータ アクション /NOTHESEUS メモリ・アナライザが、データ収集機構によって開始させられた 場合、メモリ・アナライザを終了する。これは、収集マシンのメ モリ・アナライザと連結されたRAMオーバヘッドをセーブする 。しかしながら、現在システムで実行している処理(IDLECPU プ ロセスは別として)のプロセス情報レコードは、トレース・パイ プを通して送り出されない。これは、/INITINFOパラメ ータが送り出されるとき実行しているプロセスを含む。 ------------------------------------------------------------------------ /DEBUG データ収集機構が、クライアント・アプリケーションからワーキ ング・ディレクトリのログ・ファイルSPMLOG.LOGに受 け取るログ・パラメータに存在することを示す。 ------------------------------------------------------------------------

【0089】最初の文字にスラッシュ(/)を有する全
てのパラメータのために1つのステータス・メッセージ
が、データ収集機構によってクライアント・アプリケー
ションに送り出されるこのステータス・メッセージは、
パラメータからの要求の成功の徴候を提供する。ステー
タス・メッセージのフォーマットが、以下のテーブルで
記述される。

【0090】 -------------------------------------------- SPMリターン・コード 2バイト(ワード) サービス・リターン・コード 2バイト(ワード) 確保した 2バイト(ワード) --------------------------------------------

【0091】次に、/THESEUSパラメータ(thes
eus_command) で指定されたいずれのメモリ・アナライ
ザ・コマンドからの出力が、クライアント・アプリケー
ションに送り出される。各メッセージは、メモリ・アナ
ライザからの1行を表す。実行メッセージ(####
#)はこの出力に続く。

【0092】SPMリターン・コード・フィールドにお
いて復帰できる値が、テーブル6に含まれる。すべての
値は、16進で与えられる。

【0093】 テーブル6 SPMリターン・コード ------------------------------------------------------------------------ コード 記述 X^0000^ エラーなし、パラメータは受け入れられた。 ------------------------------------------------------------------------ X^0007^ 不当なパラメータ。サービス・リターン・コードは、失敗したパ ラメータの一連番号を有する。スラッシュ(/)で始まる各パラ メータは、その一連番号を1にリセットする。 ------------------------------------------------------------------------ X^0010^ working_set_period値が、範囲外である(/RAMパラメータ) 。 ------------------------------------------------------------------------ X^0011^ sample_interval値が、範囲外である(/RAMパラメータ)。 ------------------------------------------------------------------------ コード 記述 X^0012^ smple_interval値は、複数のworking_set_period値でない(/R AMパラメータ)。 ------------------------------------------------------------------------ X^0013^ sample_interval値で割られたworking_set_period 値は、200 より大きい(/RAMパラメータ)。 ------------------------------------------------------------------------ X^0014^ /TODインタバル値が、範囲外である。 ------------------------------------------------------------------------ X^0108^ OS/2機能コールDosExecPgmを通してOS/2システムに TRACE.EXEオン・コマンドを出すことができない。 ------------------------------------------------------------------------ X^0208^ DosExecPgm を通してOS/2システムにTRACE.EXEオフコマンド を出すことができない。 ------------------------------------------------------------------------ X^0408^ OS/2機能コールDosKillProcess を通してIDLESPU.EXEプログ ラムを始めることができない。 ------------------------------------------------------------------------ X^0409^ OS/2機能コールDosKillProcess を通してIDLESPU.EXEプログ ラムを止めることができない。 ------------------------------------------------------------------------ X^0806^ メモリ・アナライザが、このOS/2バージョンを認めない。 ------------------------------------------------------------------------ X^0807^ メモリ・アナライザと交信できない。 ------------------------------------------------------------------------ X^0808^ OS/2機能コールDosExecPgm を通してTHESEUS.EXEプログラム を始めることができない。 ------------------------------------------------------------------------ X^0809^ OS/2機能コールDosKillProcess を通してTHESEUS.EXEプログ ラムを止めることができない。 ------------------------------------------------------------------------ コード 記述 X^1003^ デバイス駆動機構THESEUS.SYSは、CONFIG.SYS ファイルからロー ドされなかった。 ------------------------------------------------------------------------ X^1005^ デバイス・ドライバTHESEUS.SYSの不当なバージョンが、CONFIG. SYSファイルからロードされなかった。 ------------------------------------------------------------------------ X^2003^ デバイス・ドライバSPMDCF.SYSは、CONFIG.SYSファイルの中で行 方不明である。 ------------------------------------------------------------------------ X^2004^ エラーが、DosOpen又はDosReadを通してSPMDCF.SYSデバイス・ド ライバを初期化中に発生した。 ------------------------------------------------------------------------ 注意: サービス・リターン・コードは、このテーブルで別な方法で述べ ない限り、要求されたOS/2サービスからのリターン・コード である。 ------------------------------------------------------------------------

【0094】トレース・パイプについて説明する。トレ
ース・パイプは、データ収集機構から性能データを検索
するためにクライアント・アプリケーションによって使
用される。トレース・パイプは、一方通行の名前付きパ
イプである。すなわち、クライアント・アプリケーショ
ンへのデータ収集機構である。単体のマシン上に、Do
sOpen機能コールのクライアント・アプリケーショ
ンによって使用されるパイプの名は、\PIPE\TRACE.SP
Mで、リモート・サーバでのパイプ名は、\\server_na
me\PIPE\TRACE.SPMである。トレース・パイプは、最
大メッセージ長さが8キロバイトのメッセージ・ストリ
ーム名前付きパイプ(バイト・ストリーム名前付きパイ
プに対して)である。クライアント・アプリケーション
は、トレース・パイプを通して性能データの収集及び伝
送を停止させるためには、システム・パイプに対して/
STOP又は/EXITメッセージを送らねばならな
い。

【0095】データは、トレース・パイプを通して伝逹
する前にデータ収集機構によってバッファ内で待ち行列
に入れられる。トレース・パイプのメッセージは、1つ
以上の完全なトレース・パイプ・レコードを有する。デ
ータが利用可能ならば、メッセージは、パイプを通して
少くとも4秒毎に伝送される。

【0096】クライアント・アプリケーションが、デー
タ収集機構から性能データを収集する連続アクションは
次の通りである。 1. システム・パイプをオープンする。 2. システム・パイプを通して適切なメッセージをデ
ータ収集機構(SPMDCF)に送り(/STARTメ
ッセージを含む)、適用できるリターン・コードを得
る。 3. トレース・パイプをオープンする。 4. データ収集の停止が用意されるまで、トレース・
パイプからデータを読出す。 5. システム・パイプを通してデータ収集機構へ/S
TOP又は/EXITメッセージを送信し、適用できる
リターン・コードを得る。 6.システム及びトレース・パイプをクローズする。

【0097】トレース・パイプのレコード・フォーマッ
トを説明する。SPMトレース・パイプを通して送られ
る一般のレコード・フォーマットは、

【0098】 -------------------------------------------------------------- レコード長 トレース・パイプ・コード 調整可能なデータ長 (1バイト) (1バイト) (最大250バイト) --------------------------------------------------------------

【0099】トレース・パイプ・レコードを説明する。
図15〜図17にリストされたレコードは、トレース・
パイプを通してSPMアプリケーションからクライアン
ト・アプリケーションに送られる。

【0100】テーブル定義 ASCIIZストリング 文字のストリングで、後に空白(ASCII 00)が
続く。最大文字数は、250文字である。

【0101】データ・オーバフロー データがデータ収集機構によって破棄されたことを示
す。通常、これは、クライアント・アプリケーションの
トレース・パイプからのデータ読出しの速度が十分でな
い場合に生ずる。

【0102】ダブルワード インテルのフォーマットで4バイト(すなわち、バイト
/ワード確保)IBMC/2では、これは、無記名の長
い整数(ULONG)である。

【0103】経過時間 オペレーション中に生ずる全タイマー的時間測定。これ
は、CPUを使用しているオペレーションが、ビジーで
あった時間と解釈しない。むしろ要求がいつ提出された
か、及びいつオペレーションが完了したかの間の時間で
ある。例えば、スワップがスワッパーによって要求され
ると、次に、スワッパーは、ディスクI/Oが完了する
まで、CPUを他のプロセスに引き渡す。それから、ス
ワッパーは、オペレーションを完了する。経過時間に
は、スワッパーがディスクを待つ間の中断時間を含む、
全時間が含まれる。

【0104】第1物理ディスクのID IDは、システムによって第1物理ディスクに割り当て
られる。各物理ディスクは、第1物理ディスクに割り当
てられたIDから始まって、連続番号を割り当てられ
る。

【0105】物理ディスクの数 システムに取り付けられた物理ディスクの全体の数。

【0106】セクタ数 512バイトのセクタの数。

【0107】物理ディスクID 物理ディスクに割り当てられたID。

【0108】プロセス名 これは、.EXEヘッダで定義されたプロセス名又は.
EXEファイル(ピリオド又はファイル拡張を含まな
い)のファイル名である。

【0109】従来のプロセスの実行タイム 従来のプロセスを実行している間に生じる全体的なタイ
マー(割り込みレベルで消費された時間を含む[従来の
プロセスの割り込み所要時間])。

【0110】従来のプロセスの割り込み所要時間 従来のプロセスを実行中の割り込みレベルで生じる全体
的なタイマー。

【0111】1日のレコードの最後のタイムからの時間 最後のレコードが送り出された以降のタイマー的経過時
間。この値は、正確な計算のために提供される。

【0112】タイマティック 値は、8253/8254チップから得る。この値は、
0.8380953445を掛けることによってマイク
ロ秒に変換される。すなわち、マイクロ秒 = タイマ
ティック × 0.8380953445

【0113】TRACECMD ユーザがトレース・コマンドを出したことを示す。

【0114】ワード インテルのフォーマットでは2バイト(すなわち、バイ
ト確保)。IBM C/2では、無記名の短い整数(U
SHORT)である。

【0115】グラフィッカルな提示について説明する。
資源利用率及び前述の性能モニタをグラフィッカルに表
すために、本発明の好ましい実施例は、OS/2提示管
理ウィンドウ及びグラフィックス機能を使用する。この
方法によって、ユーザは、関連する情報の複数のグルー
プを複数のウィンドウ(又はビューポート)で同時に考
察することができる。1つの主ウィンドウは、親ウィン
ドウと呼ばれ、子ウィンドウと呼ばれるすべての他のウ
ィンドウを有する。これらのウィンドウが資源利用率の
情報を表示する。図6で示されるように、資源情報が、
ある種のデータ処理システム資源の利用率を表すグラフ
形式で提示されている。資源利用率データは、ユーザが
設定可能の時間(例えば、最大600秒間)を提示し
て、すなわち、図8の122で示されるサンプリング期
間を提示して表示される。従って、瞬間、及び現在/過
去の資源利用率のレコードを提供する。ユーザは、全て
の又は一部の資源モニタの表示を選択でき、又、ウィン
ドウの表示文字を修正できる。他の情報、又は同一情報
を他の形式で子ウィンドウで提示できる。どのように及
びいつ、データを子ウィンドウに表示するかを制御する
提示パラメータは、ユーザが主ウィンドウのメニュー
(アクション)バーで変更できる。当業者が理解されて
いるように、標準ウィンドウズ・プログラミング技術
が、所望のグラフィッカル表現を提示するために、OS
/2提示管理インタフェースに使用されている。提示管
理は、データを表示ウィンドウ又はビューポートに実際
に提示するエンティティである。他のオペレーティング
・システムには、例えば、Microsoft^s Window2(Micro
soft社の登録商標)、HP^s New Wave3(Hewlett-Packar
d社の登録商標)、XWindows4(M.I.T.の登録商標)、又
は,AIXWIndows5(IBM社の登録商標)とDOSとの組み
合わせ等がある。これらは、本発明の趣旨及び範囲内
で、ウィンドウ同様な提示に同じようなプログラミング
・インタフェースを備えることができ、そして同様にそ
れぞれのシステムで資源モニタの提示に使用できる。

【0116】最後に、図18は、本発明の好ましい実施
例に使用した概略的なデータ処理システムを示す。CP
U190、RAM194及び周辺装置デバイス196
(直接アクセス記憶装置デバイス、すなわち、DASD
として示されている)のこれらは、バス構造を通して相
互接続されている。同様に、ROS192及びポインタ
/入力デバイス200を有するキーボード198が、こ
のバス204に取り付けられている。これらは、好まし
い実施例でモニタ可能な資源である。また、このバスに
はユーザに資源モニタの結果を提示できるディスプレイ
手段202が付けられている。このディスプレイ手段
は、同様に共通バス204に付けられる。特定のデバイ
ス間の高速パス及び図示されている通常のバス以外のバ
スを含む他の変更は、本発明の領域内であり、本発明の
クレームの趣旨及び範囲内である。

【0117】

【発明の効果】前述のように、トレース付きのこのデー
タ処理システム利用率モニタは、ハードウェアの特殊化
なしで、及びモニタされるシステム性能に重大な影響を
与えることなしに、リアル・タイムの性能モニタリング
を提供する。

【0118】本発明の好ましい実施例に関して説明を行
ったが、これらは、ここで開示した正確な構造を制限す
るものではなく、及び本発明の範囲内での全ての変更及
び修正の権利を保留する。

【0119】付録A−1〜A−13は、APIにインタ
フェースするためのサンプルCソース・コードである。 付録A−1 SPM API Cサンプル・プログラム プログラムの目的:このプログラムは、SPMシステム
・パイプをオープンし、SPM APIを使用してコマ
ンドをSPMデータ収集機構に送る。特に、プログラム
は、データ収集機構に対してスワッピング・アクティビ
ティを報告するように命令する。次に、プログラムは、
トレース・パイプをオープンしてレコードを読出す。こ
のプログラムは、トレース・パイプからのスワップ・レ
コードを使用し、及びこれらのレコードを標準出力装置
に表示する。ユーザが、F3キーを押すと、プログラム
はSPMデータ収集機構にデータの送り出しの停止を命
令し、及びプログラムは、パイプおよび出口をクローズ
する。プログラムのデモンストレーション。このプログ
ラムは、アプリケーション・プログラミング・インタフ
ェース(API:Application Programming Interface)を
通してSPMデータ収集機構との交信例を提供する。プ
プログラムは、SPMシステム・パイプおよびトレース
・パイプ使用の1用例を示す。 ツールキット・ヘッダ・ファイルの必須セクションの記
載 構造をバイト境界で実行させるIBM C/2の語用 付録A−2 必須ヘッダ・ファイルの記載 グローバル定義 SPMシステム・パイプ・リターン・コードの構造 プロトタイプ定義 SPMDCFと交信開始 SPMDCFとの交信停止 性能データの読出し 名前付きパイプをオープンする 名前付きパイプをクローズする 名前付きパイプからデータの読出し 名前付きパイプへのデータの書込み 主手続きの開始 主要部 メインが、機能を呼び出す1)SPMデータ収集機構と
交信開始を行い、2)SPMトレース・パイプからのデ
ータを読出して翻訳し、3)SPMデータ収集機構との
交信をクローズする。トレース・パイプ及びシステム・
パイプは、ヘッダファイルで定義され、初期化される 付録A−3 SPMデータ収集機構にデータを送るように命令する データを読出し、所望の情報を出力する SPMデータ収集機構にデータの送り出しの停止を命令
する 主手続きの終了 InitSPMDCF:SPMデータ収集機構と交信開
始する。システム・パイプをオープンし、スワッピング
・アクティビティについての性能データを送るよう命令
し、次に、トレース・パイプをオープンする。エラーが
生じた場合、OS/2サービス・リターン・コードに復
帰する。 SPMDCFリターン・コード構造 付録A−4 システム・パイプをオープンしてSPMデータ収集機構
と交信を開始する。スワッピングが検知された場合、S
PMデータ収集機構にトレース・パイプのレコードを送
るよう命令する。 SPMデータ収集機構にトレース・パイプの上のレコー
ドを送るように命令する SPMデータ収集機構に対してこのメッセージが完了し
たことを告げる。SPMデータ収集機構からの応答を読
み、チェックする 付録A−5 SPMDCFからのデータを読むためにトレース・パイ
プをオープンする ReadTraceData この機能は、スワッピングが発生することを指示するレ
コードについてトレース・パイプをモニタする。そのよ
うなレコードがトレース・パイプから読出される場合、
レコードはプリントされる。F3キーを押すと機能が終
了する トレース・データのバッファ トレース・バッファの位置ホルダ バッファのレコードのポインタ 名前付きパイプ・ファイル・ハンドルのローカルの記憶
装置 ローカルの記憶装置(高性能) F3キーが、押されるまでトレース・パイプからデータ
を読出す;データを受信するまで呼び出す。ERROR
_MORE_DATAならば、新しいバッファを読出
す。 付録A−6 ERROR_MORE_DATAは、予期されない、異
常環境で発生する。 エラーをチェックする そうである場合、終了 現在のトレース・バッファを指示するように、トレース
・バッファ・ポインタをセットする バッファ内の現在のレコードを指示するように、トレー
ス・レコード・ポインタをセットする 所望するトレース・レコードのためにバッファをスキャ
ンする 送りspmRecordポインタ スプリアス・トレース・レコード長のチェック このエラーは、通常の条件下では発生してはならない。 付録A−7 レコードの種類を翻訳し、コンパイルを開始する このサンプル・プログラムでは、スワップ・レコードだ
けをシークする レコードをスワップ・インする レコードをスワップ・アウトする このレコードを無視する 切り替えて終了 そのまま終了 付録A−8 ユーザが放棄(F3キー)するかどうか確認する キーストロークを待たない F3キーが押された StopSPMDCF:SPMデータ収集機構にトレー
ス・パイプの性能データの送信を停止するように命令す
る。次に、トレース及びシステム・パイプをクローズす
る。 SPMデータ収集機構にレコードの送信停止を命令する SPMデータ収集機構にメッセージが完了したことを告
げる。 付録A−9 SPMデータ収集機構からの応答を読み、チェックする トレース・パイプをクローズする システム・パイプをクローズする 付録A−10 OpenPipe:パラメータ・パイプによって指示さ
れたパイプをオープンする試みを行う。パイプがビジー
ならば、この手順は、待機し、パイプがフリーになって
から再びそのパイプのオープンを試みる。パイプが再び
ビジーならば、次に、ERROR_PIPE_BUSY
のリターン・コードが復帰される。エラーが発生した場
合、DosOpenリターン・コードが復帰される。す
でにパイプがオープン状態であるならば、オープンを実
行しない そうである場合は終了 オープンしようとしている名前付きパイプに対して、正
しいファイル・モードをセットする システム・パイプ トレース・パイプ パイプのオープンを試みる 付録A−11 ファイル属性 オープン・フラグ = 生成又はオープンする オープン・モード 確保された 2回試みて、エラー・リターン・コードを得たならば、
エラー・リターン・コードを復帰する。 リターン・コードで実行する パイプが、オープンしている、フラグをセットする 名前付きパイプが、所望する状態であるか、確認する 名前付きパイプが、フリー又は時間切れまで待機する エラーが発生した場合、DosOpenからリターン・
コードを戻す 付録A−12 切り替えて終了 1度のDosOpenが試みられたか、又はエラーが発
生しない場合以外は、終了する 試みたが失敗したことを示すフラグをセットする 終了する ClosePipe:パラメータによって示されたパイ
プをクローズし、そしてDosCloseリターン・コ
ードを復帰する。パイプ構造のパイプ状態を設定する。
そうであれば終了する 付録A−13 WritePipe:データをパラメータ・パイプによ
って示されたパイプに書込みする。データは、バッファ
に格納され、及びデータ長は、BufLenに格納され
る。データが、ASCIIZストリングであるならば、
BufLenをゼロにセットすると、WritePip
eがそのストリング長を計算する。DosWriteリ
ターン・コードは、データ・バッファよりも少ないデー
タで書かれた以外は、復帰され、ERROR_MORE
_DATAが、復帰される。DosWriteエラーが
発生したならば、書込まれたバイト数は、ゼロにリセッ
トする。指定がない場合は、バッファの長さを計算する ASCIIZストリング そうでなければ終了する データをパイプに書く 書込みが、成功したかチェックする データの一部が、書込まれなかった そうであれば、終了する 付録A−14 ReadPipe:パラメータによって指示されたパイ
プを読出す。データは、パイプから指定されたバッファ
に読込まれ、データの長さは、パイプ構造に戻される。
BufLenは、データ・バッファのサイズを示す。D
osCloseリターン・コードを復帰する。エラーが
発生したならば、読出されたバイト数をゼロに設定す
る。 SAMPLE Cサンプル・プログラム・ヘッダ・ファ
イル(.H) SAMPLEヘッダ・ファイルは、SAMPLE.Cフ
ァイルで使用される記号的定数を定義する。SAMPL
Eローカル手順宣言は、これらが使用される前に宣言さ
れたことを確実にするためにこのファイルに現れる。 付録A−15 DosCreateNmPipeに対してのオープン・
モード DosOpenに対してのオープン・モード OpenMode 0010000011000000 0010 DosMakeNmPipeに対してのパイプ・モード 読取り書込み要求のデータを待つ 構造およびタイプの定義 PIPEDEF構造は、パイプに関する情報を所有する 付録A−16 SPMシステム・パイプ(SPMDCFとアプリケーシ
ョンとの交信) 実行時間ステータス・フィールド オープン・モード データの送受信 パイプ・モード 出力バッファサイズ 入力バッファサイズ パイプがビジーの場合、ミリ秒ほど待機する パイプの名前 パイプ・バッファへのポインタ SPMトレース・パイプ(SPMDCFからアプリケー
ションに送り出したトレース・レコード) 実行時間ステータス・フィールド オープン・モード データ専用読出し パイプ・モード 出力バッファサイズ 入力バッファサイズ パイプがビジーの場合、ミリ秒ほど待機する パイプの名前 パイプ・バッファへのポインタ

【図面の簡単な説明】

【図1】システム性能モニタの概念モデルを示す図であ
る。

【図2】システム性能モニタの機能モデルを示す図であ
る。

【図3】モニタされるシステム・メモリのカテゴリを示
す図である。

【図4】ワーキング・セット計算タイミングを説明する
図である。

【図5】システム・メモリ使用アルゴリズムの流れ図で
ある。

【図6】測定されるシステム資源のグラフィッカルな表
示を示す図である。

【図7】ビューポート・メニューの使用を示す図であ
る。

【図8】ビューポート・メニューの使用を示す図であ
る。

【図9】ユーザ入力及び更新パラメータの受信の流れ図
である。

【図10】周辺装置デバイス利用率がどのように測定さ
れるかを示す図である。

【図11】高分解能システム・タイマーの構築を示す図
である。

【図12】内部デバイス・ドライバ・バッファに格納さ
れる一般のレコードのフォーマットを示す図である。

【図13】内部デバイス・ドライバ・バッファに格納さ
れる一般のレコードのフォーマットを示す図である。

【図14】性能データ収集制御プログラムにインタフェ
ースするアプリケーション・プログラミングのための構
文構成を示す図である。

【図15】トレース・パイプ・レコードを説明する図で
ある。

【図16】トレース・パイプ・レコードを説明する図で
ある。

【図17】トレース・パイプ・レコードを説明する図で
ある。

【図18】データ処理システムを示す図である。

───────────────────────────────────────────────────── フロントページの続き (72)発明者 サミュエル・リー・エムリック アメリカ合衆国テキサス州、オースティ ン、ウェルダン・スプリングス・コート 8003番地 (72)発明者 ティモシー・マンフレッド・ホルク アメリカ合衆国テキサス州、オースティ ン、ロメリア 1401番地 (72)発明者 ジェームス・ホイエット・サマーズ アメリカ合衆国テキサス州、ラウンド・ロ ック、フリント・ロック・ドライブ 2001 番地 (56)参考文献 特開 平3−53349(JP,A) 特開 平1−173139(JP,A) 特開 昭60−65337(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 処理装置、ランダム・アクセス・メモ
    リ、および少なくとも1つの周辺装置を備えるデータ処
    理システムにおいて、システムの資源利用率を示す方法
    であって、 第1のデバイス・ドライバを用いて、特定の時点での割
    り当て済みワーキング・セット・メモリ量を計算し、上
    記特定時点から所定のワーキング・セット・メモリ期間
    中に上記処理装置によって新たにアクセスされたメモリ
    部があることを判断し、該メモリ部のメモリ量を上記割
    り当て済みワーキング・セット・メモリ量に加算するこ
    とによって上記ランダム・アクセス・メモリの利用率を
    測定するステップと、 第2のデバイス・ドライバを用いて、上記少なくとも1
    つの周辺装置に送信されるハードウエア・タイマ割り込
    み信号の総数と上記周辺装置がビジーであることを標示
    する該周辺装置からの応答信号の数とを測定し両者の比
    率として、上記少なくとも1つの周辺装置の利用率を測
    定するステップと、 上記2つの測定ステップの結果から、上記ランダム・ア
    クセス・メモリおよび上記少なくとも1つの周辺装置の
    利用率を示すシステム資源データを生成し、該資源使用
    データをリアル・タイムで表示するステップと、 を含むデータ処理システムの資源利用率を示す方法。
  2. 【請求項2】 処理装置、ランダム・アクセス・メモ
    リ、および少なくとも1つの周辺装置を備えるデータ処
    理システムにおいて、システムの資源利用率を示す方法
    であって、 第1のデバイス・ドライバを用いて、特定の時点での割
    り当て済みワーキング・セット・メモリ量を計算し、上
    記特定時点から所定のワーキング・セット・メモリ期間
    中に上記処理装置によって新たにアクセスされたメモリ
    部があることを判断し、該メモリ部のメモリ量を上記割
    り当て済みワーキング・セット・メモリ量に加算するこ
    とによって上記ランダム・アクセス・メモリの利用率を
    測定するステップと、 第3のデバイス・ドライバを用いて、最低の優先レベル
    を持つプロセスを始動し、該プロセスが上記処理装置上
    で実行中のアイドル状態時間を測定することにより、上
    記処理装置の利用率を測定するステップと、 上記2つの測定ステップの結果から、上記処理装置およ
    び上記少なくとも1つの周辺装置の利用率を示すシステ
    ム資源データを生成し、該資源使用データをリアル・タ
    イムで表示するステップと、 を含むデータ処理システムの資源利用率を示す方法。
  3. 【請求項3】 ランダム・アクセス・メモリと処理装置
    と少なくとも1つの周辺装置とをシステム資源として有
    するデータ処理システムであって、 第1のデバイス・ドライバを用いて、特定の時点での割
    り当て済みワーキング・セット・メモリ量を計算し、上
    記特定時点から所定のワーキング・セット・メモリ期間
    中に上記処理装置によって新たにアクセスされたメモリ
    部があることを判断し、該メモリ部のメモリ量を上記割
    り当て済みワーキング・セット・メモリ量に加算して上
    記ランダム・アクセス・メモリの利用率を測定する手段
    と、 第2のデバイス・ドライバを用いて、上記少なくとも1
    つの周辺装置に送信されるハードウエア・タイマ割り込
    み信号の総数と上記周辺装置がビジーであることを標示
    する該周辺装置からの応答信号の数とを測定し両者の比
    率として、上記少なくとも1つの周辺装置の利用率を測
    定する手段と、 上記2つの測定手段に応答して、上記ランダム・アクセ
    ス・メモリおよび上記少なくとも1つの周辺装置の利用
    率を示すシステム資源データを生成する手段と、 上記データ処理システムの上記資源使用データをリアル
    ・タイムで表示する手段と、 を備えるデータ処理システム。
  4. 【請求項4】 ランダム・アクセス・メモリと処理装置
    と少なくとも1つの周辺装置とをシステム資源として有
    するデータ処理システムであって、 第1のデバイス・ドライバを用いて、特定の時点での割
    り当て済みワーキング・セット・メモリ量を計算し、上
    記特定時点から所定のワーキング・セット・メモリ期間
    中に上記処理装置によって新たにアクセスされたメモリ
    部があることを判断し、該メモリ部のメモリ量を上記割
    り当て済みワーキング・セット・メモリ量に加算して上
    記ランダム・アクセス・メモリの利用率を測定する手段
    と 第3のデバイス・ドライバを用いて、最低の優先レベル
    を持つプロセスを始動し、該プロセスが上記処理装置上
    で実行中のアイドル状態時間を測定することによって、
    上記処理装置の利用率を測定する手段と、 上記2つの測定手段に応答して、上記ランダム・アクセ
    ス・メモリおよび上記処理装置の利用率を示すシステム
    資源データを生成する手段と、 上記データ処理システムの上記資源使用データをリアル
    ・タイムで表示する手段と、 を備えるデータ処理システム。
JP10435792A 1991-06-10 1992-04-23 システム資源利用率測定方法とデータ処理システム Expired - Lifetime JPH0774984B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US71348491 true 1991-06-10 1991-06-10
US713484 1991-06-10

Publications (2)

Publication Number Publication Date
JPH05134830A true JPH05134830A (ja) 1993-06-01
JPH0774984B2 true JPH0774984B2 (ja) 1995-08-09

Family

ID=24866326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10435792A Expired - Lifetime JPH0774984B2 (ja) 1991-06-10 1992-04-23 システム資源利用率測定方法とデータ処理システム

Country Status (3)

Country Link
US (2) US5463775A (ja)
EP (1) EP0518574A3 (ja)
JP (1) JPH0774984B2 (ja)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774984B2 (ja) * 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5640595A (en) * 1993-06-29 1997-06-17 International Business Machines Corporation Multimedia resource reservation system with graphical interface for manual input of resource reservation value
US5664095A (en) * 1993-12-08 1997-09-02 Intel Corporation Dynamic scaling of CPU cycle consumption in a computer system
US5845310A (en) * 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US5623598A (en) * 1994-11-22 1997-04-22 Hewlett-Packard Company Method for identifying ways to improve performance in computer data storage systems
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
US6104876A (en) * 1995-06-07 2000-08-15 Cirrus Logic, Inc. PCI bus master retry fixup
US5748498A (en) * 1995-07-05 1998-05-05 Compal Electronics, Inc. Method and a device for detecting execution efficiency of a CPU in computer system
US5870538A (en) 1995-07-19 1999-02-09 Fujitsu Network Communications, Inc. Switch fabric controller comparator system and method
US5797115A (en) * 1995-08-24 1998-08-18 Fuller; Billy Measuring direct and indirect usage of a central processing unit
US5724260A (en) * 1995-09-06 1998-03-03 Micron Electronics, Inc. Circuit for monitoring the usage of components within a computer system
WO1997010656A1 (en) 1995-09-14 1997-03-20 Fujitsu Network Communications, Inc. Transmitter controlled flow control for buffer allocation in wide area atm networks
WO1997026737A1 (en) 1996-01-16 1997-07-24 Fujitsu Limited A reliable and flexible multicast mechanism for atm networks
US5974573A (en) * 1996-01-16 1999-10-26 Dell Usa, L.P. Method for collecting ECC event-related information during SMM operations
US5950143A (en) * 1996-05-31 1999-09-07 Eskom Monitoring of a system
US6247105B1 (en) * 1996-06-20 2001-06-12 Sun Microsystems, Inc. Externally identifiable descriptor for standard memory allocation interface
US6223201B1 (en) * 1996-08-27 2001-04-24 International Business Machines Corporation Data processing system and method of task management within a self-managing application
US7502752B1 (en) 1997-08-07 2009-03-10 Citicorp Development Center, Inc. System and method for delivering financial services
US7249344B1 (en) 1996-10-31 2007-07-24 Citicorp Development Center, Inc. Delivery of financial services to remote devices
US8112330B1 (en) 1997-08-07 2012-02-07 Citibank Development Center, Inc. System and method for delivering financial services
US7668781B2 (en) 1996-10-31 2010-02-23 Citicorp Development Center, Inc. Global method and system for providing enhanced transactional functionality through a customer terminal
US5943480A (en) * 1996-11-19 1999-08-24 Telcordia Technologies, Inc. Method and system for detecting camouflaged congestion on a network resource
US5878208A (en) * 1996-11-25 1999-03-02 International Business Machines Corporation Method and system for instruction trace reconstruction utilizing limited output pins and bus monitoring
EP0894380A4 (en) 1996-12-06 2001-05-16 Fujitsu Network Communications Method for flow controlling atm traffic
JPH10224665A (ja) * 1997-02-04 1998-08-21 Sony Corp 送出システム
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
US5991836A (en) * 1997-05-02 1999-11-23 Network Computing Devices, Inc. System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the server
US6083278A (en) * 1997-05-28 2000-07-04 Texas Instruments Incorporated System and method for displaying and editing assembly language source codes
US6570911B1 (en) * 1997-06-27 2003-05-27 Intel Corporation Method and apparatus for controlling modem data pump parameters based on processor loading
US6339824B1 (en) * 1997-06-30 2002-01-15 International Business Machines Corporation Method and apparatus for providing public key security control for a cryptographic processor
US6629074B1 (en) * 1997-08-14 2003-09-30 International Business Machines Corporation Resource utilization indication and commit mechanism in a data processing system and method therefor
JP3608915B2 (ja) * 1997-09-22 2005-01-12 富士通株式会社 マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体
US5913073A (en) * 1997-10-10 1999-06-15 Emc Corporation Input/output driver for benchmark testing
US6009466A (en) * 1997-10-31 1999-12-28 International Business Machines Corporation Network management system for enabling a user to configure a network of storage devices via a graphical user interface
US6047124A (en) * 1997-10-31 2000-04-04 Sun Microsystems, Inc. System and method for tracing device drivers using a computer
US6148335A (en) * 1997-11-25 2000-11-14 International Business Machines Corporation Performance/capacity management framework over many servers
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
US6148396A (en) * 1997-11-26 2000-11-14 Compaq Computer Corporation Apparatus for sampling path history in a processor pipeline
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6237059B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for estimating statistics of properties of memory system interactions among contexts in a computer system
US6195748B1 (en) 1997-11-26 2001-02-27 Compaq Computer Corporation Apparatus for sampling instruction execution information in a processor pipeline
US5809450A (en) * 1997-11-26 1998-09-15 Digital Equipment Corporation Method for estimating statistics of properties of instructions processed by a processor pipeline
US6442585B1 (en) 1997-11-26 2002-08-27 Compaq Computer Corporation Method for scheduling contexts based on statistics of memory system interactions in a computer system
US6119075A (en) * 1997-11-26 2000-09-12 Digital Equipment Corporation Method for estimating statistics of properties of interactions processed by a processor pipeline
US5923872A (en) * 1997-11-26 1999-07-13 Digital Equipment Corporation Apparatus for sampling instruction operand or result values in a processor pipeline
US5964867A (en) * 1997-11-26 1999-10-12 Digital Equipment Corporation Method for inserting memory prefetch operations based on measured latencies in a program optimizer
US6175814B1 (en) 1997-11-26 2001-01-16 Compaq Computer Corporation Apparatus for determining the instantaneous average number of instructions processed
US6237073B1 (en) * 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US6000044A (en) * 1997-11-26 1999-12-07 Digital Equipment Corporation Apparatus for randomly sampling instructions in a processor pipeline
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6092180A (en) * 1997-11-26 2000-07-18 Digital Equipment Corporation Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed
US6070009A (en) * 1997-11-26 2000-05-30 Digital Equipment Corporation Method for estimating execution rates of program execution paths
US6321331B1 (en) * 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
US6079032A (en) * 1998-05-19 2000-06-20 Lucent Technologies, Inc. Performance analysis of computer systems
US6237143B1 (en) * 1998-09-17 2001-05-22 Unisys Corp. Method and system for monitoring and capturing all file usage of a software tool
US6332117B1 (en) 1998-10-22 2001-12-18 International Business Machines Corporation General event stamping scheme
US6434714B1 (en) * 1999-02-04 2002-08-13 Sun Microsystems, Inc. Methods, systems, and articles of manufacture for analyzing performance of application programs
DE19905386A1 (de) * 1999-02-10 2000-08-17 Steffen Bueder Informationsanzeigemodul für den PC
US6438704B1 (en) 1999-03-25 2002-08-20 International Business Machines Corporation System and method for scheduling use of system resources among a plurality of limited users
US7086035B1 (en) 1999-05-13 2006-08-01 International Business Machines Corporation Method and system for counting non-speculative events in a speculative processor
FR2796179A1 (fr) * 1999-07-09 2001-01-12 Hewlett Packard Co Systeme et procede de gestion de systemes peripheriques qui utilisent des interfaces d'objets de visualisation pour la commande
US6961930B1 (en) 1999-09-22 2005-11-01 Hewlett-Packard Development Company, L.P. Efficient, transparent and flexible latency sampling
US6480809B1 (en) * 1999-09-23 2002-11-12 Intel Corporation Computer system monitoring
US6598012B1 (en) * 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
US6675374B2 (en) 1999-10-12 2004-01-06 Hewlett-Packard Development Company, L.P. Insertion of prefetch instructions into computer program code
DE60035324D1 (de) * 1999-10-26 2007-08-09 Iontas Ltd Überwachung von Rechnerbenutzung
US6574727B1 (en) 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6550002B1 (en) 1999-11-04 2003-04-15 International Business Machines Corporation Method and system for detecting a flush of an instruction without a flush indicator
US6631463B1 (en) 1999-11-08 2003-10-07 International Business Machines Corporation Method and apparatus for patching problematic instructions in a microprocessor using software interrupts
US6539502B1 (en) 1999-11-08 2003-03-25 International Business Machines Corporation Method and apparatus for identifying instructions for performance monitoring in a microprocessor
US8271336B2 (en) 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
US8032409B1 (en) 1999-11-22 2011-10-04 Accenture Global Services Limited Enhanced visibility during installation management in a network-based supply chain environment
US7716077B1 (en) * 1999-11-22 2010-05-11 Accenture Global Services Gmbh Scheduling and planning maintenance and service in a network-based supply chain environment
US7130807B1 (en) 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US20020065864A1 (en) * 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US7131016B2 (en) * 2000-05-15 2006-10-31 Microconnect Llc Method and apparatus for adjusting clock throttle rate based on usage of CPU
US7334098B1 (en) * 2000-06-06 2008-02-19 Quantum Corporation Producing a mass storage backup using a log of write commands and time information
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US6886020B1 (en) * 2000-08-17 2005-04-26 Emc Corporation Method and apparatus for storage system metrics management and archive
US7171338B1 (en) * 2000-08-18 2007-01-30 Emc Corporation Output performance trends of a mass storage system
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
US6654915B1 (en) * 2000-09-11 2003-11-25 Unisys Corporation Automatic fault management system utilizing electronic service requests
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US6968540B2 (en) 2000-10-25 2005-11-22 Opnet Technologies Inc. Software instrumentation method and apparatus
US6957208B1 (en) 2000-10-31 2005-10-18 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for performance analysis using semantic knowledge
US7149792B1 (en) 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
US6718489B1 (en) * 2000-12-07 2004-04-06 Unisys Corporation Electronic service request generator for automatic fault management system
US6782350B1 (en) 2001-04-27 2004-08-24 Blazent, Inc. Method and apparatus for managing resources
WO2003009140A3 (en) * 2001-07-20 2003-12-24 Altaworks Corp System and method for adaptive threshold determination for performance metrics
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US20090006543A1 (en) * 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US7219034B2 (en) 2001-09-13 2007-05-15 Opnet Technologies, Inc. System and methods for display of time-series data distribution
CA2365427A1 (en) 2001-12-19 2003-06-19 Mark F. Wilding Internal product fault monitoring apparatus and method
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US6954905B2 (en) 2002-01-28 2005-10-11 International Business Machines Corporation Displaying transparency characteristic aids
US6996783B2 (en) * 2002-01-28 2006-02-07 International Business Machines Corporation Selectively adjusting transparency of windows within a user interface using a flashlight tool
US20030142141A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Displaying specified resource usage
US20030142133A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Adjusting transparency of windows to reflect recent use
US20030142143A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Varying heights of application images to convey application status
US7046254B2 (en) 2002-01-28 2006-05-16 International Business Machines Corporation Displaying transparent resource aids
US7019757B2 (en) 2002-01-28 2006-03-28 International Business Machines Corporation Changing the alpha levels of an application window to indicate a status of a computing task
US7146573B2 (en) * 2002-01-28 2006-12-05 International Business Machines Corporation Automatic window representation adjustment
US20030142149A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Specifying audio output according to window graphical characteristics
US7400424B2 (en) * 2002-03-05 2008-07-15 Hewlett-Packard Development Company, L.P. Printer option suggestion method and program
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7203690B2 (en) * 2002-05-31 2007-04-10 Capital One Financial Corporation Systems and methods for tracking assets
US7346906B2 (en) * 2002-07-09 2008-03-18 International Business Machines Corporation Workload management in a computing environment
US7035762B2 (en) * 2002-07-11 2006-04-25 Alcatel Canada Inc. System and method for tracking utilization data for an electronic device
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7373557B1 (en) * 2003-04-04 2008-05-13 Unisys Corporation Performance monitor for data processing systems
US7603442B2 (en) * 2003-06-20 2009-10-13 Microsoft Corporation Method and system for maintaining service dependency relationships in a computer system
US7406694B2 (en) * 2003-06-20 2008-07-29 Microsoft Corporation Method and system for tracking kernel resource usage
US7900092B2 (en) * 2003-07-11 2011-03-01 Computer Associates Think, Inc. Kernel-level method of flagging problems in applications
US6959264B2 (en) * 2003-09-30 2005-10-25 International Business Machines Corporation Autonomous computing probe agent
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7895247B2 (en) * 2003-10-29 2011-02-22 Oracle International Corporation Tracking space usage in a database
US7197586B2 (en) * 2004-01-14 2007-03-27 International Business Machines Corporation Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7350046B2 (en) * 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
WO2005121968A3 (en) * 2004-06-07 2007-08-23 Mark B Gagner Gaming device with resource swapping
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
US7890473B1 (en) * 2004-10-26 2011-02-15 Sprint Communications Company L.P. Method and system for evaluating performance of a computer system
US7702780B2 (en) * 2005-06-22 2010-04-20 International Business Machines Corporation Monitoring method, system, and computer program based on severity and persistence of problems
US7831971B2 (en) 2005-10-24 2010-11-09 International Business Machines Corporation Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation
US7660962B2 (en) * 2005-12-15 2010-02-09 International Business Machines Corporation Use of memory compression algorithm to assess efficiency of memory usage
US20070156706A1 (en) * 2005-12-27 2007-07-05 Christian Hayes Apparatus, system, and method for monitoring the usage of computers and groups of computers
US8112247B2 (en) * 2006-03-24 2012-02-07 International Business Machines Corporation Resource adaptive spectrum estimation of streaming data
US7716015B2 (en) 2006-07-26 2010-05-11 Magix Ag Single-track load meter for audio applications
EP2052324A2 (en) * 2006-08-11 2009-04-29 Nxp B.V. Methods and products for determining and visualizin ic behaviour
US20080077868A1 (en) * 2006-09-22 2008-03-27 Bartucca Francis M System and Method for Visually Representing Resource Usage in a Multi-Node Data Processing System
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US7987345B2 (en) * 2007-09-28 2011-07-26 Broadcom Corporation Performance monitors in a multithreaded processor architecture
US8205122B1 (en) * 2008-03-14 2012-06-19 United Services Automobile Association (Usaa) Systems and methods for monitoring and acting on logged system messages
US7552396B1 (en) * 2008-04-04 2009-06-23 International Business Machines Corporation Associating screen position with audio location to detect changes to the performance of an application
US20090313074A1 (en) * 2008-06-11 2009-12-17 International Business Machines Corporation Enhanced viewing/updating of calendar entries based upon relationships between a viewer and a calendar owner and a relative importance value of the calendar entries
US9442817B2 (en) * 2010-10-08 2016-09-13 Vmware, Inc. Diagnosis of application server performance problems via thread level pattern analysis
US8489939B2 (en) * 2010-10-25 2013-07-16 At&T Intellectual Property I, L.P. Dynamically allocating multitier applications based upon application requirements and performance and reliability of resources
US8600915B2 (en) 2011-12-19 2013-12-03 Go Daddy Operating Company, LLC Systems for monitoring computer resources
US8719196B2 (en) 2011-12-19 2014-05-06 Go Daddy Operating Company, LLC Methods for monitoring computer resources using a first and second matrix, and a feature relationship tree
US9092205B2 (en) 2012-10-25 2015-07-28 International Business Machines Corporation Non-interrupting performance tuning using runtime reset
CN104008030A (zh) * 2013-02-27 2014-08-27 腾讯科技(深圳)有限公司 内核性能测试的方法及装置
CN104008029A (zh) * 2013-02-27 2014-08-27 腾讯科技(深圳)有限公司 内核性能测试的方法及装置
US9519869B2 (en) * 2013-11-25 2016-12-13 International Business Machines Corporation Predictive computer system resource monitoring
US9665459B2 (en) * 2014-01-06 2017-05-30 International Business Machines Corporation Providing a user interface to enable selection of storage systems, components within storage systems and common performance metrics for generating performance metric reports across storage systems and components
CN106462139A (zh) * 2014-05-28 2017-02-22 三菱电机株式会社 可编程显示器以及绘图软件

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4533997A (en) * 1972-08-25 1985-08-06 Westinghouse Electric Corp. Computer monitored or controlled system which may be modified and de-bugged on-line by one not skilled in computer programming
US4019040A (en) * 1973-10-02 1977-04-19 Westinghouse Electric Corporation CRT display and record system
US4291376A (en) * 1979-08-08 1981-09-22 Three Rivers Enterprises, Inc. Digital energy monitor
US4373184A (en) * 1979-12-26 1983-02-08 The Boeing Company Vertical flight path steering system for aircraft
US4296727A (en) * 1980-04-02 1981-10-27 Micro-Burner Systems Corporation Furnace monitoring system
US4485440A (en) * 1981-09-24 1984-11-27 At&T Bell Laboratories Central processor utilization monitor
US4459656A (en) * 1981-10-01 1984-07-10 Honeywell Information Systems Inc. Clocking system for a computer performance monitoring device
US4533910A (en) * 1982-11-02 1985-08-06 Cadtrak Corporation Graphics display system with viewports of arbitrary location and content
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
US4590550A (en) * 1983-06-29 1986-05-20 International Business Machines Corporation Internally distributed monitoring system
JPH0253812B2 (ja) * 1983-09-20 1990-11-19 Fuji Facom Corp
US4660130A (en) * 1984-07-24 1987-04-21 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks
US4701848A (en) * 1984-11-19 1987-10-20 Clyde, Inc. System for effectively paralleling computer terminal devices
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
US4878183A (en) * 1987-07-15 1989-10-31 Ewart Ron B Photographic image data management system for a visual system
US4823290A (en) * 1987-07-21 1989-04-18 Honeywell Bull Inc. Method and apparatus for monitoring the operating environment of a computer system
US4937743A (en) * 1987-09-10 1990-06-26 Intellimed Corporation Method and system for scheduling, monitoring and dynamically managing resources
US4905171A (en) * 1987-11-09 1990-02-27 International Business Machines Corporation Workstation controller performance monitor
JPH01173139A (en) * 1987-12-23 1989-07-07 Internatl Business Mach Corp <Ibm> Method for display of plural task states
US5359713A (en) * 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
JPH0353349A (en) * 1989-07-20 1991-03-07 Nec Corp Electronic computer system
US5167030A (en) * 1989-08-23 1992-11-24 Helix Software Company, Inc. System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space
US5168554A (en) * 1989-10-13 1992-12-01 International Business Machines Corporation Converting trace data from processors executing in parallel into graphical form
US5214772A (en) * 1989-12-13 1993-05-25 Joseph Weinberger System for automatically monitoring copiers from a remote location
US5081577A (en) * 1989-12-22 1992-01-14 Harris Corporation State controlled device driver for a real time computer control system
US5086386A (en) * 1990-03-23 1992-02-04 Sun Microsystems, Inc. Method and apparatus for benchmarking the working set of window-based computer systems
US5153837A (en) * 1990-10-09 1992-10-06 Sleuth Inc. Utility consumption monitoring and control system
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
US5241672A (en) * 1991-04-01 1993-08-31 Xerox Corporation System using the storage level of file updates in nonvolatile memory to trigger saving of RAM to disk and using the file updates to reboot after crash
US5237681A (en) * 1991-05-24 1993-08-17 Bell Communications Research, Inc. Relational data base memory utilization analyzer
JPH0774984B2 (ja) * 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム

Also Published As

Publication number Publication date Type
US5463775A (en) 1995-10-31 grant
US5572672A (en) 1996-11-05 grant
JP2038110C (ja) grant
JPH05134830A (ja) 1993-06-01 application
EP0518574A3 (en) 1993-08-25 application
EP0518574A2 (en) 1992-12-16 application

Similar Documents

Publication Publication Date Title
Haban et al. A hybrid monitor for behavior and performance analysis of distributed systems
US6507805B1 (en) Method and system for compensating for instrumentation overhead in trace data by detecting minimum event times
US6237059B1 (en) Method for estimating statistics of properties of memory system interactions among contexts in a computer system
US6728949B1 (en) Method and system for periodic trace sampling using a mask to qualify trace data
US7200776B2 (en) System and method for generating trace data in a computing system
US6604210B1 (en) Method and system for detecting and recovering from in trace data
Clark et al. Performance of the VAX-11/780 translation buffer: Simulation and measurement
US7389497B1 (en) Method and system for tracing profiling information using per thread metric variables with reused kernel threads
US5557548A (en) Method and system for performance monitoring within a data processing system
US6253338B1 (en) System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block
US6216237B1 (en) Distributed indirect software instrumentation
US7000036B2 (en) Extended input/output measurement facilities
US7213113B2 (en) System and method for preparation of workload data for replaying in a data storage environment
US6963940B1 (en) Measuring utilization of individual components of channels
US20020095660A1 (en) Method and apparatus for analyzing software in a language-independent manner
Seltzer et al. Self-monitoring and self-adapting operating systems
US5446878A (en) Method for selectively enabling subset of embedded event-making instructions and selecting types and items of event-based data to be collected per enabled instruction
US6374369B1 (en) Stochastic performance analysis method and apparatus therefor
US5875294A (en) Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states
US20040268315A1 (en) System and method for processing breakpoint events in a child process generated by a parent process
US5802378A (en) Performance monitoring in multiprocessor system with interrupt masking
US6732357B1 (en) Determining and compensating for temporal overhead in trace record generation and processing
US20070011330A1 (en) System and method for automated workload characterization of an application server
US5668944A (en) Method and system for providing performance diagnosis of a computer system
US20060230391A1 (en) System and method for collecting a plurality of metrics in a single profiling run of computer code