How to reduce page faults (virtual memory) usage in LabVIEW

I am running LabVIEW 2010 on Windows Embedded Standard system 4G (3G usable) of RAM.
The program (executable running on the Run-Time Engine) continuously samples from a USB-6251 at 1MS/sec (2 channels @ 500K) and scans the data stream for anomalous events, which are recorded to file.  The system is intended to run 24/7 for at least 2 months, and although everything is working fine (6% CPU, no memory leaks), it generates 6000 Page Faults / second.  I am concerned that I will kill the hard-drive at this rate, over long periods of time.  There is plenty of RAM available (LabVIEW is only using 200K, and there is over 2G free), but the program is choosing to rely on Virtual Memory instead.
Is there a way to force (coerce) a LabVIEW application to consume more RAM and less VM?
The code is heavy (2 independent routines to collect and process the data stream through a shared double buffer, lots of in-obvious logic...), but I will post if it would help to answer the question.

Craig Akers wrote:
I am running LabVIEW 2010 on Windows Embedded Standard system 4G (3G usable) of RAM.
The program (executable running on the Run-Time Engine) continuously samples from a USB-6251 at 1MS/sec (2 channels @ 500K) and scans the data stream for anomalous events, which are recorded to file.  The system is intended to run 24/7 for at least 2 months, and although everything is working fine (6% CPU, no memory leaks), it generates 6000 Page Faults / second.  I am concerned that I will kill the hard-drive at this rate, over long periods of time.  There is plenty of RAM available (LabVIEW is only using 200K, and there is over 2G free), but the program is choosing to rely on Virtual Memory instead.
Is there a way to force (coerce) a LabVIEW application to consume more RAM and less VM?
The code is heavy (2 independent routines to collect and process the data stream through a shared double buffer, lots of in-obvious logic...), but I will post if it would help to answer the question.
IIRC, the decision to move a page of memory from physical memory to disk is made at the OS level.  There probably isn't any setting you can change in LabVIEW to change this behavior.
Keep in mind that not every page fault results in a page being loaded from disk.  If your program (or the LabVIEW run-time) is frequently allocating and freeing memory, you could get a lot of soft page faults as the physical memory pages are repeatedly allocated to your process and returned to the OS.  If you're only running at 6% CPU, this wouldn't be a problem.
You could try disabling the page file altogether, if the machine has enough RAM, but I wouldn't do this unless you actually have a performance (or hard-disk durability) problem.  Having a page file to back up the physical memory is the difference between your program suffering from degraded performance vs. simply crashing if the machine runs out of physical memory.
Mark Moss
Electrical Validation Engineer
GHSP

