Hi,
I think I get it. Timed_statistics does have much impact on SYSTEM CALLS. But as
system calls CPU utilization is just part of total CPU that the process consumes(more
of them are user calls), so, when timed statistics is on, system call increased about
40-50% increasement,but the total CPU used by this session does not change
significantly.
I did not notice that strace/truss only printed system call and its cpu
utilization,but there is also a line talking about "user time". I did this test first
on linux and linux strace does not print the "user time" part.For compare,I did
another truss on solaris and found the same result, but not seeing the user time part.
Thanks, seems doubt solved:)
sys totals: 3.87 70798 747
usr time: 21.57
elapsed: 233.47
----- Original Message -----
To: "zhu chao" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Cc: "Yong Huang" <[EMAIL PROTECTED]>; "Jack" <[EMAIL PROTECTED]>; "Tai, Hubert"
<[EMAIL PROTECTED]>
Sent: Saturday, November 15, 2003 9:49 AM
My impression is, Oracle collects *ALL* statistics anyway. Enabling timed_statistics
just enable writes to the v$views which is all in memory. The overhead is different
from version to version. The last I remembered reading about 8i was the overhead
is 2.5% to 5% where in 716, it was slightly higher.
But I dont think it was ever more than 10% in any version.
Back in the old days, a lot of people said it is 15% - 20% but it was all
mis-conceptions about Oracle.
One thing I am almost positive is, Oracle collects them anyway. The only
difference is whether it populates the v$ views.
NOw, turning on OS_timed_statistics is probably expensive. But I don't
have a number. Almost no site that I know turns this one on.
-----Original Message-----
Sent: Friday, November 14, 2003 1:30 AM
To: [EMAIL PROTECTED]
Cc: Chorng, Bass; Yong Huang; Jack; Tai, Hubert
Hi:
I happeded to use strace to trace system call of an oracle process and suprised to
find that it used so many getrusage/gettimeofday/times system call than I can imagine.
Is it because of timed_statistics or Oracle itself used so many to maintain its
v$ views? From the result, it used 50%+ of the CPU that process consumes.
I tried to set timed_statistics in one running session to false and did another
strace,and there is nearly no getrusage at all! Does it mean that timed_statistics
caused 40%+ resource utilization?
>>default, with timed_statistics = true;
[EMAIL PROTECTED] oracle]$ strace -c -p 26798 (Linux AS2.1)
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
41.87 2.025445 899 2254 read
40.73 1.970439 7 266948 getrusage
13.72 0.663586 4 159727 gettimeofday
3.63 0.175616 23 7596 write
0.03 0.001389 198 7 munmap
0.02 0.000880 73 12 old_mmap
0.00 0.000070 70 1 semctl
------ ----------- ----------- --------- --------- ----------------
100.00 4.837425 436545 total
>>Manually set timed_statistics to false
[EMAIL PROTECTED] sync]$ strace -c -p 22161
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
94.15 0.509831 740 689 read
3.57 0.019323 5 4232 gettimeofday--Still this system call
2.28 0.012367 14 887 write
------ ----------- ----------- --------- --------- ----------------
100.00 0.541521 5808 total
<<Solaris 8/oracle 817/Timed_statistics = true;>>
[EMAIL PROTECTED] oracle]$ truss -c -p 6107
^Csyscall seconds calls errors
read .86 14496
write 1.37 19638
lseek .02 1031
times 1.12 31851
semctl .00 2
semop .00 2
sigprocmask .00 8
getcontext .00 2
yield .01 317
setitimer .00 4
lwp_mutex_wakeup .01 29
lwp_mutex_lock .01 110
lwp_cond_wait .01 837
lwp_cond_signal .20 794
pread .01 151
pwrite .00 643
kaio .25 815 747
kaio .00 68
------- ------ ----
sys totals: 3.87 70798 747
usr time: 21.57
elapsed: 233.47
[EMAIL PROTECTED] oracle]$ sqlplus internal
17:31:12 SQL> @whoisit
Enter value for spid: 6107
old 3: select addr from v$process where spid in(&spid))
new 3: select addr from v$process where spid in(6107))
SID SERIAL# USERNAME OSUSER
MACHINE PROGRAM PROCESS
TO_CHAR(LOGON_TIME,
---------- ---------- ------------------------------ ------------------------------
------------------------------ ---------------------------------------- ---------
-------------------
298 8491 BIDDER store
appg ? @appg (TNS V1-V3) 18818
2003/10/31 16:04:01
17:31:37 SQL> exec
dbms_system.set_BOOL_PARAM_IN_SESSION(298,8491,'TIMED_STATISTICS',false)
<<After change timed_statistics to false and we see few times sys call>>
[EMAIL PROTECTED] oracle]$ truss -c -p 6107
^Csyscall seconds calls errors
read .51 7779
write .76 10432
lseek .03 552
kill .00 1
semctl .00 1
semop .00 2
sigprocmask .00 8
getcontext .00 2
readv .00 1
yield .00 178
setitimer .00 4
lwp_mutex_wakeup .01 11
lwp_mutex_lock .00 44
lwp_cond_wait .00 446
lwp_cond_signal .08 420
pread .00 97
pwrite .00 324
kaio .19 431 384
kaio .00 47
------- ------ ----
sys totals: 1.58 20780 384
usr time: 12.14
elapsed: 131.92
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: zhu chao
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).