This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> 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