[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[IDV #FIQ-462285]: Memory leak capturing image
- Subject: [IDV #FIQ-462285]: Memory leak capturing image
- Date: Tue, 09 Aug 2011 11:28:18 -0600
> Hi Yuan,
>
> Thank you very much for your quick guidance.
> I just run IDV interactively. I build the project using idv3.0b1
> source code and dataset download from your website.
I will re visit this ticket in a couple weeks, we are in the moving process to
another build.
Yuan
> Only the DataControlDialog.java file, I modify the method doOk()
> as bellow:
> *************************************************
> public void doOk() {
> // doApply();
>
> // if (inOwnWindow) {
>
> //
> doClose();
>
> // }
>
> getOffViewManager("imageserver", 1024 *
> 2, 768 * 2);
> Thread t = new Thread() {
> public void run() {
>
> while (true) {
>
> try {
>
> ViewManager vm =
> idv.getVMManager().findViewManager(
>
>
> new ViewDescriptor("imageserver"));
>
> if (vm != null) {
>
>
> vm.getMaster().saveCurrentDisplay(
>
>
> new File("D:\\image\\" + System.currentTimeMillis() +
> ".jpg"), true, true);
>
> }
>
> Thread.sleep(10);
>
> } catch (Exception ex) {
>
> ex.printStackTrace();
>
> }
> }
> }
> };
> t.start();
> }
>
> private void getOffViewManager(String viewId, int width,
> int height) {
> List vmNameList = new ArrayList();
>
> vmNameList.add(MapViewManager.class.getName());
> ViewDescriptor viewDescriptor = new
> ViewDescriptor(viewId);
>
> viewDescriptor.setClassNames(vmNameList);
> ViewManager vm =
> idv.getVMManager().findViewManager(viewDescriptor);
> if (vm == null) {
>
> idv.getArgsManager().setIsOffScreen(true);
>
> Dimension size
> =idv.getStateManager().getViewSize();
> Dimension
> offscreenSize = new Dimension(width, height);
>
> idv.getStateManager().setViewSize(offscreenSize);
> vm =
> idv.getViewManager(viewDescriptor);
>
>
> vm.getMaster().getDisplayComponent().setSize(offscreenSize);
>
>
> idv.getStateManager().setViewSize(size);
>
>
> idv.getArgsManager().setIsOffScreen(false);
> }
> }
> ****************************************************
>
> I start project by parameter:-Xmx1024m -Xms1024m -XX:PermSize=128m
> -XX:MaxPermSize=128m
> In User Preference->System page, I uncheck "Enable geometry by
> reference".
> So when I start idv ,add datasource , select a field and press"Create
> Display" button, the offscreen viewManager start generating images.
>
> During running, memory used as below:
> ************************
> 315/1038/1038MB
> 289/1038/1038MB
> 421/1038/1038
> 309/1038/1038
> 632/1038/1038
> 747~565/1038/1038
> 1010~243/1038/1038
> 970~539/1038/1038
> 1014~863/1038/1038
> 1025/1038/1038
> *************************
> We can see that at beginning memory usage is on the rise but fall
> later. After a while, memory usage is on the rise but hardly fall
> down. When memory used is 1025, memory heap has occured. About 30
> minutes from project start.
>
> Though I use same dataset as you, but the image comes form an empty
> viewManager with only a background world map. No need to query data from
> datasource.
>
> ------------------------------------------------
>
> > Hi Yuan ,
>
> > Thank you for your suggestion. But the problem occured as
> > before.
>
> > Increasing JVM memory to 1024M, the error occured after
> > twenty-four minutes . When I set it to 512M before, error occured
> > after ten minutes.
>
> > Bellow is the memory situation caputured by JConsole tool.
>
> >
>
> >
>
> > By the way , I'm a student and I help others do some work in my spare
> > time.
>
> >
>
> > Cindy
>
> >
>
>
>
> Hi Cindy,
>
> I am a little surprised that you are student, you are showing very good Java
> programming skill.
>
> I wonder if you ever run the same dataset in the IDV interactively, if not,
> please give a try, and let us know the memory usage. Also, provide me some
> information of the dataset you are working on.
>
>
>
>
>
> Yuan
>
>
>
>
>
> >
>
> > ------------------------------------------------
>
> >
>
> > > Hi,
>
> >
>
> > >
>
> >
>
> > > Thank you very much for your letter. Could you please run the code
> > > I send you as an attachment?
>
> >
>
> > > By the way, My machine memory is 2GB. JVM parameter is: -Xmx512m
> > > -Xms512m -XX:PermSize=128m -XX:MaxPermSize=128m
>
> >
>
> > >
>
> >
>
> > > Cindy.
>
> >
>
> > >
>
> >
>
> > >
>
> >
>
> >
>
> >
>
> > The memory allocated to the IDV is too small, you can increase to 1024m.
> > This should solve your problem assuming the image created is reasonable. By
> > the way, which meteorological institute do you work in?
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > Yuan
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > Ticket Details
>
> >
>
> > ===================
>
> >
>
> > Ticket ID: FIQ-462285
>
> >
>
> > Department: Support IDV
>
> >
>
> > Priority: Normal
>
> >
>
> > Status: Closed
>
> >
>
> >
>
> >
>
> >
>
>
>
>
>
> Ticket Details
>
> ===================
>
> Ticket ID: FIQ-462285
>
> Department: Support IDV
>
> Priority: Normal
>
> Status: Closed
>
>
>
>
Ticket Details
===================
Ticket ID: FIQ-462285
Department: Support IDV
Priority: High
Status: Open