Similar Messages

  • How to reduce "other" in itunes memory on iphone?

    how to reduce "other" in itunes memory on iphone?  The amount of memory is increasing to point i have no more memory.  Most of this is in iphone "other".  How do I reduce this?

    Not if you sync regularly. And have set up the phone to sync to contact and calendar apps on your computer as explained in the manual.

  • How can one use the physical memory of our system rather than virtual memory while running Labview?

    We have a Windows NT system with 2 Gb of physical memory and would like to utilize the RAM fully using Labview. What usually occurs is that Labview uses a tremendous amount of page file space while a majority of the physical memory is unused. Is there a way to configure Labview (or our system) to overcome this problem? It seems that our processes would be much faster if they were mainly using the physical memory. Is it possible to trick the system, by creating a RAM disk and allocating this as virtual memory space?

    > We have a Windows NT system with 2 Gb of physical memory and would
    > like to utilize the RAM fully using Labview. What usually occurs is
    > that Labview uses a tremendous amount of page file space while a
    > majority of the physical memory is unused. Is there a way to
    > configure Labview (or our system) to overcome this problem? It seems
    > that our processes would be much faster if they were mainly using the
    > physical memory. Is it possible to trick the system, by creating a
    > RAM disk and allocating this as virtual memory space?
    LabVIEW the application doesn't know anything about physical versus
    virtual memory. LV asks the OS for general purpose memory and goes
    from there.
    Drivers like DAQ and IMAQ will have a combination of general user
    memory and page lo
    cked physical buffers.
    I'm not up on the details, but this is something that the OS is in
    control of, so that is where you need to look for the solution. One
    of the things to look at is the disk cache. By default, I think that
    NT takes a percentage of the RAM to use for disk cache. With that
    much RAM, this is probably unnecessary and is using too much.
    Similarly, the OS may be attempting to keep the working set size
    to a fraction of the total RAM to reserve space for other things.
    It doesn't make sense to me, but then I don't work for MS.
    Greg McKaskle

  • High Virtual memory usage when using Pages 2.0.2

    Hey there,
    I was just wondering whether there had been any other reports of unusually high memory usage when using Pages 2.0.2, specifically Virtual memory. I am running iWork 06 on the Mac listed below and Pages has been running really slowly recently. I checked the Activity Monitor and Pages is using hardly any Physical memory but loads of Virtual memory (so much so that the Page outs are almost as high as the Page ins (roughly 51500 page ins / 51000 page outs).
    Any known problems, solutions or comments for this problem? Thanks in advance

    I don't know if this is specifically what you're seeing, but all Cocoa applications, such as Pages, have an effectively infinite Undo. If you have any document that you've been working on for a long time without closing, that could be responsible for a large amount of memory usage.
    While it's good practice to save on a regular basis, if you're making large amounts of changes it's also a good idea to close and reopen your document every once in awhile, simply to clear the undo. I've heard of some people seeing sluggish behavior after working on a document for several days, which cleared up when the document was closed and reopened.
    Titanium PowerBook   Mac OS X (10.4.8)  

  • How to change the optimal virtual memory

    Hi, i use a tevra m2 1.8 GHz 512 MB laptop.
    normally used for office work and not for gaming,
    antivirus bitdefender consumes lots of memory so one has to be cautious on using memory.
    so i was wondering if anybody knows how to configure the best the 'virtual memory' : min and max : about 1.5 and 2 times the RAM-size ?
    Thanks in advance

    Hi
    Please go to:
    System Properties - "Advanced" tab - Settings in the performance area - "Advanced" tab - "Change" button
    There you will find the Virtual memory settings.
    I would recommend setting the settings to "System managed size". In this case the OS will control the value automatically.

  • How to find out CPU and memory usage for an instance?

    Hi DBA Gurus,
    How to find out CPU usage and memory usage for an instance?
    Any information is appreciated!
    Thank you!
    Robert

    you can calculate cpu usage by adding fallowing three factors which you can get from v$sysstat
    1. Parse CPU time : This represents the percentage of CPU time spent parsing SQL statements. Parse time CPU can be a strong indication that an application has not been well tuned. High parse time CPU usually indicates that the application may be spending too much time opening and closing cursors or is not using bind variables.
    2. Recursive CPU time : Sometimes, to execute a SQL statement issued by a user, the Oracle Server must issue additional statements. Such statements are called recursive calls or recursive SQL statements. For example, if you insert a row into a table that does not have enough space to hold that row, the Oracle Server makes recursive calls to allocate the space dynamically if dictionary managed tablespaces are being used.
    Recursive calls are also generated due to the inavailability of dictionary info in the dictionary cache, firing of database triggers, execution of DDL, execution of SQL within PL/SQL blocks, functions or stored procedures and enforcement of referential integrity constraints
    3. Other CPU time : This represents the percentage of time spent looking for buffers, fetching rows or index keys, etc. Generally, \"Other\" CPU should represent the highest percentage of CPU time out of the total CPU time used.
    total memory used you can calculate adding
    total_agrigate_area+sga
    memory usage on os level you can know by fallowing commands
    vmstat 5 20 depending upon os

  • Activity Monitor shows virtual memory usage is way too high

    35 Gb of virtual memory for Safari, Mail, iTunes, Activity Monitor and all running processes!
    Why these numbers are so high compared to Tiger? Can someone please explain? Is it a bug or something or is it the new way introduced with Leopard?
    RAM and CPU usage looks fine though but this VM usage seems too high to me. I will run out of disk space after a couple of days of runtime. And the Adobe Creative Suite is not even running. Jeez...
    Message was edited by: flec65

    Thanks for the hint Niel.
    The /private/var/vm folder is actually only 64 Mb. I can calm myself now...
    (via Go menu in the Finder, select Go to Folder and type /private/var/vm to access it)
    But why is Activity Monitor behaving like this in Leopard?

  • Premiere Pro CC 2014 60GB virtual memory usage

    The longer Premiere stays open, the slower it runs and the more memory it uses until the system errors out and makes me close things.
    Any ideas? 60GB memory usage seems ridiculous. The total footage size is only 10GB.
    Running Premiere Pro CC 2014 and After Effects CC 2014 with dynamic linked files, app nap turned off.

    Am having the exact same issue - premiere clogging up my system with excessive memory usage until I am forced to close things. Using most recent premiere update 8.1. Please help adobe! I'm on a deadline!

  • How to find private and virtual memory for a process in solaris 2.6

    Could somebody please help me with the commands that I can use to find the private and virtual mem. usage by a process ?
    Pls contact me on [email protected]
    Thankyou.

    Try /usr/proc/bin/pmap .
    -Prajeesh

  • Indesign export to pdf. How to reduce page size to 80%?

    When i export from indesign to pdf i have no option to reduce the page size. The pdf i get is then far too big. The thing is that i can not make the indesign document itself smaller since i need it to export it to jpeg too. Is there a way that i oversee? Thanx, Hans

    If you're lucky, you can set a reduction factor in your Print setup dialog -- then you could use Print To File instead, and use the Distiller.
    That would not include any bookmarks or hyperlinks, though.
    Another option could be to create a new document of 80% size, then place your old doc as images into this. A placed ID page can be reduced in size just like a placed PDF.

  • How to reduce page load time

    Hi All,
    In my page i have 2 portlets...
    The first portlet takes 10 seconds to render and the second portlet takes 8 seconds to render. Therefore, your page is taking more than 18 seconds to render. I want render these portlets in <= 12 seconds ...
    Please give any suggestions..
    Thanks in advance...

    Try using AJAX to load the portlets

  • [Urgent]How can I write to physical memory by using LabVIEW 8.2??

    Hi everybody,
    I am dealing with a project related to micro-EDM. We feed the gap voltage back to a NI DAQ card (not quite sure about the series number, might not be important to this problem), and we want to use this voltage to determine the command position of the motor, which is controlled by a Delta Tau PMAC motion controller. Now the problem is, the NI DAQ card and Delta Tau PMAC controller cannot communicate directly with each other. Therefore, we want the LabVIEW to write the value of voltage to a certain physical memory address, and then let the PMAC controller read that address. Is this feasible by using LabVIEW and NI-DAQ card? Which block or library in LabVIEW shall I use to achieve that? Or is there any alternative way to do it? Thanks a million!
    I have to get this done by the end of this week....if you know how to do it, please let me know. I really appreciate it! You are my lifesavor! 
    Regards,
    Xiaofei

    Duplicate post: http://forums.ni.com/ni/board/message?board.id=170&thread.id=289539&jump=true
    LabVIEW Champion . Do more with less code and in less time .

  • How solaris calculate virtual Memory ?

    Hi,
    I am using Solaris 10 on both sparc and x86 server.
    I am still unable to comprehend how solaris calculate Total Virtual Memory.
    We can check the Virtual Memory in system by SMC tool and by #swap -s command.
    swap -s
    total: 6071888k bytes allocated + 1010404k reserved = 7082292k used, 52134560k availableAbove output shows that total virtual memory is = 7082292k used, 52134560k available = 57829 MB
    Sun documents says that solaris calculate Virutal Memory by combining the available RAM with total swap space
    System swap is 32773 MB
    And availabe RAM righ now is 22506
    # vmstat 1 3
    kthr      memory            page            disk          faults      cpu
    r b w   swap  free  re  mf pi po fr de sr s2 -- -- --   in   sy   cs us sy id
    0 0 0 55999408 25906620 579 106 1410 2 2 0 0 69 0 0 0 3919 13684 6331 3  2 95
    1 0 0 52134492 23046320 9 56 0 0  0  0  0  4  0  0  0 1391 4097 2257  0  1 99
    0 0 0 52134372 23046196 0 6 0  0  0  0  0  5  0  0  0 1511 4367 2474  0  1 99So combining them becomes 55279 MB which is not the same as displaying by SMC and swap -s
    Does any body know how solaris exactly calculate the virtual memory which it indicates in SMC and swap -s ?

    If you look at the man page it shows for the -s flag:
    available The total swap space in
    bytes that is currently
    available for future reser-
    vation and allocation.
    That means if swap has been allocated it wont be shown in this total, Solaris has a funny way of dealing with memory, it will only free physical memory when it needs to reuse it. If you want to tell if a system is paging the best way is to use sar with the -g flag e.g
    sar -g 10 10
    Or iostat etc

  • What's up with my Virtual Memory?

    I've got a MacBook Pro 15" 2Ghz Core i7 running the 10.8.4 with all updates and 16gb of ram. I notice a couple of odd things over the course of a multiday session:
    - Over a few days of usage launching and quiting most apps but with Mail, Terminal, LaunchBar and Safari running constantly, memory and virtual memory usage grow to the point where I have only a few dozen Mb of ram left and over 12 Gb of Virtual Memory consumed.
    - Odder still is never, ever, in any session regardless how long, do my virtual memory statistics show more than 14 hits, not 14%, 14 all during boot time, despite hundreds of thousand of page-ins and lookups, and millions (22 million + this session) page faults.
    I've noticed that Safari is the main culprit with memory consumption as it only frees up the bulk of any used if quit and relaunched. Even closing all tabs and windows has little to no affect on memory or virtual memory usage, but I have no idea why lookups once the machine is booted never, ever result in a hit despite a constantly growing number and size of swapfiles. Its almost as if Lion is encrypting the swaps but then doesn't have access to read them though I don't know how that might come about.
    Anyone care to offer suggestions as to cause or debugging/troubleshooting tips?
    Other notes:
    This has been happening at least since 10.7.x.
    Aside from apps listed above, other frequent apps are, Adobe Photoshop 5.5.x, Lightroom 5, LaunchBar, and ocassional MS Office 2011 with all updates.
    Thanks,
    David

    About OS X Memory Management and Usage
    Using Activity Monitor to read System Memory & determine how much RAM is used
    Memory Management in Mac OS X
    Performance Guidelines- Memory Management in Mac OS X
    A detailed look at memory usage in OS X
    Memory Usage Performance Guidelines- About the Virtual Memory System
    Understanding top output in the Terminal
    The amount of available RAM for applications is the sum of Free RAM and Inactive RAM. This will change as applications are opened and closed or change from active to inactive status. The Swap figure represents an estimate of the total amount of swap space required for VM if used, but does not necessarily indicate the actual size of the existing swap file. If you are really in need of more RAM that would be indicated by how frequently the system uses VM. If you open the Terminal and run the top command at the prompt you will find information reported on Pageins () and Pageouts (). Pageouts () is the important figure. If the value in the parentheses is 0 (zero) then OS X is not making instantaneous use of VM which means you have adequate physical RAM for the system with the applications you have loaded. If the figure in parentheses is running positive and your hard drive is constantly being used (thrashing) then you need more physical RAM.
    Adding RAM only makes it possible to run more programs concurrently.  It doesn't speed up the computer nor make games run faster.  What it can do is prevent the system from having to use disk-based VM when it runs out of RAM because you are trying to run too many applications concurrently or using applications that are extremely RAM dependent.  It will improve the performance of applications that run mostly in RAM or when loading programs.

  • Running out of virtual memory

    How do I increase the virtual memory? My Mac is running slow and seems to be bogging down at times. Can/will anyone help?
    Thankx in advance
    Marquis

    It probably said you were running out of application memory.
    There is excessive swapping of data between physical memory (that is, the memory chips on the logic board) and virtual memory (one or more files on the startup volume.) That activity is relatively slow and causes the whole system to be less responsive. It can happen for two reasons:
              A long-running process with a memory leak (a kind of bug)
              Not enough memory for your usage pattern
    Tracking down a memory leak can be difficult, and it may come down to a process of elimination.
    These instructions are for OS X 10.9 and later. Some details may be slightly different for earlier versions of OS X.
    When you notice the swap activity, open the Activity Monitor application and select All Processes from the View menu, if it's not already selected. Select the Memory tab. Click the heading of the Real Mem column in the process table twice to sort the table with the highest value at the top. If you don't see that column, select
              View ▹ Columns ▹ Real Memory
    from the menu bar.
    If one process (excluding "kernel_task") is using much more memory than all the others, that could be an indication of a leak. A better indication would be a process that continually grabs more and more real memory over time without ever releasing it. Here is an example of how it's done.
    The processes named "Safari Web Content" render web pages for Safari. They use a lot of memory and may leak if certain Safari extensions or third-party web plugins are installed. Consider them prime suspects.
    Another process often implicated in memory leaks is "inkjet4" or "inkjet8," which is a component of the HP printing software. If it's present, force-quit the process in Activity Monitor to solve the problem temporarily. Empty the print queues in the Printers & Scanners preference pane (which has a slightly different name in each recent version of OS X.) If you don't use an HP printer, remove the software. Otherwise, if the problem is recurrent, update the software (which may not help) or contact HP support.
    "Wired" memory should be a small part of the total. That memory is not swapped, but it makes less physical memory available which may then result in swapping. If you have a lot of wired memory, that's usually an indication of a memory leak in a third-party program that modifies the operating system at a low level. Ask for guidance in that case.
    If you don't have an obvious memory leak, your options are to install more memory (if possible) or to run fewer programs simultaneously.
    The next suggestion is only for users familiar with the shell. For a more precise, but potentially misleading, test, run the following command:
    sudo leaks -nocontext -nostacks process | grep total
    where process is the name of a process you suspect of leaking memory. Almost every process will leak some memory; the question is how much, and especially how much the leak increases with time. I can’t be more specific. See the  leaks(1) man page and the Apple developer documentation for details.

Maybe you are looking for