Anxious memory deallocation

I use LV v7.1 and had a memory problem that I solved with the deallocation function. However, I would use the deallocation of anxious memory that existed as an Option. I don't see in LV7.1. Can I still put the switch in the INI file or that is no longer possible. In other words, am now forced to live with a default is NOT ANXIOUS so I have to use the deallocation function? or I can change that in an INI file?

National Instruments discourages the use of this option. It can free some memory after each Subvi has been run, but it significantly decreases overall performance. For this reason, the option has been removed from LabVIEW 7.x and the ini to token is no longer works. The deallocation function is always available for cases where it is absolutely necessary. I hope this will not cause too much trouble.

Have a great day!

Tags: NI Software

Similar Questions

  • buffer allocation and minimizing memory allocation

    Hello

    I am tryint to minimize the buffer allocation and memory in general activity. The code will run 'headless' on a cRIO and our experience and that of the industry as a whole is to ellliminate or minimize any action of distribution and the dynamic memory deallocation.

    In our case we treat unfortunately many string manipulations, thus eliminating all the alloc/dealloc memmory is significant (impossible?).

    Which leaves me with the strategy of "minimize".

    I did some investigation and VI of profiling and play with the structure "on the spot" to see if I can help things.

    For example, I have a few places where I me transpoe a few 2D charts. . If I use the tool 'See the buffer allocations' attaced screenshot would indicate that I am not not to use the structure of the preliminary examination International, both for the operation of transposition of the table for the item index operations? As seems counter intuitive to me, I have a few basic missunderstanding either with the "show stamp" tool of the preliminary examination International, or both... The tool shows what a buffer is allocated in the IPE and will once again out of the International preliminary examination, and the 2D table converts has an allowance in and out, even within the IPE causing twice as many allowances as do not use REI.

    As for indexing, using REI seems to result in 1.5 times more allowances (not to mention the fact that I have to wire the index numbers individually vs let LabVIEW auto-index of 0 on the no - IPE version).

    The example illustrates string conversions (not good from the point of view mem alloc/dealloc because LabVIEW does not determine easily the length of the 'picture' of the chain), but I have other articles of the code who do a lot of the same type of stuff, but keeping digital throughout.

    I would be grateful if someone could help me understand why REI seems to increase rather than decrease memory activity.

    (PS > the 2D array is used in the 'incoming' orientation by the rest of the code, so build in data table to avoid the conversion does not seem useful either.)

    QFang wrote:

    -My reasoning (even if it was wrong) was to indicate to the compiler that "I do not have an extra copy of these tables, I'll just subscribe to certain values..." Because a fork in a thread is a fairly simple way to increase the chances of duplications of data, I thought that the function index REI, by nature to eliminate the need to split or fork, the wire of the array (there an in and an exit), I would avoid duplication of work or have a better chance to avoid duplication of work.

    It is important to realize that buffer allocations do occur at the level of the nodes, not on the wires. Although it may seem to turn a thread makes a copy of the data, this is not the case. As the fork will result in incrementing a reference count. LabVIEW is copy-on-write - no copy made memory until the data is changed in fact, and even in this case, the copy is performed only if we need to keep the original. If you fork a table to several functions of Board index, there is always only one copy of the table. In addition, the LabVIEW compiler tries to plan operations to avoid copies, so if several branches read from a wire, but only it changes, the compiler tries to schedule the change operation to run after all the readings are made.

    QFang wrote:

    After looking at several more cases (as I write this post), I can't find any operation using a table that I do in my code that reduces blackheads by including a preliminary International examination... As such, I must STILL understand IPE properly, because my conclusion at the present time, is that haver you 'never' in them for use. Replace a subset of a table? no need to use them (in my code). The indexing of the elements? No problem. .

    A preliminary International examination is useful to replace a subset of the table when you're operating on a subset of the original array. You remove the items that you want, make some calculations and then put back them in the same place in the table. If the new table subset comes from somewhere other than the original array, then the POI does not help. If the sides of entry and exit of International preliminary examination log between them, so there no advantage in PEI.

    I am attaching a picture of code I wrote recently that uses the IPEs with buffer allocations indicated. You can see that there is only one game of allowances of buffer after the Split 1 table D. I could have worked around this but the way I wrote it seemed easier and the berries are small and is not time-critical code so there is no need of any optimization. These tables is always the same size, it should be able to reuse the same allowance with each iteration of the VI, rather than allocate new arrays.

    Another important point: pads can be reused. You might see a dot of distribution on a shift register, but that the shift register must be assigned only once, during the first call to the VI. Every following call to the VI reuses this very spot. Sometimes you do not see an allocation of buffer even if it happens effectively. Resizing a table might require copying the whole table to a new larger location, and even if LabVIEW must allocate more memory for it, you won't always a point of buffer allocation. I think it's because it is technically reassign an existing table instead of allocating a new, but it's always puzzled me a bit. On the subject of the paintings, there are also moments where you see a point to buffer allocation, but all that is allocated is a 'subfield' - a pointer to a specific part of an existing table, not a new copy of the data. For example 1 reverse D table can create a sub-table that points towards the end of the original with a 'stride' array-1, which means that it allows to browse the transom. Same thing with the subset of the table. You can see these subtables turning on context-sensitive help and by placing the cursor on a wire wearing one, as shown in this image.

    Unfortunately, it isn't that you can do on the string allocations. Fortunately, I never saw that as a problem, and I've had systems to operate continuously for months who used ropes on limited hardware (Compact FieldPoint controllers) for two recordings on the disk and TCP communication. I recommend you move the string outside critical areas and separate loop operations. For example, I put my TCP communication in a separate loop that also analyses the incoming strings in specific data, which are then sent by the queue (or RT-FIFO) to urgent loops so that these loops only address data of fixed size. Same idea with logging - make all string conversions and way of handling in a separate loop.

  • NIReport_FreeMemory incomplete cleaning

    In the function NIReport_GetPrinters function helps online panel, there is an example of code as shown below:

    void GetAndFreePrinters (void){  char **allPrinters;  char **printer;  NIReport_GetPrinters (NULL, &allPrinters);  printer = allPrinters;    while (*printer != NULL) NIReport_FreeMemory (*printer++);  NIReport_FreeMemory (allPrinters);}
    

    I used this code in my project and I started getting errors of execution during other as free memory deallocation functions, Ini_Dispose.

    To study, I used the ResourceTracking utility to see the State of the memory.

    I discovered that after the last call to NIReport_FreeMemory in the above code, a block of memory of 80 bytes remains unfreed (I have 3 printers installed, NIReport_GetPrinters function allocates 5 blocks of memory in my PC).

    Probably this else block confuses memory allocation operations and causes some other memory irrelevant free operations to fail.

    When I say run, I mean the recoverable error "attempt to release the pointer to the memory not allocated by malloc or calloc.

    It seems that this problem is solved also in this thread many years ago, but apparently remain unresolved.

    Can you reproduce the behaviour of your PC? (I'm working on an XP SP3 and problem is observed in 8.5.1 and 9.0)

    Hello ebalci-

    I was able to reproduce this on my machine.  It turns out that we have a bit of a leak memory in the application of NIReport_GetPrinters.

    I created a bug for this issue (ID 197427) report.

    As long as this (NIReport_GetPrinters) function is not called repeatedly, the leak must be of little consequence (the leak occurs once by calling the function and the size of the leak depends on how many printers you have installed).  I am inclined to think that the leak is not the source of the errors that you receive, but I'd be happy to take a look at a code with you if things continue to look otherwise.

    NickB

    National Instruments

  • Deallocation of memory

    Hi all

    I'm trying to figure when the garbage collector collects a free object.

    As you can see in the below sample code, I created an object of type KeyBean (a POJO with no. Finalize method) within a try catch. Now, when I come out of test socket, waiting for the object is reclaimed by garbage collection (as is already finalised and available for GC and his block scope in).

    To test this, I created the snapshot of the heap after never System.gc (using JMAP) and analyzed the heap (jHAT). But even until the end of the program, there were 1 instance of keybean available, which was not to my expectations.

    I understand that it will take a 1-2 for a free memory space GC cycle, but according to my code, instance was never deleted.

    Please let me know, if I'm missing some concept here




    public class SimpleAllocationTest {}

    Public Shared Sub main (String [] args) {}


    Try
    {
    Ko KeyBean = new KeyBean();

    }
    Finally
    {

    }

    try {}
    Thread.Sleep (10000);
    } catch (InterruptedException e) {}
    e.printStackTrace ();
    }

    System.GC();

    System.out.println ("Garbage collected");

    try {}
    Thread.Sleep (10000);
    } catch (InterruptedException e) {}
    e.printStackTrace ();
    }

    System.GC();

    System.out.println ("clean memory round 2");

    try {}
    Thread.Sleep (10000);
    } catch (InterruptedException e) {}
    e.printStackTrace ();
    }

    System.GC();

    System.out.println ("clean memory round 3");

    try {}
    Thread.Sleep (10000);
    } catch (InterruptedException e) {}
    e.printStackTrace ();
    }


    }

    }


    Thank you

    Published by: javabee on May 12, 2012 21:28

    It is exactly as described in the Javadoc. It is not clear to me that you have read.

  • iMac to run out of memory system [Etrecheck report]

    I have an iMac 2013 end (27-inch, 3.2 GHz i5) with 24 GB RAM installed running OS X El Capitan 10.11.5). Whenever Safari is open, it slows down gradually until I get a message "your system is out of memory the application" and several applications have been suspended. I tried to reinstall the OS X without result.

    Once a report of Etrecheck indicates failure Drive with 19 errors, I contacted the Apple Support. The tech support guy was not familiar with Etrecheck, but don't think it was a defective drive. He had me DOWNLOAD & running Malwarebytes (did not find anything), create a Test user (which looked OK) and accompanied me through the removal of the caches in the library in my own user (which seemed to work for a while). He seemed anxious to finish my problem, so I let it go. Then he started to slow again. Subsequent reports of Etrecheck showed still drive failure but with only 2 to 5 errors. Now the drive seems fine.

    Safari seems to be the cause. I deleted several tabs and off most of the extensions, but it did not help.

    Here is the current Etrecheck report:

    EtreCheck version: 2.9.13 (267)

    Report generated 2016-07-21 13:51:27

    Download EtreCheck from https://etrecheck.com

    Time 03:28

    Performance: good

    Click the [Support] links to help with non-Apple products.

    Click [details] for more information on this line.

    Problem: Another problem

    Description:

    Short memory of the application system

    Hardware Information:

    iMac (27 inch, at the end of 2013)

    [Data sheet] - [User Guide] - [warranty & Service]

    iMac - model: iMac14, 2

    1 3.2 GHz Intel Core i5 CPU: 4 strands

    24 GB expandable RAM - [Instructions]

    BANK 0/DIMM0

    OK 8 GB DDR3 1600 MHz

    BANK 1/DIMM0

    OK 4 GB DDR3 1600 MHz

    0/DIMM1 BANK

    OK 8 GB DDR3 1600 MHz

    BANK 1/DIMM1

    OK 4 GB DDR3 1600 MHz

    Bluetooth: Good - transfer/Airdrop2 taken in charge

    Wireless: en1: 802.11 a/b/g/n/ac

    Video information:

    NVIDIA GeForce GT M 755 - VRAM: 1024 MB

    iMac 2560 x 1440

    Software:

    OS X El Capitan 10.11.5 (15F34) - since startup time: less than an hour

    Disc information:

    ST1000DM003 disk HARD APPLE disk0: (1 TB) (rotation)

    EFI (disk0s1) < not mounted >: 210 MB

    Macintosh HD (disk0s2) /: 999,35 (Go 194,50 free)

    Recovery HD (disk0s3) < not mounted > [recovery]: 650 MB

    USB information:

    VIA Labs, Inc..          USB3.0 hub

    VIA Labs, Inc..          USB3.0 hub

    Apple Inc. BRCM20702 hub.

    Apple Inc. Bluetooth USB host controller.

    Apple Inc. FaceTime HD camera (built-in)

    VIA Labs, Inc..          USB 2.0 hub

    VIA Labs, Inc..          USB 2.0 hub

    SanDisk ImageMate 8 in 1

    Lightning information:

    Apple Inc. Thunderbolt_bus.

    Guardian:

    Mac App Store and identified developers

    Kernel extensions:

    / Applications/Easy VHS to DVD/Easy VHS to DVD Capture.app

    com.elgato.driver.Pluto2 [no charge] (1.1 - 2012-01-19) [Support]

    / Applications/Easy VHS to DVD/Toast 9 Basic.app

    com.roxio.BluRaySupport [no charge] (1.1.6 - 2012-01-19) [Support]

    com.roxio.TDIXController [no charge] (2.0 - 2012-01-19) [Support]

    / Applications/Parallels Desktop.app

    com.parallels.kext.hidhook [no charge] (9.0 24251.1052177 - 2016-03-26) [Support]

    com.parallels.kext.hypervisor [no charge] (9.0 24251.1052177 - 2016-03-26) [Support]

    com.parallels.kext.NetBridge [no charge] (9.0 24251.1052177 - 2016-03-26) [Support]

    com.parallels.kext.usbconnect [no charge] (9.0 24251.1052177 - 2016-03-26) [Support]

    com.parallels.kext.vnic [no charge] (9.0 24251.1052177 - 2016-03-26) [Support]

    / Applications/Toast Titanium/Spin Doctor.app 11

    com.hzsystems.terminus.driver [no charge] (4-19 - 01 - 2012) [Support]

    Launch system officers:

    [loaded] 7 tasks Apple

    [loading] 153 tasks Apple

    [operation] 78 tasks Apple

    Launch system demons:

    [loaded] 47 tasks Apple

    [loading] 154 tasks Apple

    [operation] 90 tasks Apple

    Launch officers:

    [no charge] com.adobe.AAM.Updater - 1.0.plist (2016-03-08) [Support]

    [operation] com.amazon.sendtokindle.launcher.plist (2015-11-13) [Support]

    [operation] com.epson.ecrp.launcher.plist (2015-06-28) [Support]

    [loading] com.epson.esua.launcher.plist (2016-03-28) [Support]

    [operation] com.epson.eventmanager.agent.plist (2012-05-08) [Support]

    [loading] com.google.keystone.agent.plist (2016-07-11) [Support]

    Launch demons:

    [loading] com.adobe.fpsaud.plist (2016-06-28) [Support]

    [loading] com.google.keystone.daemon.plist (2016-07-11) [Support]

    [loading] com.malwarebytes.HelperTool.plist (2016-07-16) [Support]

    User launch officers:

    [loading] com.adobe.AAM.Updater - 1.0.plist (2016-01-07) [Support]

    [failure] com.lastpass.LastPassHelper.plist (2016-07-21) [Support]

    Items in user login:

    iTunesHelper Application (/ Applications/iTunes.app/Contents/MacOS/iTunesHelper.app)

    Application own memory (memory Clean.app/Applications /)

    Other applications:

    com [running]. GoPro.GoPro - importing

    [performance] com.bloombuilt.dayone - mac-agent

    [ongoing] com.etresoft.EtreCheck.1096352

    com.fiplab.MemoryCleanHelper [loading]

    [ongoing] com.fiplab.memoryclean.1095392

    [loading] 390 tasks Apple

    [operation] 200 tasks Apple

    Plug-ins Internet:

    JavaAppletPlugin: 15.0.1 - 10.11 (2016-02-15) check the version of the SDK

    FlashPlayer - 10.6: 22.0.0.209 - SDK 10.9 (2016-07-15) [Support]

    QuickTime Plugin: 7.7.3 (2016-05-05)

    Flash Player: 22.0.0.209 - SDK 10.9 (2016-07-15) [Support]

    Default browser: 601 - SDK 10.11 (2016-05-05)

    nplastpass: 4.1.2 - SDK 10.11 (2016-07-21) [Support]

    GarminGpsControl: 4.2.0.0 - SDK 10.8 (2014-03-31) [Support]

    Silverlight: 5.1.41212.0 - SDK 10.6 (2016-03-26) [Support]

    iPhotoPhotocast: 7.0 - 10.7 SDK (2012-04-07)

    User Plug-ins internet:

    Web of Google Earth plugin: 7.1 (2013-10-07) [Support]

    Safari extensions:

    AdBlock - BetaFish, Inc. - https://getadblock.com (2016-05-21)

    DuckDuckGo - DuckDuckGo - http://duckduckgo.com (2015-07-11)

    Open in Internet Explorer - Parallels - http://www.Parallels.com/fr/ (2016-01-24)

    PIN button - Pinterest, Inc. - http://www.pinterest.com/ (2016-01-21)

    LastPass - LastPass - https://lastpass.com (2016-07-21)

    1 - ClickWeather - TWCi - http://www.weather.com/ (2014-09-26)

    3rd party preference panes:

    Flash Player (2016-06-28) [Support]

    GoPro (2014-12-25) [Support]

    Paragon NTFS for Mac® OS X (2016-06-24) [Support]

    Time Machine:

    Skip system files: No.

    Mobile backups: OFF

    Automatic backup: NON - automatic backup disabled

    Volumes to back up:

    Macintosh HD: Disc size: 999,35 GB disc used: 804,84 GB

    Destinations:

    Seagate fake TC [network]

    Total size: 5,00 TB

    Total number of backups: 47

    An older backup: 25/06/16, 22:10

    Last backup: 21/07/16, 11:41

    Size of backup drive: Excellent

    Size of backup 5,00 TB > (disk size 999,35 GB X 3)

    Top of page process CPU:

    100% safari

    2% WindowServer

    1% kernel_task

    1% fontd

    0% aslmanager

    Top of page process of memory:

    17.14 Go Safari

    1.08 GB kernel_task

    Com.apple.WebKit.WebContent (4) 492 MB

    Mdworker (17) 369 MB

    98 MB com.bloombuilt.dayone - mac-agent

    Virtual memory information:

    100 MB of free RAM

    used GB RAM 24.00 (1.18 GB being cached)

    18 MB used Swap

    Diagnostic information:

    July 21, 2016, 13:34:20 /Library/Logs/DiagnosticReports/Safari_2016-07-21-133420_[redacted].cpu_resourc e.diag [details]

    /Applications/Safari.app/Contents/MacOS/Safari

    21 July 2016, 13:21:33 self-test - spent

    July 21, 2016, 13:13:28 /Library/Logs/DiagnosticReports/Safari_2016-07-21-131328_[redacted].cpu_resourc e.diag [details]

    July 21, 2016, 13:04:50 /Library/Logs/DiagnosticReports/Safari_2016-07-21-130450_[redacted].hang

    July 21, 2016, 12:49:58 /Library/Logs/DiagnosticReports/Safari_2016-07-21-124958_[redacted].cpu_resourc e.diag [details]

    July 21, 2016, 11:37:51 /Library/Logs/DiagnosticReports/Safari_2016-07-21-113751_[redacted].cpu_resourc e.diag [details]

    July 21, 2016, 11:28:47 /Library/Logs/DiagnosticReports/Safari_2016-07-21-112847_[redacted].hang

    July 21, 2016, 11:12:09 ~/Library/Logs/DiagnosticReports/cloudd_2016-07-21-111209_[redacted].crash

    /System/Library/PrivateFrameworks/CloudKitDaemon.Framework/support/cloudd

    July 21, 2016, 11:00:46 /Library/Logs/DiagnosticReports/Safari_2016-07-21-110046_[redacted].cpu_resourc e.diag [details]

    July 21, 2016, 10:36:18 /Library/Logs/DiagnosticReports/Safari_2016-07-21-103618_[redacted].cpu_resourc e.diag [details]

    July 21, 2016, 08:00:39 /Library/Logs/DiagnosticReports/Safari_2016-07-21-080039_[redacted].cpu_resourc e.diag [details]

    July 20, 2016, 11:13:27 /Library/Logs/DiagnosticReports/Safari_2016-07-20-111327_[redacted].cpu_resourc e.diag [details]

    July 20, 2016, 07:08 /Library/Logs/DiagnosticReports/Safari_2016-07-20-070800_[redacted].cpu_resourc e.diag [details]

    July 19, 2016, 17:09:01 /Library/Logs/DiagnosticReports/CalNCService_2016-07-19-170901_[redacted].crash

    /System/Library/PrivateFrameworks/CalendarAgent.Framework/versions/A/XPCService s/CalNCService.xpc/Contents/MacOS/CalNCService

    July 19, 2016, 12:55:09 /Library/Logs/DiagnosticReports/Safari_2016-07-19-125509_[redacted].cpu_resourc e.diag [details]

    July 18, 2016, 20:01:22 /Library/Logs/DiagnosticReports/Safari_2016-07-18-200122_[redacted].cpu_resourc e.diag [details]

    July 18, 2016, 13:56:03 ~/Library/Logs/DiagnosticReports/suggestd_2016-07-18-135603_[redacted].crash

    /System/Library/PrivateFrameworks/CoreSuggestions.Framework/versions/A/support/ suggestd

    What made these disk errors go away? These are almost always bad news.

    But in fact: at the moment, Safari appears the biggest problem. Try to start in Safe Mode, followed by a normal reboot.

    OS X El Capitan: start in safe mode

  • ModtDestroySessionHandle does not release all memory resources

    Hello

    I have a program that attempts to do 1000 iteriations to read the message of the RF, but I get the error "not enough memory to complete this operation" popup. Look like memory leaks about 520 iterations.

    In this loop, I ModtCreateSessionHandle (& modt_Hdl) initially inside the loop and ModtDestroySessionHandle (modt_Hdl); in the end inside the loop. I had to move both ModtCreateSessionHandle (& modt_Hdl) and and ModtDestroySessionHandle (modt_Hdl) outside the loop to solve the problem.

    Should and release all the atttached of resource memory for mod_Hdl ModtDestroySessionHandle (modt_Hdl)?

    Kind regards

    Shane

    Hiya Shane,

    Thanks for your comments. You are quite correct, the ModtDestroySessionHandle should allow you to free up internal resources and ignores the ModtHandle created using the ModtCreateSessionHandle function. To ensure the appropriate memory release, this function must be called for every ModtHandle created with the ModtCreateSessionHandle function.

    Therefore, I am surprised to hear about memory leaks you have described. However, regardless of the memory leaks, the process of constantly creating sessions (memory allocation) and destruction (deallocation of memory) is horribly inefficient.

    The solution you found yourself is a case of very typical use for modulation functions. Pulling your create and destroy calls outside the loop, you only asked once, but always refferencing the sessions in the loop.

    I will feed your comments to our R & D team, so that we publish handles and allocated memory space as carefully as possible. However, your original architecture is not an intended use function calls, and functions may not be tested in this way. My gut feeling is that maybe every time we create the handle, must have a block of contiguous memory. If there is no variation in grip size, this could cause the 'memory leak' over time. My final comment is purely speculative.

    Ultimately, by following the correct use of the functions you have improved the effecientcy stripped yopur enforcement and removed the potential memory leak.

    Thanks again for your results display.

    Best wishes and greetings,

  • Memory management problem

    I have a VI that usually runs for hours, accumulated test data that is displayed in an indicator of the chain. Measure the hours elapse memory consumption ramp VI until finally, due to the slow performance, LabVIEW must be quit and restarted.

    I think my problem is with the way the test data are accumulated. I wrote a small suitcase of VI test to simulate the question and joined 3 pictures, called memory1, memory2 and memory principale3 for illustration.

    In the Memory1.jpg image, LabVIEW has just started but nothing has yet been executed. Note the memory reading as a starting reference point. In Memory2.jpg, the VI had been running for several minutes before, he was arrested. As expected, memory consumption has increased. In Memory3.jpg, click on the Purge button and the VI is executed, the compensation to the channel indicator and the shift register. Note that consumption of memory is wrong, maybe... BUT not all the way back to the consumer memory departure. As I have said again and again this process, the starting point for consumption memory is always greater than the previous run. As the time passes, I find myself with running sluggish VI which can not be repaired until I have quit and restart LabVIEW.

    Is any way to avoid this problem without leaving LabVIEW?

    Thank you!

    When you click on the button "purge", it erases the registry flag and shift but may not necessarily deallocation of memory.

    In my view, that it should reuse however pre-allocated memory.

    If you want to make sure that LabVIEW empty memory previously allocated when you press the purge button, you will need to put your data collector loop in a Subvi and add a 'Request for deletion of allowance' function to execute when you press the purge button inside the Subvi.

    Palette: Application control > control of memory

    I'm not too sure how you build the string in the registry to offset unintialized. This is a classic recipe for a memory leak.

    LabVIEW takes to guess how much memory you need and he must then keep redirect as the size of the string increases. Constantly construction of an array of strings / can be a tedious process and results in fragmented memory.

    You must also use the feature request to remove allocation sparingly, it requires LabVIEW to reallocate memory and can result in a performance hit by having to constantly re - allocate memory it uses.

  • Delete or remove vi memory

    I'm running a vi which runs ok the first time I run it but does not correctly run subsequent times.  If I close the vi (back to the start of labview screen) and reopen it, then it works again.  The vi in question uses labpython to run some python code.  It is not possible for me to change this code, which is where the underlying bug should be located.

    Is it possible to remove or delete a memory similar to closing vi vi and return to the start screen for labview?  I know this isn't elegant and will be slow, but it seems my only option.

    I'm using Labview 2009 SP1

    See you soon

    Ian

    Ian,

    You must make sure that the VI is not more active (so use nodes "Call by reference" or set the setting 'wait until what"true to the 'run' VI invoke node, then the two blocking calls!) before you close the reference.

    You can try a deallocation 'request' after the closure of the reference.

    hope this helps,

    Norbert

  • LabVIEW optimization of memory allocation

    Never thought while staring at me on purpose to create a labview application that I need to be a computer expert! However, I am still sustained here on this forum, I thank you all and here's another!

    I have developed a large application that calls subvis dynamically. Whenever a called dynamically Subvi is closed and another is responsible, the memory of the previous Subvi is not released. Therefore, I could see in the resource manager that my memory RAM 'physically used' keep creeping up, closer to the memory of 8 GB.

    All I want is when I close a dynamic called Subvi, all memory he held RAM is released and all its data are kind of thrown out of RAM. Is this possible? Or I'm going to be ridiculous!

    See you soon

    Waris K

    Have you tried the function request deallocation ?

  • LabVIEW: Memory is full

    Hello world!

    I've implemented a treatment algorithm of image enlarged in LabVIEW using lots of Matlab code imported across Mathscript node and when I finish the implementation of the algorithm that I discovered that it works very well for a small number of photos, but it is out of memory if I give her more than 25-30. My intentions are to pass in a database of about 1200 photos, so this very small amount it can handle seems to be a pretty huge problem for me. How can I make the algorithm better scale and manage hundreds or even thousands of photos?

    Here you have my top level VI simply going through a folder containing images and compares them to a reference image. Expected result is to have a table of scores of similarity between each image in the folder and this one reference.

    I have two sub - VI that I understood that they can cause the problem. Properties VI recover did most of the work that takes as input image, lots of calls from Matlab code ".m" files and comes out a bit pattern and the mask of the image. Hamming Distance VI takes then the pictures in the folder model and the mask of the reference image, running the properties for the image in the file VI recover and made some logical operations (XOR, AND) on the models and the masks and exits mark a double precision. The Subvi is called for each image in the file and this is what it looks like:

    As I mentioned earlier, the algorithm works very well for a small number of photos, but when I give her more than 25-30 I get error that "memory is full". I read a few posts on this topic and most of them said to reduce the number of elements of façade, paintings, copies of paintings and each large data structure that uses contiguous allocation, so I tried to do. My only element on the front panel is the table with the final results, but I can't handle the Matlab code too as it's not my code, I just have a permission to use it.

    As a final information that might be relevant, I should mention the size of the images: they are images in grayscale 150 x 200 with a size of about 22-25 KB data.

    Does anyone have an idea how this algorithm works on a scale longer than photos?

    kemenesendre wrote:

    From the point of view of applying it in LabVIEW, I thought that it should work fine by calling it from Matlab code. I mean, why reinvent the wheel if I have the tools to use the existing code?

    Yes, I get the point, and in this case, it looks like you have a decent amount of Matlab code, so that, probably, is not an option.  But if you were on a forum of Matlab Matlab code that called the ActiveX functions in Excel to perform mathematical operations, and return the result, so I expect this forum to tell you also probably should have implemented in Matlab, instead of yelling to an external library.

    Is it possible to perform operations in pieces?  Maybe run a part of the Matlab calls, return a result, then that feed into another call of Matlab?  Without knowing where the allocation of memory and without knowing where large quantities of data are allocated, it is difficult to recommend something with a lot of confidence.

    Still based on the code, I see that I don't expect the number of cases being the material processes.  You only take a double for each processed image.  Thus, even if it takes 1 GB RAM to process an image, once the image is being processed, the memory must be deallocated, other than one number resulting from this image.  Basically what I'm saying, is if it can process 5 images, it should be able to handle 5000 (or more) are you sure that it is not crapping on a particular image?  What happens if you try to just process image that he is unable to deal with?

  • LV memory leak - how to use windows API SetProcessWorkingSetSize (from Kernel32.dll)

    Hi comrade LV'ers

    Well - it's a little tricky, but I will try and explain the problem and then ask the solution, because it is maybe someone knows a better way to deal with this... can get a bit long, sorry - if a solution comes up it will allow all of us to do more effective memory LV code so please read on...

    Here's the deal:

    When building even a simple executable LV, looking at the windows task manager will give a fairly large amount of memory allocated for such a small program - and the only way to free that is physically clicking windows minimize button, and then suddenly the amount falls to only a few MB and to maximize the window again once memory increase consumption somewhat new , but for a simple construction of VI for an exe that movement can alter consumption of + 70 MB less than 15 MB... This is regardless of the code that you put in the VI, so no coding example in this post, as is works the LV - you can even test with the development environment - look at the task mgr and verify the consumption of memory of LabVIEW, open inappropriate, ALL AND windows incl. Explorer etc., and you will see a significant decrease in the use of memory even after optimizing yet... This has bugged me since the first day, but as the RAM is a near zero cost these days is not something that I stay awake at night thinking... However - I spent in the tools to "publish to the web", eager to be a part of monitoring remote for my application my clients to discover the increased ease of use of the software that I sell them...

    All right, the editing is really easy (I use the monitoring function, NOT the embeded, clients should not have installed Labview RunTimeEngine because they could be watching a platform RTE unsupported as a web browser for mobile phone)

    Everything works very well also for the purposes of construction. -J' noticed that once users start remotely monitor running application - use memory in the application being LV begins to rise - and it keeps this making - to such an extent that you can drain the full computer and run the cliff with a windows error... It is of course not very productive for me, being specialized in measurement applications that usually runs for a long period of time - I first thought that I had made a few poor emissions in the VI will display on the Web page - but it turns out that I can reproduce this behavior with a simple Boolean on an empty façade...

    Supported OR has been informed, and they admit there is a problem, but so far, solutions to them was a bit too exotic for my taste, and so I'm looking for help from colleagues LV programmers...

    See you-the method to solve the memory consumption, is exactly the same one mentioned above... minimize the application running with the "minimize" button and all the memory will be released, as soon as you maximize the application and users are viewing from a distance, the use of memory raises once again, and history repeats... As mentioned previously, reducing the window via normal calls from LV property nodes does not give the same result, no more than a request deallocation of a VI (when you profile a project, there is no VI not growing to in memory, it is the LV the treat yourself do)

    After many search on Google for many hours, I came across this:

    http://support.Microsoft.com/?kbid=293215

    I think cutting the process with SetProcessWorkingSetSize would solve this problem, and now I would really like to be able to do that in my program, so that users are not forced to reduce every X hour program depending on their size of system...

    However - I have absolutely NO experience in calling the APIs windows of LV, I need someone with this knowledge to give an example of how to call this... I looked at the examples on how to make calls to the windows API - there is an example in this forum with a few inside llb and I gained an understanding about how parameters are passed between calls, but none to those who understand the 'hProcess' handle which is apparently necessary for this specific work winAPI call - everyone in this forum with the knowledge on how to get the handle of a VI, if possible, and could provide an example VI for me to use - or better yet, someone with knowledge of the procedure to follow in LV it self?

    Your help is highly appreciated

    Best regards

    Jacob

    LV8.6.1 patch something

    Win XP

    Hello

    see http://decibel.ni.com/content/docs/DOC-9292

    It is a kind of task manager with the ability to carve out the memory of a process.

    He calls SetProcessWorkingSetSize.

    Maybe it's help you wil

    Cosmin

    www.controlsag.ro

  • Memory is full (~ 10 GB datalog file)

    Hello

    I developed an application that generates a temporary file (*.csv) record datalog with @10ms. after a trial of ~ 3 days, I need to merge all the temporary files into a single file.

    implementation: to merge into a single file, I calculate the total line is every temp. File and reading k 25 ranks by iteration, and I write in the file main datalog. When the file size reaches ~ 400MB. I have labview: memory is full error. in the loop, I used "deallocation request" palette ", but did not work."

    I enclose the screenshot of the code. Please suggest me a solution


  • How can I remove a file for LabVIEW does not keep a copy in memory?

    After I use the command "Delete" files Advanced features, and then create a new file with the same name, LabVIEW must have the original in memory because the file continues to grow and is not what I want to do.  I tried the deallocation "request" for the control of the Application--> control of memory, but it does not work either.

    Your help is appreciated and thank you.

    Vince

    I never saw a 4 d picture in before real employment.

    You're not erase your data.  In the second excerpt that you posted, you continually add new 3D you berries table 4 d.  You manage this 4 d with the feedback node table.

    What you need to do, when you want to delete this table 4 d, for wire table 4 d vacuum in this feedback node rather than the result of the function Array construct.  You can use a function of selection or a structure deal to choose between the results on the cable and an empty table 4 d constant according to some Boolean condition allows you to determine the table needs to be emptied.

  • Detect memory leaks?

    Hi all

    How can I detect memory allocation, deallocation of memory, the memory leaks that happens in an application?

    We all know that the GC takes care of deallocation, but how can I trace the GC during debugging?

    VM: + GC (f) w = 18
    VM:-GCt = 3, b = 0, r = 0, g = f, w = 18.

    When debugging I came across this kind of statements several times... which means that they? GC means garbage collector debugging info here?

    Thanks for the developer info of BB.

    Detect the memory Info in JDE, in Eclipse:

    Check the Help menu, open search type garbage collector. It is detailed.

  • High memory consumption of Developer SQL 3.2.20.09.87

    Hello

    I have been using SQL Developer for some time and had initially had problems in the past with memory consuption high when I use this tool.
    I have received and applied the advice from this forum, and while he had helped a little, the majority of high memory consumption remains a problem.

    Finally, I had more time to dig around and try to isolate exactly where the problem seems to come from and here's what I found.

    (* 1) * I removed functionality updates checking
    (* 2) * I turned it off a lot of the extensions with the exception of Navigator DBA, SQL monitoring in real time, search bar, and extracts.
    (* 3) * when I start a fresh SQL Developer Session and initiate an Oracle application connection consumes about 148 meg RAM fo
    (* 4) * when I opened my Windows Task Manager and watch the memory allocated to SQL Developer, I noticed it goes back to when I move my mouse over the SQL Developer tool and when I run the menu about 5 k a second or so and the memory never came out in the system.
    (* 5) * when I run a great SQL in the memory grid jumps by about 100 meg or more and will continue to do so whenever I repeat the SQL until the SQL Developer consumes about 748 meg of RAM.
    (* 6) * 748 Meg of RAM seems to be the number when the SQL Developer (with an Oracle connection) is more continues to consume more and then not return memory to the system.

    Is it possible to have a SQL Developer automatically clear it's using active memory without closing down then restarting him?
    Why SQL Developer continues to consume memory more and more just to move your mouse or navigation in the menus?

    Here is my speech in detail;

    -----

    Oracle SQL Developer 3.2.20.09
    Version 3.2.20.09
    Build a HAND - 09.87
    Copyright © 2005, Oracle 2012. All rights reserved.
    The IDE version: 11.1.1.4.37.59.48
    Product ID: oracle.sqldeveloper
    Product version: 11.2.0.09.87

    Version
    -------

    Version of the component
    =========     =======
    Java (TM) Platform 1.6.0_35
    Oracle IDE 3.2.20.09.87

    Properties
    ----------

    Value name
    ====     =====
    awt. Sun.awt.windows.WToolkit Toolkit
    Class.Load.Environment oracle.ide.boot.IdeClassLoadEnvironment
    Class.Load.log.Level CONFIG
    Class.Transfer delegate
    leader. Encoding Cp1252
    leader. Encoding.pkg sun.io
    leader. Separator.
    Fake Ice.Browser.ForceGC
    True Ice.Pilots.html4.ignoreNonGenericFonts
    Ice.Pilots.html4.tileOptThreshold 0
    IDE. True AssertTracingDisabled
    IDE.bootstrap.Start 109707460930968
    IDE. Build HAND - 09.87
    IDE.conf C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
    IDE.config_pathname C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
    IDE. Fake DebugBuild
    Fake IDE.devbuild
    sqldeveloper IDE.extension.Search.Path / extensions: jdev / extensions: ide / extensions
    True IDE.firstrun
    IDE.java.MinVersion 1.6.0_04
    3276 ide.launcherProcessId
    IDE.main.Class oracle.ide.boot.IdeLauncher
    IDE.patches.dir ide/lib/patches
    IDE.pref.dir developer C:\Users\twilliams\AppData\Roaming\SQL
    IDE.pref.dir.base C:\Users\twilliams\AppData\Roaming
    IDE. Product oracle.sqldeveloper
    ide.shell.enableFileTypeAssociation C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin\sqldeveloperW.exe
    IDE. Splash.Screen splash.gif
    ide.startingArg0 C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin\sqldeveloperW.exe
    IDE.startingcwd C:\app\twilliams\product\11.2.0\client_3\SQLDEVELOPER\SQLDEVELOPER\BIN
    IDE. User.dir developer C:\Users\twilliams\AppData\Roaming\SQL
    IDE. User.dir.var IDE_USER_DIR
    IDE. Work.dir developer C:\Users\twilliams\Documents\SQL
    IDE. Work.dir.base C:\Users\twilliams\Documents
    fake ilog.propagatesPropertyEditors
    Java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment
    Java.awt.PrinterJob sun.awt.windows.WPrinterJob
    Java.class.Path...... \ide\lib\ide-boot.jar
    Java.class.version 50.0
    Java.endorsed.dirs C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\endorsed
    Java.ext.dirs C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\ext; C:\Windows\Sun\Java\lib\ext
    Java.Home C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre
    Java.IO.TMPDIR c:\Temp\
    Java.Library.Path C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin; C:\Windows\Sun\Java\bin; C:\Windows\System32; C:\Windows; C:\app\twilliams\product\11.2.0\client_3\bin; C:\app\twilliams\product\11.2.0\client_3; C:\Windows\System32; C:\Windows; C:\Windows\System32\Wbem; C:\Windows\system32\WindowsPowerShell\v1.0\; C:\Program Files\Lenovo\Access Connections\. C:\Program Files\WinMerge; C:\Program logiciels\ ThinkPad;
    Java.naming.Factory.initial oracle.javatools.jndi.LocalInitialContextFactory
    Java.Protocol.Handler.pkgs oracle.jdevimpl.handler
    Java.Runtime.Name Java (TM) SE Runtime Environment
    Java.Runtime.version 1.6.0_35 - b10
    Java.Specification.Name Java Platform API Specification
    Java.Specification.Vendor Sun Microsystems Inc.
    Java.Specification.version 1.6
    Java.util.Logging.config.file logging.conf
    Java.Vendor Sun Microsystems Inc.
    Http://java.sun.com/ Java.Vendor.URL
    Java.Vendor.URL.bug http://java.sun.com/cgi-bin/bugreport.cgi
    Java.version 1.6.0_35
    Java.VM.info mixed mode
    Java.VM.Name machine customer of Java virtual
    Java.VM.Specification.Name specification of Machine Java virtual
    Java.VM.Specification.Vendor Sun Microsystems Inc.
    Java.VM.Specification.version 1.0
    Java.VM.Vendor Sun Microsystems Inc.
    Java.VM.version 20.10 - b01
    JDBC. Driver.Home /C:/app/twilliams/product/11.2.0/client_3/
    JDBC. Library /C:/app/twilliams/product/11.2.0/client_3/jdbc/lib/ojdbc6.jar
    Line.Separator \r\n
    Oracle.Home C:\app\twilliams\product\11.2.0\client_3\sqldeveloper
    true oracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG
    fake oracle.jdbc.mapDateToTimestamp
    of Oracle.translated.locales, are, fr, it, ja, ko, pt_BR, zh_CN, zh_TW
    Oracle.xdkjava.Compatibility.version 9.0.4
    orai18n. Library /C:/app/twilliams/product/11.2.0/client_3/jlib/orai18n.jar
    OS. Arch x 86
    OS. Name Windows 7
    OS.version 6.1
    Path.Separator;
    con reserved_filenames, to the, prn, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, com1, com2, com3, com4, com5, com6, com7, com8, com9, conin$, conout, conout$
    sqldev. False debug
    Sun.Arch.Data.Model 32
    Sun.Boot.class.Path C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\resources.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\rt.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\sunrsasign.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\jsse.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\jce.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\charsets.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\lib\modules\jdk. Boot.jar; C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\classes
    Sun.Boot.Library.Path C:\app\twilliams\product\11.2.0\client_3\sqldeveloper\jdk\jre\bin
    Small Sun.CPU.endian
    Sun.CPU.isalist pentium_pro + pentium mmx + mmx pentium i486 i386 i86 pentium_pro
    Sun.Desktop windows
    Sun.IO.Unicode.Encoding UnicodeLittle
    Fake Sun.Java2D.ddoffscreen
    Sun.JNU.Encoding Cp1252
    Sun.Management.Compiler HotSpot Client compiler
    Sun.OS.patch.Level Service Pack 1
    User.Country U.S.
    User.dir C:\app\twilliams\product\11.2.0\client_3\SQLDEVELOPER\SQLDEVELOPER\BIN
    User.Home-C:\Users\twilliams
    User.language en
    User.Name twilliams
    User.TimeZone America/Los Angeles
    User.Variant
    Windows.Shell.font.Languages

    Extensions
    ----------

    Name identifier Version status
    ====     ==========     =======     ======
    Check For Updates oracle.ide.webupdate 11.1.1.4.37.59.48 responsible
    Oracle.ide.ceditor 11.1.1.4.37.59.48 code editor in charge
    Charge of the component Palette oracle.ide.palette1 11.1.1.4.37.59.48
    Data Miner oracle.dmt.dataminer 11.2.1.1.09.87 disabled by user
    Support connection to database oracle.jdeveloper.db.connection 11.1.1.4.37.59.48 responsible
    Charge of the object database explorers oracle.ide.db.explorer 11.1.1.4.37.59.48
    Charge of oracle.ide.db of the user interface of database 11.1.1.4.37.59.48
    Schema oracle.diagram framework 11.1.1.4.37.59.48 Loaded
    Diagram of Javadoc Extension oracle.diagram.javadoc 11.1.1.4.37.59.48 Loaded
    Diagram thumbnail oracle.diagram.thumbnail 11.1.1.4.37.59.48 Loaded
    Diff/Merge oracle.ide.diffmerge 11.1.1.4.37.59.48 responsible
    Extended Platform IDE oracle.javacore 11.1.1.4.37.59.48 responsible
    Oracle.IDE.externaltools of external tools 11.1.1.4.37.59.48 responsible
    Support oracle.ide.files 11.1.1.4.37.59.48 Loaded file
    Help oracle.ide.help system 11.1.1.4.37.59.48 Loaded
    Steeped in history oracle.jdeveloper.history Support 11.1.1.4.37.59.48
    Charge of the Import/Export oracle.ide.importexport 11.1.1.4.37.59.48 Support
    Index Migrator support oracle.ideimpl.indexing - migrator 11.1.1.4.37.59.48 Loaded
    JDeveloper Runner oracle.jdeveloper.runner 11.1.1.4.37.59.48 responsible
    JViews record Addin oracle.diagram.registration 11.1.1.4.37.59.48 responsible
    Connect to oracle.ide.log 11.1.1.4.37.59.48 of the Loaded window
    Mac OS X adapter oracle.ideimpl.apple 11.1.1.4.37.59.48 responsible
    Navigator oracle.ide.navigator 11.1.1.4.37.59.48 responsible
    Gallery of the object oracle.ide.gallery 11.1.1.4.37.59.48 responsible
    Oracle IDE oracle.ide 11.1.1.4.37.59.48 responsible
    Oracle SQL Developer oracle.sqldeveloper 11.2.0.09.87 responsible
    Oracle SQL Developer - 3rd party browsers oracle.sqldeveloper.thirdparty.browsers 11.2.0.09.87 Database loaded
    Oracle SQL Developer - APEX listener Administration oracle.sqldeveloper.listener 11.2.0.09.87 responsible
    Oracle SQL Developer - change Mangement oracle.sqldeveloper.em_cm 11.2.0.09.87 responsible
    Oracle SQL Developer - DBA Navigator oracle.sqldeveloper.dbanavigator 11.2.0.09.87 responsible
    Oracle SQL Developer - database oracle.sqldeveloper.dbcart 11.2.0.09.87 basket loaded
    Oracle SQL Developer - Extras oracle.sqldeveloper.extras 11.2.0.09.87 responsible
    Oracle SQL Developer - file Navigator oracle.sqldeveloper.filenavigator 11.2.0.09.87 loaded
    Oracle SQL Developer - missing dependencies of migration Antlr3 translator oracle.sqldeveloper.migration.translation.core_antlr3 11.2.0.09.87: oracle.sqldeveloper.migration
    Oracle SQL Developer - Migration oracle.sqldeveloper.migration.application 11.2.0.09.87 migration applications disabled by user
    Oracle SQL Developer - Migration Core oracle.sqldeveloper.migration 11.2.0.09.87 disabled by user
    Oracle SQL Developer - DB2 migration oracle.sqldeveloper.migration.db2 11.2.0.09.87 disabled by user
    Oracle SQL Developer - missing dependencies of migration DB2 translator oracle.sqldeveloper.migration.translation.db2 11.2.0.09.87: oracle.sqldeveloper.migration, oracle.sqldeveloper.migration.translation.core_antlr3
    Oracle SQL Developer - Migration Microsoft Access oracle.sqldeveloper.migration.msaccess 11.2.0.09.87 disabled by user
    Oracle SQL Developer - Migration Microsoft SQL Server oracle.sqldeveloper.migration.sqlserver 11.2.0.09.87 disabled by user
    Oracle SQL Developer - Migration MySQL oracle.sqldeveloper.migration.mysql 11.2.0.09.87 disabled by user
    Oracle SQL Developer - Migration Sybase Adaptive Server oracle.sqldeveloper.migration.sybase 11.2.0.09.87 disabled by user
    Oracle SQL Developer - migration T missing dependencies - SQL Translator oracle.sqldeveloper.migration.translation.core 11.2.0.09.87: oracle.sqldeveloper.migration
    Oracle SQL Developer - Migration Teradata oracle.sqldeveloper.migration.teradata 11.2.0.09.87 disabled by user
    Oracle SQL Developer - missing dependencies of migration Teradata SQL Translator oracle.sqldeveloper.migration.translation.teradata_translator 11.2.0.09.87: oracle.sqldeveloper.migration, oracle.sqldeveloper.migration.translation.core
    Oracle SQL Developer - Migration UI oracle.sqldeveloper.migration.translation.gui 11.2.0.09.87 translation disabled by user
    Oracle SQL Developer - Object oracle.sqldeveloper.oviewer 11.2.0.09.87 browser loaded
    Oracle SQL Developer - Real Time SQL Monitoring oracle.sqldeveloper.sqlmonitor 11.2.0.09.87 responsible
    Oracle SQL Developer - reports oracle.sqldeveloper.report 11.2.0.09.87 responsible
    Oracle SQL Developer - oracle.sqldeveloper.scheduler 11.2.0.09.87 Planner disabled by user
    Oracle SQL Developer - schema browser oracle.sqldeveloper.schemabrowser 11.2.0.09.87 responsible
    Oracle SQL Developer - SearchBar oracle.sqldeveloper.searchbar 11.2.0.09.87 responsible
    Oracle SQL Developer - Security oracle.sqldeveloper.security 11.2.0.09.87 disabled by user
    Oracle SQL Developer - extract oracle.sqldeveloper.snippet 11.2.0.09.87 responsible
    Oracle SQL Developer - spatial oracle.sqldeveloper.spatial 11.2.0.09.87 disabled by user
    Oracle SQL Developer - TimesTen oracle.sqldeveloper.timesten 11.2.0.09.87 disabled by user
    Oracle SQL Developer - Tuning oracle.sqldeveloper.tuning 11.2.0.09.87 responsible
    Oracle SQL Developer - Unit Test oracle.sqldeveloper.unit_test 11.2.0.09.87 disabled by user
    Oracle SQL Developer - support to users oracle.sqldeveloper.userextensions 11.2.0.09.87 Extensions loaded
    Oracle SQL Developer - spreadsheet v2 oracle.sqldeveloper.worksheet 11.2.0.09.87 responsible
    Oracle SQL Developer - oracle.sqldeveloper.xmlschema 11.2.0.09.87 XML schema loaded
    Oracle SQL Developer Data Modeling oracle.datamodeler 3.1.4.710 disabled by user
    Data Modeler Oracle SQL Developer - reports oracle.sqldeveloper.datamodeler_reports 11.2.0.09.87 disabled by user
    Debugger oracle.jdeveloper.db.debug.probe 11.1.1.4.37.59.48 Loaded PROBE
    Look oracle.ide.peek 11.1.1.4.37.59.48 responsible
    Storage Oracle.IDE.persistence persistent 11.1.1.4.37.59.48 loaded
    Support for the property inspector oracle.ide.inspector 11.1.1.4.37.59.48
    QuickDiff oracle.ide.quickdiff 11.1.1.4.37.59.48 responsible
    Charge to replace by oracle.ide.replace 11.1.1.4.37.59.48
    Runner oracle.ide.runner 11.1.1.4.37.59.48 load
    THT oracle.ide.vhv 11.1.1.4.37.59.48 responsible
    Versioning Support oracle.jdeveloper.vcs 11.1.1.4.37.59.48 disabled by the user
    Support for versioning for missing dependencies of Subversion oracle.jdeveloper.subversion 11.1.1.4.37.59.48: oracle.jdeveloper.vcs
    Oracle.IDE.VFS of charge virtual filesystem 11.1.1.4.37.59.48
    Browser Web and Proxy oracle.ide.webbrowser 11.1.1.4.37.59.48 responsible
    Load the Extension XML Editing Framework IDE oracle.ide.xmlef 11.1.1.4.37.59.48
    Audit oracle.ide.audit 11.1.1.4.37.59.48 Loaded
    classpath: protocol extension oracle.jdeveloper.classpath 11.1.1.0.0 Manager support
    jdukshare oracle.bm.jdukshare 11.1.1.4.37.59.48 responsible
    MOF - xmi oracle.mof.xmi 11.1.1.4.37.59.48 responsible
    Oracle.IDE.Dependency oracle.ide.dependency 11.1.1.4.37.59.48 responsible
    Oracle.IDE.Indexing oracle.ide.indexing 11.1.1.4.37.59.48 responsible
    Palette2 oracle.ide.palette2 11.1.1.4.37.59.48 responsible
    status oracle.ide.status 11.1.1.4.37.59.48 responsible



    Thanks in advance...
    Tom

    Published by: ERPDude on February 28, 2013 14:46

    Hi Tom,

    Memory consumption you observe is characteristic of the machine virtual Java and algorithm of garbage collection that he uses. There are a few tricks you can use to improve the deallocation of memory in the JAVA virtual machine. See the following topics:
    Re: Reduce the footprint memory SQLDeveloper with JDK 1.7
    Re: Memory leak or bad Java Garbage Collector

    In addition, it is best to follow the size of the heap of the JVM and memory via a memory profiler. The Task Manager is supposed to these exaggerate.

    Kind regards
    Gary
    SQL development team

Maybe you are looking for