Hi,
I am running one processing engine with Jensor.But i am getting java heap size error.The RAM is of size 2 GB and java heap size i specified is -mx1000M.Can you please help me to resolve this issue?
Thanks
Vaibhav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Vaibhav,
Could you provide more details:
- As to which version of Jensor are you using.
- What is the application like
- How have you instrumented the application
- And where exactly this Heap Size error coming in
Will try to provide a solution based on this information.
Regards,
Suresh.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suresh,
I am using Jensor v1.12.The application is basically simple java application which is reading data from one disk file of size 61428 KB and doing some processing on that text line by line.
For instrumenation, i followed the same process mentioned in user guide.Also i am able to run the sample example given with installation.
The excepation stack is
Exception in thread "JensorThread" java.lang.OutOfMemoryError: Java heap space
at com.tcs.perc.jensor.core.Histogram.<init>(Histogram.java:52)
at com.tcs.perc.jensor.core.Profile.writeFiles(Profile.java:753)
at com.tcs.perc.jensor.core.Profile.run(Profile.java:136)
at java.lang.Thread.run(Unknown Source)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
We have seen this error for the first time. It is related to capturing Top N slow running Methods. Is it possible for you to send us a tar so that we can reproduce it at our end. In the meanwhile, we will disable this functionality and send you a patch let us know if that works.
-Amol
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It would be of great help if you could zip all the files located at %JENSOR_HOME%\output directory and send them. It will aid the development of the patch talked about in the earlier reply.
Regards,
Suresh.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As discussed, since the application is more or less like a batch program, the number of classes instrumented is very high.
You can try out with instrumenting fewer classes. In this case you can instrument 2 out of the three jar files.
Let us know in case you face any issues.
Regards,
Suresh.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suresh,
As per your suggestion i am trying to instrument single jar at a time.I am able to do the things for jar "utility091230" which has around 189 classes.But for another jar "opinion091223 ", i am able to instrument it, but when i am using this instrumented jar for running the application, it is not showing any output,i mean to say that application is running as standalone application like withput jensor.Can you plz tell me the reason of it?
Thanks,
Vaibhav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On a side-note, your application executes approximately 930 million method calls including calls to commons logging, jwnl, stanford-parser and your application jar. Am using unreleased version of Jensor 2.0 which automatically instruments the whole JVM. On my machine in executes in approximately 200 seconds. A rough calculation indicates that there are 5 calls per microsecond.
Now Jensor is not suitable for monitoring methods whose response times are of the order of microseconds. Jensor itself incurs an overhead of 10-30 microseconds per method. Now what that means in context of your application is that your application may run 100 to 300 times slower if you continue to monitor all methods. Because of slower processing, all the available memory is also exhausted and hence OOME.
What you should do is, monitor only application code. Exclude all the libraries from being monitored because I assume that even if the libraries take time to execute you are perhaps not going to change the library code e.g. stanford-parser.jar. Am I right?
You may want to read up on setting up Filters in Jensor so that you can monitor exact packages, classes or methods that you are interested in as opposed to monitoring *.*. This info can be found in Jensor Usage manual. I am pretty sure if you monitor only your application code you will not get OOME. Hence a patch is not going to be required.
-Cheers,
Amol
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suresh,
I have one query regarding "Collate Records".Let us suppose we are profiling one application with Jensor.The recording of data is started at the application start up.The application execution is completed.Then i am going for "Collate Record" option to see the performance summary.It is showing one error as "no jensor is running".So how to collate the record of already completed (execution) application.
Thanks,
Vaibhav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Don't you think this particular query can go under a separate discussion.
It would be of great help if a new discussion is started and this query is specified there.
It would be easy for the people referring the forum to get help.
Will surely answer the question there.
Regards,
Suresh.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I am running one processing engine with Jensor.But i am getting java heap size error.The RAM is of size 2 GB and java heap size i specified is -mx1000M.Can you please help me to resolve this issue?
Thanks
Vaibhav
Hi Vaibhav,
Could you provide more details:
- As to which version of Jensor are you using.
- What is the application like
- How have you instrumented the application
- And where exactly this Heap Size error coming in
Will try to provide a solution based on this information.
Regards,
Suresh.
Hi Suresh,
I am using Jensor v1.12.The application is basically simple java application which is reading data from one disk file of size 61428 KB and doing some processing on that text line by line.
For instrumenation, i followed the same process mentioned in user guide.Also i am able to run the sample example given with installation.
The excepation stack is
Exception in thread "JensorThread" java.lang.OutOfMemoryError: Java heap space
at com.tcs.perc.jensor.core.Histogram.<init>(Histogram.java:52)
at com.tcs.perc.jensor.core.Profile.writeFiles(Profile.java:753)
at com.tcs.perc.jensor.core.Profile.run(Profile.java:136)
at java.lang.Thread.run(Unknown Source)
Hi Vaibhav,
We have seen this error for the first time. It is related to capturing Top N slow running Methods. Is it possible for you to send us a tar so that we can reproduce it at our end. In the meanwhile, we will disable this functionality and send you a patch let us know if that works.
-Amol
Hi Vaibhav,
It would be of great help if you could zip all the files located at %JENSOR_HOME%\output directory and send them. It will aid the development of the patch talked about in the earlier reply.
Regards,
Suresh.
Hi Vaibhav,
As discussed, since the application is more or less like a batch program, the number of classes instrumented is very high.
You can try out with instrumenting fewer classes. In this case you can instrument 2 out of the three jar files.
Let us know in case you face any issues.
Regards,
Suresh.
Hi Suresh,
As per your suggestion i am trying to instrument single jar at a time.I am able to do the things for jar "utility091230" which has around 189 classes.But for another jar "opinion091223 ", i am able to instrument it, but when i am using this instrumented jar for running the application, it is not showing any output,i mean to say that application is running as standalone application like withput jensor.Can you plz tell me the reason of it?
Thanks,
Vaibhav
Hi Vaibhav,
Log generation will take place only when the instrumented code is invoked during the execution of the application.
Hope that answers the question.
Regards,
Suresh.
Hi Vaibhav,
On a side-note, your application executes approximately 930 million method calls including calls to commons logging, jwnl, stanford-parser and your application jar. Am using unreleased version of Jensor 2.0 which automatically instruments the whole JVM. On my machine in executes in approximately 200 seconds. A rough calculation indicates that there are 5 calls per microsecond.
Now Jensor is not suitable for monitoring methods whose response times are of the order of microseconds. Jensor itself incurs an overhead of 10-30 microseconds per method. Now what that means in context of your application is that your application may run 100 to 300 times slower if you continue to monitor all methods. Because of slower processing, all the available memory is also exhausted and hence OOME.
What you should do is, monitor only application code. Exclude all the libraries from being monitored because I assume that even if the libraries take time to execute you are perhaps not going to change the library code e.g. stanford-parser.jar. Am I right?
You may want to read up on setting up Filters in Jensor so that you can monitor exact packages, classes or methods that you are interested in as opposed to monitoring *.*. This info can be found in Jensor Usage manual. I am pretty sure if you monitor only your application code you will not get OOME. Hence a patch is not going to be required.
-Cheers,
Amol
Hi Suresh,
I have one query regarding "Collate Records".Let us suppose we are profiling one application with Jensor.The recording of data is started at the application start up.The application execution is completed.Then i am going for "Collate Record" option to see the performance summary.It is showing one error as "no jensor is running".So how to collate the record of already completed (execution) application.
Thanks,
Vaibhav
Hi Vaibhav,
Don't you think this particular query can go under a separate discussion.
It would be of great help if a new discussion is started and this query is specified there.
It would be easy for the people referring the forum to get help.
Will surely answer the question there.
Regards,
Suresh.