[dtrace-discuss] One write is split into many physical IO (from result of fsrw.d )

2009-01-16 Thread Qihua Wu
Hi, All,

I have three questions about the output of fsrw.d
1: The write is to a shareplex queue(for oracle replication), but the write
is split into many many physical IO (I didn't paste all the disk_io here to
save space, but tons of such line contain disk_io). Does that means the
queue file is fragmented on disk? And it is also very strange as a writing
to a queue file resulted in disk_io on oracle file (the oracle file is QIO
file)

2: In the most right column, many lines are with value none, what's the
meaning of it?

3: In the second column for disk_io. The value is like vxio127003, vxdmp100
and sd59. I used prtdiag and prtconf but can't find their definition. Where
can I find them?

sc-read   .  R 3608  0
/oracle/ULOOKUP/splex/vardir53_9i/rim/q_uhs_mig_part5+P+o.ULOOKUP-o.ULOOKUP.q
  fop_read.  R 3608  0
/oracle/ULOOKUP/splex/vardir53_9i/rim/q_uhs_mig_part5+P+o.ULOOKUP-o.ULOOKUP.q
sc-write  .  W 3608  0
/oracle/ULOOKUP/splex/vardir53_9i/rim/q_uhs_mig_part5+P+o.ULOOKUP-o.ULOOKUP.q
  fop_write   .  W 3608  0
/oracle/ULOOKUP/splex/vardir53_9i/rim/q_uhs_mig_part5+P+o.ULOOKUP-o.ULOOKUP.q
disk_io  vxio127003  W 8192  0 none
disk_iovxdmp100  W 8192  0 none
disk_iosd59  W 8192  0 none
disk_io  vxio127003  W 8192  0 none
disk_iovxdmp100  W 8192  0 none
disk_iosd59  W 8192  0 none
disk_io  vxio127000  R   131072  0
/oracle/ULOOKUP/data01/.ULOOKUP_index01_21.dbf::cdev:vxfs:
disk_io vxdmp36  R57344  0 none
disk_iosd63  R57344  0 none
disk_io vxdmp44  R65536  0 none
disk_iosd61  R65536  0 none
disk_io vxdmp92  R 8192  0 none
disk_iosd67  R 8192  0 none
disk_io  vxio127000  R   131072  0
/oracle/ULOOKUP/data01/.ULOOKUP_index01_21.dbf::cdev:vxfs:
disk_io vxdmp92  R57344  0 none
disk_iosd67  R57344  0 none
disk_io vxdmp68  R65536  0 none
disk_iosd65  R65536  0 none
disk_io vxdmp36  R 8192  0 none
disk_iosd63  R 8192  0 none
disk_io  vxio127000  R   131072  0
/oracle/ULOOKUP/data01/.ULOOKUP_index01_21.dbf::cdev:vxfs:
disk_io vxdmp36  R57344  0 none
disk_iosd63  R57344  0 none
disk_io vxdmp44  R65536  0 none
disk_iosd61  R65536  0 none
disk_io vxdmp92  R 8192  0 none
disk_iosd67  R 8192  0 none
disk_io  vxio127000  R   131072  0
/oracle/ULOOKUP/data01/.ULOOKUP_index01_21.dbf::cdev:vxfs:
disk_io vxdmp92  R57344  0 none
disk_iosd67  R57344  0 none
disk_io vxdmp68  R65536  0 none
disk_iosd65  R65536  0 none
disk_io vxdmp36  R 8192  0 none
disk_iosd63  R 8192  0 none
disk_io  vxio127000  R   131072  0
/oracle/ULOOKUP/data01/.ULOOKUP_index01_21.dbf::cdev:vxfs:
disk_io vxdmp36  R57344  0 none
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Re: [dtrace-discuss] C++ Applications with Dtrace

2009-01-16 Thread David Lutz
venkat venki.dammalap...@gmail.com wrote:

 Hi ,
 
   I am using MDB to find memory leaks . i am getting Good report 
 with mdb.

Are you using mdb with libumem for this, or something else?

 
 In one process , MDB showing zero memory leaks but process usage size 
 is increasing day by day .
   How can we know reason for increasing size  . if any body know 
 to find this one please let me know

If you are using libumem, you could use the ::umausers dcmd to try to find
the biggest users of the allocator.  However, that only works for
allocations of less than 16k.  You can tell if you are making allocations
greater than 16k by checking for non-zero usage of umem_oversize,
as reported by ::umastat.

I recently blogged about finding memory leaks with libumem at
http://blogs.sun.com/dlutz/entry/memory_leak_detection_with_libumem
but only addressed the case where you actually lose track of memory
you allocated, not where you continually grow your memory foot
print but still maintain pointers to all of the memory.

HTH,
David

 
I have another process with same problem but 
 for this process MDb showing some memory leaks , the cause for that 
 leaks is i am allocating memory to some variable  when the process 
 startup only .  After that am just using those variables . in this 
 case  MDB showing only leaks at one time allocated variables ,   but 
 process usage size increasing.
 
 Thanks in advance,
 Venkat
 -- 

___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


[dtrace-discuss] Programmatic interface to DTrace?

2009-01-16 Thread Kedar Mhaswade
This might be a n00b question, but is there an example that demonstrates how 
one can collect DTrace output programmatically?

For example, if I were interested in building a web interface for dtrace, how 
should I go about it?

Thanks in advance,
Kedar
-- 
This message posted from opensolaris.org
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] Programmatic interface to DTrace?

