What do I need to worry about when running a VI for an extended amount of time?

Hi, I'm fairly new to LabVIEW as a program, but not new to programming as a whole.
I'm attempting to build a VI which will, hopefully, be run continuously and take data for weeks-months at a time.
I've never built a VI, let alone a program, which will be run continuously for so long, and so I'm unsure as to what I should be concerned about. I'm looking right now at optimizing, as best I can, memory allocation, algorithms, etc. but I suppose my main question is: What should I really be worrying about when programming a VI which will be run continuously for an extended period of time?
Solved!
Go to Solution.

In the structure of your VI's, be certain that you are not repetively creating things such as references to queues, or file references, or DAQ tasks, or anything without closing them.  I was working on one application where a DAQ task was getting created every loop iteration and not being closed.  It crashed the PC hard with a blue screen of death after about 20 minutes of operation, through debugging and before I found the cause, I saw I had about 80,000 to 100,000 iterations of a loop fairly consistently before the crash.
If this loop had run at a slower rate, it might have taken days or weeks before the PC would have crashed.  It would have seemed infrequent and would have taken longer to debug because I would never have seent the pattern.  If it takes a few failures before you discover the problem, it is a lot quicker to find the explanation after a few failures at 20 minutes per failure as opposed to 20 days per failure.  The problem was eventually found in a subVI several layers down and fixed.
So if you pay attention to these things early enough, then hopefully they won't pop up and bite you weeks or months into a critical run of the program.

