If you are running with a Sun JVM 1.6, one possible way is to monitor the low 
level JVM java IO calls using BTrace (See 
http://kenai.com/projects/btrace/pages/Home). This is kind of lightweight 
custom java profiler.
 
It's quite easy to setup but will require that you know what IO calls are 
involved to write a few java lines to track what you need to.

For example to track the reads calls start/end including the duration:

@OnMethod(clazz = "java.io.RandomAccessFile", method = "read")
public static void onRandomReadStart() {
  print(timestamp("y/M/d HH:mm:ss.SSS"));  
  print(strcat(", ", name(currentThread())));
  print(strcat(", ", "IO read start");
}

@OnMethod(clazz = "java.io.RandomAccessFile", method = "read", 
locati...@location(value=Kind.RETURN))
public static void onRandomReadEnd(@Duration long d) {
  print(timestamp("y/M/d HH:mm:ss.SSS"));  
  print(strcat(", ", name(currentThread())));
  print(strcat(", ", str(d));
  print(strcat(", ", "IO read end");
}





-----Original Message-----
From: Jason Rutherglen [mailto:jason.rutherg...@gmail.com] 
Sent: jeudi 3 juin 2010 20:13
To: java-user@lucene.apache.org
Subject: Monitoring low level IO

This is more of a unix related question than Lucene specific
however because Lucene is being used, I'm asking here as perhaps
other people have run into a similar issue.

On an Amazon EC2 merge, read, and write operations are possibly
blocking due to underlying IO. Is there a tool that you have
used to monitor this type of thing?

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to