2009-01-16 Thread Chip Bennett
For a java API you might look at:

http://opensolaris.org/os/project/dtrace-chime/java_dtrace_api/

and for the C API (libdtrace):

http://dev.lrem.net/tcldtrace/wiki/LibDtrace
http://www.osdevcon.org/2008/files/osdevcon2008-petr.pdf

Chip

 -Original Message-
 From: dtrace-discuss-boun...@opensolaris.org [mailto:dtrace-discuss-
 boun...@opensolaris.org] On Behalf Of Kedar Mhaswade
 Sent: Friday, January 16, 2009 12:02 PM
 To: dtrace-discuss@opensolaris.org
 Subject: [dtrace-discuss] Programmatic interface to DTrace?
 
 This might be a n00b question, but is there an example that
 demonstrates how one can collect DTrace output programmatically?
 
 For example, if I were interested in building a web interface for
 dtrace, how should I go about it?
 
 Thanks in advance,
 Kedar
 --
 This message posted from opensolaris.org
 ___
 dtrace-discuss mailing list
 dtrace-discuss@opensolaris.org


___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] Programmatic interface to DTrace?

2009-01-16 Thread Nicolas Williams
On Fri, Jan 16, 2009 at 02:03:48PM -0500, Chip Bennett wrote:
 and for the C API (libdtrace):
 
 http://dev.lrem.net/tcldtrace/wiki/LibDtrace

Oh, and there's a tantalizing link to a Tcl interface, not yet
populated, and an even more tantalizing link to what a TclDTrace script
would look like!
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] C++ Applications with Dtrace

2009-01-16 Thread venkat
Hi David.

I am using mdb with libumem only

LD_PRELOAD=libumem.so UMEM_DEBUG=audit=30,maxverify=0,verbose  ./myservice


  and while running my service i took core dump by gcore command 3 times 
with some time gap and appied dcmd commands 

while issue dcmd  ::umastat  i saw some moery allocations and use sizes as 
increased , here find one cache name details 
 



cachebuf  bufbuf memory alloc   
 alloc
namesizein use   total   in use succeed 
 fail

umem_alloc_64  64 2463725024   3203072  172506 0
umem_alloc_64  64 2463725088   3211264  417738 0
umem_alloc_64  64 2497225088   3211264  1215782   0



   If this  inceasing only causes for my problem. please tell me how 
can i get stack for that cache .


Thanks  in advance,
 Venkat
-- 
This message posted from opensolaris.org
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] C++ Applications with Dtrace

2009-01-16 Thread David Lutz
Hi Venkat,

Try running ::umausers umem_alloc_64 to see the top users of
that cache.  The output will be a list of stack traces and their
allocation stats.

David

- Original Message -
From: venkat venki.dammalap...@gmail.com
Date: Friday, January 16, 2009 12:04 pm

 Hi David.
 
 I am using mdb with libumem only
 
 LD_PRELOAD=libumem.so UMEM_DEBUG=audit=30,maxverify=0,verbose  ./myservice
 
 
   and while running my service i took core dump by gcore command 3 
 times with some time gap and appied dcmd commands 
 
 while issue dcmd  ::umastat  i saw some moery allocations and use 
 sizes as increased , here find one cache name details 
  
 
 
 
 cachebuf  bufbuf memory
  allocalloc
 namesizein use   total   in use
  succeed  fail
 
 umem_alloc_64  64 2463725024   3203072172506   0
 umem_alloc_64  64 2463725088   3211264417738   0
 umem_alloc_64  64 2497225088   32112641215782   0
 
 
 
If this  inceasing only causes for my problem. please tell 
 me how can i get stack for that cache .
 
 
 Thanks  in advance,
  Venkat
 -- 

___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] Programmatic interface to DTrace?

2009-01-16 Thread Kedar Mhaswade
Excellent resource, Chris. Thank you.
-- 
This message posted from opensolaris.org
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


Re: [dtrace-discuss] C++ Applications with Dtrace

2009-01-16 Thread venkat
Hi david,


What is allocated succeed  block from umastat dcmd . that value is keep on 
increasing . Is that memory occupieng by process?
  like that way my process  memory usage also keep on increasing ?

can u clarify plz ?


Thanks,
 Venkat
-- 
This message posted from opensolaris.org
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org


[dtrace-discuss] Can I pass a parameter to Dtrace script as a part of function name?

2009-01-16 Thread Qihua Wu
I want to trace function whose name has certain value, such as read or
write. But seems dtrace can't replace the variable with the value I passed
in.

bash-3.00$ cat d.d
#!/usr/sbin/dtrace -s

#pragma D option flowindent

syscall::**$1**:entry { self-interest = 1; }
fbt::: /self-interest/ {}
syscall::**$1**:return { self-interest = 0; }



bash-3.00$ ./d.d *read*
dtrace: failed to compile script ./d.d: line 5: invalid probe description *
syscall::*$1*:entry*: Undefined macro variable in probe description
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Re: [dtrace-discuss] Can I pass a parameter to Dtrace script as a part of function name?

2009-01-16 Thread Steve Scargall
$1 is not a D variable it's a shell var.  Have a look at the inline 
function/operand.  
http://wikis.sun.com/display/DTrace/Type+and+Constant+Definitions

There's loads of examples in the DTrace Toolkit that you can look at and use as 
examples.   Google dtrace inline for more examples.
-- 
This message posted from opensolaris.org
___
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org