Similar Messages

  • I have upgraded my MacBook Pro 15 late 2011 to 8Gb RAM, now when I go to about this mac in it more info it doesn't show AMD graphics card as it used to before, it just show  Intel HD Graphics 3000 512 MB is that a problem that I need to worry about?

    I have upgraded my MacBook Pro 15 late 2011 to 8Gb RAM, now when I go to about this mac in it more info it doesn't show AMD graphics card as it used to before, it just show  Intel HD Graphics 3000 512 MB is that a problem that I need to worry about?
    and in system report >> hardware >> Graphics/Display >> it shows both grafics card listed.

    Some Mac's when the RAM is increased the Intel HD 3000 integrated graphics will bump itself up to the higher video RAM it takes, this seems to be what occured.
    It also means the dedicated graphics card will be used less, but only so slightly less.
    You obviously still should have both, you can test this by turning off Graphics Switching in Energy Saver, that will use the decicated AMD card all the time.
    You can also run Cinebench and compare the scores here
    Mac video card performance

  • Do I need to worry about this?

    It has been an interesting few months with my one year old 13" MBP. Lots of spinning beach balls followed by a hard drive crash. Apple was quick to replace the hard drive. And as I had everything backed up on Time Machine I was able to quickly restore everything.
    All was good for a few months until the beachballs, freezes, and finder crahes began again. Made another trip to the Genius bar where they thought I might have re-downloaded a corrupt file from Time Machine. They cleaned my temp files and caches and things seemed to work well in the store.
    When I returned home I had the same issues. They had prepared me for this. So a system restore, a re mount and re start of time capsule and everything seems to be working well. Speedy, no crashes, no freezes.
    The issue is that I wanted to double check so I ran disk verify and permission verify on the disk utility. To my surprise it came back with a LONG error log as below. So long, I could not get it all into this post. But it seems like a recurrent message. Do I need to worry about any of this? What should I do next, if anything? Thanks in advance for your response.
    Verifying volume “Macintosh HD”
    Performing live verification.
    Checking Journaled HFS Plus volume.
    Checking extents overflow file.
    Checking catalog file.
    Checking multi-linked files.
    Checking catalog hierarchy.
    Checking extended attributes file.
    Checking volume bitmap.
    Checking volume information.
    Invalid volume file count
    (It should be 624512 instead of 624514)
    Invalid volume directory count
    (It should be 172781 instead of 172779)
    The volume Macintosh HD was found corrupt and needs to be repaired.
    Error: This disk needs to be repaired. Start up your computer with another disk (such as your Mac OS X installation disc), and then use Disk Utility to repair this disk.
    Verify permissions for “Macintosh HD”
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUAdvanced.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUAdvanced.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUAssistant.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUAssistant.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUDocument.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUDocument.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUDrives.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUDrives.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUStatisticsPanel.nib/keyedobjects.nib ", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUStatisticsPanel.nib/keyedobjects.nib ", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUTaskSheet.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUTaskSheet.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUTasks.strings", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUTasks.strings", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUWirelessPanel.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUWirelessPanel.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/APPanels.nib/keyedobjects.nib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/APPanels.nib/keyedobjects.nib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AUFirmwareDownloader.nib/keyedobjects.n ib", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AUFirmwareDownloader.nib/keyedobjects.n ib", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortAssistant.strings", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortAssistant.strings", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortErrors.strings", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortErrors.strings", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortSettings.strings", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortSettings.strings", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortTimeZones.strings", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortTimeZones.strings", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortUtilityHelp/AirPortUtilityHelp.h elpindex", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortUtilityHelp/AirPortUtilityHelp.h elpindex", should be -rw-r--r-- , they are -rw-rw-r-- .
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortUtilityHelp/AirPortUtilityHelp.h tml", should be 0, group is 80.
    Permissions differ on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AirPortUtilityHelp/AirPortUtilityHelp.h tml", should be -rw-r--r-- , they are -rw-rw-r-- .

    Scott Adelman wrote:
    The issue is that I wanted to double check so I ran disk verify and permission verify on the disk utility. To my surprise it came back with a LONG error log as below. So long, I could not get it all into this post. But it seems like a recurrent message. Do I need to worry about any of this? What should I do next, if anything?
    Verifying volume “Macintosh HD”
    Invalid volume file count
    (It should be 624512 instead of 624514)
    Invalid volume directory count
    (It should be 172781 instead of 172779)
    The volume Macintosh HD was found corrupt and needs to be repaired.
    Error: This disk needs to be repaired. Start up your computer with another disk (such as your Mac OS X installation disc), and then use Disk Utility to repair this disk.
    You definitely need to repair your disk. If you can, boot from something else, such an external disk or the system discs that came with your Mac. You can also cause the disk to be repaired by booting into "Safe Mode": http://support.apple.com/kb/ht1564 . If that process can't repair your disk, you may need one of the more-powerful disk utilities such as Disk Warrior.
    Verify permissions for “Macintosh HD”
    Group differs on "Applications/Utilities/AirPort Utility.app/Contents/Resources/pl.lproj/AAUAdvanced.nib/keyedobjects.nib", should be 0, group is 80.
    You can ignore most permissions repair messages:
    http://support.apple.com/kb/TS1448

  • Do I need to worry about these event handlers in a grid from a memory leak perspective?

    I'm pretty new to Flex and coudn't figure out how to add event handlers to inline item renderer components from the containing file script so I attached the listnerers simply as part of the components themselves (eg <mx:Checkbox ... chnage="outerDocument.doSomething(event)"../>):
    <mx:DataGrid id="targetsGrid" width="100%" height="100%" doubleClickEnabled="true" styleName="itemCell"
          headerStyleName="headerRow" dataProvider="{targets}"
          rowHeight="19" fontSize="11" paddingBottom="0" paddingTop="1">
         <mx:columns>
         <mx:DataGridColumn width="78" dataField="@isSelected" headerText="">
         <mx:itemRenderer>
              <mx:Component>
                   <mx:HBox width="100%" height="100%" horizontalAlign="center">
                        <mx:CheckBox id="targetCheckBox" selected="{data.@isSelected == 'true'}"
                             change="outerDocument.checkChangeHandler(event);"/>
                        <mx:Image horizontalAlign="center" toolTip="Delete" source="@Embed('/assets/icons/delete.png')" useHandCursor="true" buttonMode="true"
                             click="outerDocument.deleteHandler(event);"/>
                        <mx:Image id="editButton" horizontalAlign="center" toolTip="Edit" source="@Embed('/assets/icons/edit-icon.png')" useHandCursor="true" buttonMode="true"
                             click="outerDocument.editHandler(event);"/>
                   </mx:HBox>
              </mx:Component>
         </mx:itemRenderer>
         </mx:DataGridColumn>
              <mx:DataGridColumn id="Name" dataField="@collectionDesc" headerText="Name" itemRenderer="com.foobar.integrated.media.ui.component.CellStyleForTargetName"/>
              <mx:DataGridColumn id="Created" width="140" dataField="@createDateTime" headerText="Created"  labelFunction="UiHelper.gridDateFormat" />
         </mx:columns>
    </mx:DataGrid>
    This grid is part of a view that will get destroyed and recreated potentially many times during a user's session within the application (there's a large dynamic nature to the app and views are created at run-time.) By destroyed I mean that the view that holds the above datagrid will no longer be referenced under certain circumstances and an entire new view object is created (meaning the old datagrid is no longer refernced and a new one is created.)
    I heard you should clean up event handlers when they are no longer used, and I know at what point the view is destroyed, but I don't know how to clean up the event handlers added to the item renderer components? Is it something that the Flex garbage collector will handle efficiently?
    Also, on a somewhat related note, how could I push the item renderer to an external component since in my event handlers for the item renderer buttons I need a reference to the datagrid.selectedIndex which, as an external item renderer I wouldn't have access to this containing grid?

    No. You don't need explicit cleanup in this case: if your outerDocument is going away, you have nothing to worry about. The event handler leak can happen in sort of the reverse situation: suppose you have a long-lived MyView that contains a custom DataGrid like the one below. Now suppose that MyView frequently destroys and re-creates the grid. And suppose that on its creationComplete event, the grid registers a listener for outerDocument's (MyView's) enterFrame Event. Unless you explicitly remove this listener, MyView will still have a reference to it even after the grid that registered the listener is destroyed (and garbage collected).
    This is a pretty contrived example, but it sort of illustrates the potential for leaks: a certain component is elligible for garbage collection, but some longer-lived component holds a reference to it (or part of it, such as a listener function). If the longer-lived component is elligible for GC as well, you don't really need to worry about proper cleanup. That's what you're paying the GC processor cycles for.

  • What do I need to know about transfering a 4th gen touch to a new 5th gen touch?

    My daughter will be getting a new 5th generation touch today. She has a 4th generation touch now. What do I need to know about transfering informaiton from one device to the other?

    See:
    iOS: Transferring information from your current iPhone, iPad, or iPod touch to a new device
    Unless you restore from an encrypted backup, y will have to reenter all password on the new device
    iTunes and encrypted backups
    You can protect your backup with a passcode using the Encrypt Backup option in the Summary tab. Encrypting your backup will back up your Keychain. This way, your email account passwords, Wi-Fi passwords, and passwords that you enter into websites and some apps will be remembered when you transfer to a new device. Learn how to create and restore from a backup.
    When your backup is encrypted, you'll need to enter the password when enabling or disabling encryption or when restoring from the backup.

  • FAQ: I already have a Revel account. What do I need to do? What do I need to know about this?

    Q: I already have a Revel account. What do I need to do? What do I need to know about this?
    A: If your Revel account uses the same Adobe ID as your Photoshop.com account, your JPEGs will be moved there. Otherwise, a new Revel account will be set up for you using the same Adobe ID you use with your Photoshop.com account.
    Revel accounts can be merged manually. Use the Adobe Media Downloader to download all of the JPEG photos from your Photoshop.com library and then upload those photos to your existing Revel account.
    Click here to archive your Photoshop.com library so you do not lose any files.
    You will be asked to download an Adobe Air application called Media Downloader

    Your .mac Mail account will continue to operate normally as long as you access the account from the Mac's Mail program. Read this:
    What if I just want to keep using my email on all my devices?
    As of May 1, you can choose to keep using your mail after MobileMe ends, even on devices that don’t meet the iCloud system requirements. Just go to me.com/move and select the option to keep using your email after MobileMe ends. Once you have completed this short process, your mail will continue to work on devices that don’t meet the iCloud requirements after MobileMe ends on June 30th, 2012.
    iCloud is a collection of features that allows you to sync Safari bookmarks, Calendar items, Contacts, and iWork documents (Pages, Numbers) among multiple devices, among other things. Your photos in iPhoto will not be affected.
    iCloud is most valuable for people with iOS devices and Macs and requires OS X 10.7 "Lion".
    Here is some more information: http://www.apple.com/mobileme/transition.html

  • Error code 6 on installing CS6, but all apps run. What do I have to worry about?

    After re-installing CS6 on MacBookPro I get error code 6 and message that PS6, DW and two others could not be installed. Nevertheless they both run as far as I can see normally. What do I have to worry about/

    if they're installed and working, enjoy.

  • HT1620 So what do I need to know about  using my iPad on public networks, say restaurants,etc. Can I use passwords of any kind, or will I be compromised?

    So what do I need to know about using my iPad mini on public networks, say in restaurants. Will I be compromised by using  passwords? What protects my iPad?

    To date, the iPad/iPad mini/iPhone/iPod Touch produces have remained secure.
    In a public place, you do not control the network, so be careful of what activities you perform, such as accessing your bank, or other sensitive places.
    Just surfing and reading your email is generally speaking not a problem.  Hopefully, your email connections are over secure SSL connections.

  • HT5312 what do i need to do to change the email address for when i try to reset my password for my account?

    what do i need to do to change the email address for when i try to reset my password for my account?

    Welcome to the Apple Community.
    Start here, change your country if necessary and go to manage your account.

  • My ipod will not unlock. What do l need to do about it?

    My ilod will not unlock what do l need do do about it?

    If you cannot remember the passcode, you will need to Restore your device...
    Connect the Device to the iTunes library you Usually Sync with, open iTunes, click on the Device tab that appears in the Left side column of iTunes, Select your Device, then go to the Summary Page and click Restore.
    If necessary Place the Device into Recovery mode...
    See here,
    http://support.apple.com/kb/HT1808

  • What do I need to process raw files in Photoshop CS5 for a Canon Rebel EOS t4i?

    What do I need to process raw files in Photoshop CS5 for a Canon Rebel EOS t4i?

    You would need ACR 7.x which is available in CS6.  Or as ertho said you can get the free DNG 7.3 converter and convert raw to a DNG.

  • HT1222 My update won't verify. What do I need to do? I have enough space for the update.

    My update won't verify. What do I need to do? I have enough space for the update.

    Authetication servers are being hammered.  Wait.

  • TCP Programming / Why do not need to worry about Big and little Endian?

    Please help, I do not understand this concept please explain.
    The architecture of a CPU is either little-endian or big-endian; some modern CPU's allow a choice via software.
    The TCP/IP protocol standard specifies that all the bytes that make up an item must be sent in "network order", which happends to be big-endian. Intel Pentium CPU's are little-endian.
    This implies that on an Intel machine the TCP software will have to chop an int into bytes and then reverse the bytes before transmitting them.
    Why does the JAVA TCP software does not need to perform the reversal?
    Thanks,
    Alex

    But why would I need to use the DataOutputStream,You don't have to.
    But that's what the Java API provides for sending java primitives over a stream. You wouldn't have to use that. You could chop the int into bytes yourself, and send the bytes, and your Java code still wouldn't have to worry about the endiannes of it, because the VMs handle that.
    DataOutputStream just does the chopping and reassembling for you, so it's easier than doing it yoursefl.

  • What do I need to know about fonts?

    Can anyone explain what I need to know about using fonts on a MacBook Pro running Leopard, or point me to a good reference or tutorial? I've never paid much attention to fonts in the past, as I only use a few in print (Arial, Verdana, Times New Roman, etc.), and I never did much with fonts in my graphics work. But I want to take a closer look at fonts and start experimenting with them. Looks like a surprisingly big topic.
    On my PC, I was limited to how many fonts I could display by memory. As I understand it, there's no such limit on a Mac running Leopard.
    I encountered references to fonts when I installed Adobe Creative Suite and Microsoft Office for Mac, so I need to figure out how to manage fonts, then go back and check the installation disks again.
    Right now I have three font folders in username > Library: FontCollections, Fonts (empty) and Fonts Disabled (empty).
    I also need to learn about the different kinds of fonts (e.g. True Type, etc.) and how/where people obtain them, though that's probably beyond the scope of this thread.
    But before I do any more research via Google, I'd like to narrow the field a bit. I was hoping someone could give me a basic overview or point me to a good reference. What software do you use to manage fonts on a Mac, and do you have any basic tips to offer?
    Thanks.

    Also, see:
    Font Management in OS X
    http://images.apple.com/pro/pdf/L311277AFontTTv4.pdf
    http://www.creativetechs.com/tips/SVC-fonts/Fonts-2007-SVC.pdf
    http://dl.extensis.com/downloads/SC/EN/P/FontsBest_Practices_inOSX.pdf
    http://www.macworld.com/article/44942/2005/05/julyworkingmac.html

  • I am using Adobe Reader with paid up service through May 2015.  When I attempt to convert a file from PDF or to PDF, I get the message "An error occured while trying to access the service.  What do I need to do to access the service paid for?

    I am using Adobe Reader with paid up service through May 2015.  When I attempt to convert a file either to PDF or from PDF, I get the error message, "An error occurred while trying to access the service".  What do I need to do to get access to the service I have paid for?

    Hi DeaconTomColorado,
    Please see "Error occurred when trying to access this service" when logging on to Acrobat.com.
    Adobe has just released an update to Adobe Reader, so if you're accessing the service via Reader, please let us know whether the update helps resolve the issue.
    Best,
    Sara

Maybe you are looking for

  • How do I get rid of the three SEO apps that are now on my computer?

    I'm not into internet marketing-building websites etc., at this time. I would like to remove the SEO apps that are on my desktop etc. I believe there are three of them, and I don't need them.

  • Custom paper size - seems scaled for A4

    Hi, I'm trying to print on the front of a card which when unfolded is 15cm x 30cm. I've made a PDF in Inkscape (page size matches paper dimensions) and opened it in Preview. I set a custom paper size of 15 x 30cm for my printer (Samsung ML-2010) in t

  • Printing text to form using Pages

    I have a paper form that is 2.75 x 6 inches and I need to print information on it. The text would always be the same. How can I set this up. I have tried but no matter how I set it up the text prints in the middle of an 8.5 x 11 sheet not starting at

  • Strange problems in Oracle 8.1.7 driver

    Hi, gurus, I have a strange problem in Oracle 8.1.7 ODBC driver on Windows 2000 Server. I use Visual C++ and ODBC to access database information. Our program uses character with ASCII code bigger than 127, for example, 170, 132, etc. When I try to ge

  • Create a Credit Memo from invoice  (Sales)

    Hi How Can I Create a Credit Memo from invoice (Sales)? Thanks