[PR]テレビ番組表
今夜の番組チェック

iswebでCGI:プロセス時間を得る

times を使って、カレントプロセス(つまりそのCGI)のプロセス時間を得ます。

動作例

ここを押すと、実行結果がわかります。↓
/cgi-bin/times.cgi

ソースコード

sleep とビジーループの前後に、times を呼んでいます。
内容が内容だけに、変化がないのがなんとも…ですね。
これらを、意味のある処理に置き換えれば、処理時間を計測できます。

#!/usr/local/bin/perl
use CGI;
use strict;

my ($i, $j);
my @t1 = times;
sleep(1);
my @t2 = times;
for($i=$j=0; $i<10000; $i++) { $j *= 2; }
my @t3 = times;

my $cgi = new CGI;
$cgi->charset('EUC-JP');
print $cgi->header, $cgi->start_html('User and System Times');
print "<p><table border=\"1\">\n";
print "<tr><th>名前</th><th>値(起動直後)</th><th>値(sleep後)</th><th>値(ビジーループ後)</th></tr>\n";
print "<tr align=\"right\"><td>user(ユーザ実行時間[sec])</td><td>$t1[0]</td><td>$t2[0]</td><td>$t3[0]</td></tr>\n";
print "<tr align=\"right\"><td>system(システム実行時間[sec])</td><td>$t1[1]</td><td>$t2[1]</td><td>$t3[1]</td></tr>\n";
print "<tr align=\"right\"><td>cuser(子プロセスのuser)</td><td>$t1[2]</td><td>$t2[2]</td><td>$t3[2]</td></tr>\n";
print "<tr align=\"right\"><td>csystem(子プロセスのsystem)</td><td>$t1[3]</td><td>$t2[3]</td><td>$t3[3]</td></tr>\n";
print "</table></p>\n";
print $cgi->end_html;

▼ トップ

▼ プロフィール

▼ 個人的宣伝

LINUXサーバーインストール(FedoraCore4)
Oracle10gのバックアップを本気で理解し実践
FC4 や Oracle のインストールの仕方〜管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
いますぐ実践!Linuxシステム管理
システム管理初心者の方を対象に、システム管理のノウハウをお知らせします。
栗日記
毎日栗の絵を描いています。
退屈なとき、癒されたいときなどに、ご覧ください。:-)