Java Real-Time System HotSpot(TM) Client VM warning: unable to lock pages i

Error:
Java Real-Time System HotSpot(TM) Client VM warning: unable to lock pages into memory
I'm getting this error, although I have assigned all the needed privilegs to root and I am logged in as root. I have done everything described in the guidelines to get the privilegs, but still this warning occurs.
But my application still works completely with no appreciable differences.
So my question is: Does this warning affect the performance of my application?? Or can I live with this warning?
Gordon

Determinism is an important issue in my application. That's why page locking should be active in my application. When I'm determining the ScopedMemory size via VM like:
... -XX:ScopedSize=500000000 ...Then page locking works with a size of 500 mb very well. But when I try to set the ScopedSize value to 1 gb, then the exception (unable to lock page...) is thrown. So it seems as if I had all the required rights, but the huge size is not supported.
The System has about 6 gb of DDR2Ram and minimum 5 gb are free during starting the VM. So are there any other parameters except ScopedSize that I can change, to allow the VM to lock memory with a size of about 1 gb? Or where is the problem with locking such big sizes?
Thanks,
Gordon

Similar Messages

  • Where to find Java Real-Time System Evaluation

    Hello,
    I tried to download an evaluation version of the Java Real-Time System from this page: http://www.oracle.com/technetwork/java/javase/tech/rts-142899.html
    But, when i try to download the "Java RTS 2.2 - Academic Developer Use" for Linux x86 32bit, i get the following message: "The Java Real-Time System evaluation program is closed at this time."
    Is the evaluation program expired? Where could i find an evaluation version of JRTS?
    Thank you all for your attention,
    Greetings.
    Andrea

    Determinism is an important issue in my application. That's why page locking should be active in my application. When I'm determining the ScopedMemory size via VM like:
    ... -XX:ScopedSize=500000000 ...Then page locking works with a size of 500 mb very well. But when I try to set the ScopedSize value to 1 gb, then the exception (unable to lock page...) is thrown. So it seems as if I had all the required rights, but the huge size is not supported.
    The System has about 6 gb of DDR2Ram and minimum 5 gb are free during starting the VM. So are there any other parameters except ScopedSize that I can change, to allow the VM to lock memory with a size of about 1 gb? Or where is the problem with locking such big sizes?
    Thanks,
    Gordon

  • Java Real time system poor inline performance

    I am looking at the performance of 1.5.0_16 and Java RTS 2.1
    I'm seeing some very big difference I suspect is due to inlining, but here is one concrete example:
    import java.util.Random;
    public class DoubleToFloatBenchmark {
        private static final int INNER_LOOP = 10000;
        private static final int OUTER_LOOP = 1000;
        public static void main(String[] args) throws InterruptedException {
            Random random  = new Random(0);
            double[] values = new double[INNER_LOOP];
            long[] results = new long[INNER_LOOP];
            for (int i = 0; i < values.length; i++) {
                values[i] = random.nextDouble();
            test(values, results);
            test(values, results);
            test(values, results);
            test(values, results);
            test(values, results);
        private static void test(double[] values, long[] results) throws InterruptedException {
            long time = Long.MAX_VALUE;
            for (int i = 0; i < OUTER_LOOP; i++) {
                long start = System.nanoTime();
                for (int j = 0; j < INNER_LOOP; j++) {
                    results[i] = Double.doubleToLongBits(values);
    long end = System.nanoTime();
    time = Math.min(time, end - start);
    System.out.format("time= %-,3.3fns\n", 1.0 * time / INNER_LOOP);
    Runtime.getRuntime().gc();
    Thread.sleep(10);
    Here is the output:bash-3.00$ java -cp . DoubleToFloatBenchmark
    time= 7.345ns
    time= 5.196ns
    time= 0.108ns
    time= 0.108ns
    time= 0.108ns
    bash-3.00$ /opt/SUNWrtjv/bin/java -cp . DoubleToFloatBenchmark
    time= 41.243ns
    time= 41.297ns
    time= 41.295ns
    time= 41.293ns
    time= 41.292ns
    Any ideas on how to speed the RTJ version up. Its 400 times slower.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Mak,
    What you are seeing are the effects of the hotspot server compiler versus the client compiler. Java RTS only supports the client compiler (even if you use -server you get -client). The server compiler can perform very aggressive optimizations, compared to the client compiler, because if it makes a wrong assumption it stops-the-world, deoptimizes things, recompiles them the right way (perhaps immediately, or perhaps leaving it for later dynamic compilation) and continues on its way. The client compiler is much less sophisticated and does not do these aggressive optimizations. For Java RTS the server compiler's mode of operation would completely kill predictability, so deopt can not be allowed and so the aggressive optimizations are also not allowed.
    Here are the results I get for client, server and then JRTS:
    # /mirrors/j2se-mirrors/5.0u17/solaris-i586/bin/java -client DoubleToFloatBenchmark
    time= 66.503ns
    time= 65.146ns
    time= 65.146ns
    time= 65.146ns
    time= 65.146ns
    # /mirrors/j2se-mirrors/5.0u17/solaris-i586/bin/java -server DoubleToFloatBenchmark
    time= 10.850ns
    time= 7.711ns
    time= 0.140ns
    time= 0.139ns
    time= 0.139ns
    # rtj DoubleToFloatBenchmark
    time= 74.191ns
    time= 74.190ns
    time= 73.739ns
    time= 73.739ns
    time= 73.739nsThis is the sort of results I'd expect to see. JRTS is approx 13% slower than J2SE client.
    Looking at your example, this is a classic problem with micro-benchmarking - see Cliff Click's "famous" JavaOne 2002 talk on "How not to write a microbenchmark":
    http://www.azulsystems.com/events/javaone_2002/microbenchmarks.pdf
    There are numerous similar articles following up on that showing how easy it is for the server compiler to throw away the precious code you are so desperately trying to measure the performance of. It's a real eye-opener. See Brian Goetz's article: http://www.ibm.com/developerworks/java/library/j-jtp02225.html
    In this code in your example:
    for (int j = 0; j < INNER_LOOP; j++) {
       results[i] = Double.doubleToLongBits(values);
    the inner loop can be removed completely because the computation in the loop is independent of the loop variable j. (I'm not sure if that was intentional?)
    So let's manually delete that inner loop and see what we get (and stop dividing by INNER_LOOP). Here's the results again for client, server and jrts:# /mirrors/j2se-mirrors/5.0u17/solaris-i586/bin/java -client DoubleToFloatBenchmark
    time= 449.000ns
    time= 450.000ns
    time= 317.000ns
    time= 308.000ns
    time= 316.000ns
    # /mirrors/j2se-mirrors/5.0u17/solaris-i586/bin/java -server DoubleToFloatBenchmark
    time= 455.000ns
    time= 455.000ns
    time= 452.000ns
    time= 455.000ns
    time= 452.000ns
    # rtj DoubleToFloatBenchmark time= 506.000ns
    time= 506.000ns
    time= 503.000ns
    time= 340.000ns
    time= 340.000ns
    Oh my gosh! JRTS and client become faster than server! ;-) But what are we now measuring ... ?
    I hope this clarifies things.
    David Holmes
    Edited by: davidholmes on Dec 11, 2008 10:08 AM Added link to Brian Goetz's article.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Java 2 JRE 1.3.1 Install - Java HotSpot(TM) Client VM warning:

    I have downloaded and successfully installed the J2RE 1.3.1 on our SUN Box. However when I execute java -version, I get the following error reported:
    ===================================================================
    Java HotSpot(TM) Client VM warning: Cannot recognize SPARC version (0x9). Default to V9
    Illegal Instruction
    ===================================================================
    My current configuration is as follows:
    - I have mounted a drive on our SUN Solaris 2.7 box to another SUN Solaris 2.6 box that has more space. This is where the JRE is actually installed.
    - I have remodified the /usr/java soft link to be linked to the drive above:
    java -> ../opt/j2re1_3_1_03
    - I have the following environment variables defined:
    CLASSPATH=.:/usr/java/lib/rt.jar
    JAVA_HOME=/usr/java
    PATH=/usr/java/bin: (etc, etc...)
    What else am I missing? I have attempted to install the j2sdk as well but get the same error. So it must be something basic that is not there. I apologize if this has been addressed before, however, I have searched here and Google to no avail.
    Thanks for your help in advance!

    The Installation Notes show the following System Requirements:
    =======================================================
    System Requirements
    The JavaTM 2 Runtime Environment, Standard Edition, v. 1.3.1 is intended for use on Solaris 2.6, Solaris 7, and Solaris 8 operating environments.
    =======================================================
    So, I'm thinking that the OS is ok.
    Another side note:
    I have installed all the Required patches as found on the following web page: http://java.sun.com/j2se/1.3/install-solaris-patches.html#2.7
    Keep those ideas comin'!!!!

  • Error -1074384569; NI-XNET: (Hex 0xBFF63147) The database information on the real-time system has been created with an older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your database to the real-time system.

    Hello
    I have a VeriStand-Project (VSP) created with my Laptop-Host (LTH) which works with my PXI, while
    deploying it from my LTH. Then I have installed the whole NI enviroment for PXI and VeriStand use on a
    industrial PC (iPC). I have tried to deploy my VSP from the iPC to the PXI but the following error
    message arose on my iPC:
    The VeriStand Gateway encountered an error while deploying the System Definition file.
    Details: Error -1074384569 occurred at Project Window.lvlibroject Window.vi >> Project
    Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
    Possible reason(s):
    NI-XNET:  (Hex 0xBFF63147) The database information on the real-time system has been created with an
    older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your
    database to the real-time system. ========================= NI VeriStand:  NI VeriStand
    Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI
    VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> NI VeriStand Engine.lvlib:Initialize
    Inline Custom Devices.vi >> Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * • Unloading System
    Definition file... • Connection with target Controller has been lost.
    The software versions of the NI products (MAX/My System/Software) between my LTH and the iPC are
    almost the same. The only differences are:
    1. LabView Run-Time 2009 SP1 (64-bit); is installed on LTH but missing on iPC. The iPC has a 32-bit system.
    2. LabView Run-Time 2012 f3; is installed on LTH but missing on iPC.
    3. NI-DAQmx ADE Support 9.3.5; something strage on the LTH, because normally I am using NI-DAQmx 9.5.5 and all other DAQmx products on my LTH are 9.5.5. That means NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5.. On the iPC side all three products are 9.5.5.. That means NI-DAQmx ADE Support 9.5.5, NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5..
    4. Traditional NI-DAQ 7.4.4; The iPC has this SW installed. On the LTH this SW is missing.
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    1. LabVIEW Real-Time 11.0.1
    2. NI-488.2 RT 3.0.0
    3. NI_CAN 2.7.3
    Unfortunately the above stated problem still arose.
    What can I do to fix this problem?
    I found a hint on http://www.labviewforum.de/Thread-XNET-CAN-die-ersten-Gehversuche.
    There it is written to deploy the dbc file againt.
    If this is a good hint, so how do I deploy a dbc file?
    I would feel very pleased if somebody could help me! :-)
    Best regards
    Lukas Nowak

    Hi Lukas,
    I think the problem is caused by differenet drivers for the CAN communication.
    NI provides two driver for CAN: NI-CAN and NI-XNET.
    NI-CAN is the outdated driver which is not longer used by new hardware. NI replaced the NI-CAN driver with NI-XNET some years ago, which supports CAN, LIN and the FLEXRAY communication protocol.
    You wrote:
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    3. NI_CAN 2.7.3
    NI CAN is the outdated driver. I think that you should try to install NI-XNET instead of NI-CAN on your PXI-System, to get rid of the error message.
    Regards, stephan

  • Help needed in getting real time system performance monitor

    Hi,
    I need a real time system performance monitor for my solaris.
    i am able to graph system usage graph on a daily/weely basis using the ksar grapher.
    In the same way i need to capture the system utilisation real time to be viewed on a webpage. Please let me know if there are any free tool/scripts capable of doing it.

    Hi,
    Process Chain Errors
    /people/mona.kapur/blog/2008/01/14/process-chain-errors
    Common Process chain errors
    For Data Load Errors check this blog:
    /people/siegfried.szameitat/blog/2005/07/28/data-load-errors--basic-checks
    Implementation issues
    Lifecycle Implementation
    http://help.sap.com/bp_biv170/documentation/SolutionScope_EN.doc
    http://help.sap.com/bp_biv235/BI_EN/documentation/BWProjectPlan_EN.mpp
    Hope this helps.
    Thanks,
    JituK

  • How can I save/write data on the hard disc of the Real-Time System?

    I would like to acquire huge size of data via LabView Real-Time System.
    Since data is so huge, I am now thinking that it might be good idea to
    write/save data on the hard disc of the Real-Time System first and then
    transfer the data file to a data processing PC using FTP etc.
    If you know how to save/write data on the hard disc of the Real-Time System
    (Ver. 7.1), please let me know.
    Thanks,

    Just to add to Aitortxo's good answer,
    Since you have only one Drive ( C:\) on your RT, just keep monitering the availible disc space.
    After every few set of file writes keep transferring Backups delete these files, so that you  keep C:\ drive space for running your applications.
    Regards

  • Is there support for the AC-1000 target real-time system?

    Hi,
    Is NI supporting the AC-1000 target real-time system? We've used MatrixX, SysBld, Autocode, and Realsim to compile, link, download, and run various control models on the target real-time system for interfacing with hardware. The AC-1000 has 2-3 processors running a pSOS Operating System, multiple I/O boards, and a MIL-STD-1553 bus. It's connected to an NT workstation via a LAN and a serial cable.
    So, any information regarding support and maintenance would be very helpful. Thank you for your time!
    Take care,
    Chris Holmes
    Senior Modelling and Simulation Engineer
    United Defense, L.P.

    Although NI acquired MATRIXx, we did not acquire the RealSim hardware (AC-1000, AC-104, and PCI-Pro). Wind River retains the ownership of the hardware but is not supporting the product line. Wind River has made available the attached parts list for the RealSim hardware so that customers can self-service existing systems.
    NI doesn't plan to develop or support RealSim - and is directing customers who wish to continue to use this software/hardware to 3rd parties. The following NI Alliance members can provide RealSim support.
    iControl: www.icontrol-inc.com
    ADI: www.adi.com
    OPAL-RT: www.opal-rt.com
    NI plans to make it easy for customers to target NI hardware, including real-time PXI, with MATRIXx in the future. For information on P
    XI, please refer to the PXI section of the ni.com site at ni.com/pxi.
    Ash Razdan
    National Instruments
    [email protected]
    Attachments:
    AC-104_Parts_List.xls ‏36 KB
    AC-1000_Parts_List.xls ‏37 KB
    PCI-Pro_Parts_list.xls ‏37 KB

  • SetAsyncTimerAttribute ASYNC_ATTR_INTERVAL fails to reset timer on Real-time system

    The interval timer does not get reset when using a timer created in a real-time program (PXI chassis using NewAsyncTimerWithPriority).  It works correctly on a non real-time system (Windows 7 Laptop using NewAsyncTimer).
    Example of problem:
    timer is set to 20 seconds (NewAsyncTimerWithPriority)
    wait 15 seconds
    timer interval is set to 30 seconds (SetAsyncTimerAttribute ASYNC_ATTR_INTERVAL)
    timer fires 5 seconds later instead of 30 seconds
    GetAsyncTimerAttribute returns the correct value as if it worked properly.  Note that the timer fires every 30 seconds after the early firing in step 4.  It appears that changing the interval on a real-time system does not reset the timer as stated in the help file "If the timer has already started, setting ASYNC_ATTR_INTERVAL resets the timer."
    Am I doing something wrong?  Has anyone seen this problem?
    Using: LabWindows/CVI 2012, Real-time module 2012.
    Also installed: LabView 2012, Real-time module 2012, FPGA module 2012.
    Thanks.

    Hi Moxcoak,
    You are right this is a known issue, the async timer does not reset properly in a RT system from CVI. We have already filed a bug report on it (#387902) and I will add your service request to that corrective action report to hopefully push it to be resolved faster. Meanwhile, I will try to find the best workaround for you. One option is to set a flag with the communication thread and check it with another asynchronous thread. I will get back to you with the details on how to implement that, but it would depend on your setup.
    Regards,
    Basil Beirouti
    Applications Engineering
    National Instruments
    Regards,
    Basil
    Applications Engineering
    National Instruments

  • Using wireless network with Real-Time system

    Hi,
    Has anyone tried to run a LabVIEW real time system communicating over a wireless network instead of wired Ethernet? Thanks.

    I would think that all you need to do is hook it up to a wireless access point and the system - whatever it is - wouldn't even know it was hooked up wirelessly...
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • How to stop a thread in java 5 for a real-time system??

    Hi,
    In Java 5, thread.stop is deprecated. We need to modify some variable to indicate that the target thread should stop running. "The target thread should check this variable regularly........"
    We are currently developing a simple real-time operating system using the basic features of java. It is running on top of SunSPOT (JAVA5). My question is I need to stop a thread in a scheduler loop of a real-time operating system. We cannot check it regularly. Otherwise it is not a real-time operating system.Is there anyway else to do this?
    Thanks,
    Qing

    That's rather hard to answer. You say you are writing in Java, but you're writing an OS. BUt what's executing the Java - you need a VM of some form. Is that a real-time or non-real-time VM? How it does things ultimately controls how effectively you can do what you are trying to do.
    The simple answer is that Thread.stop() is deprecated and that it will not stop a thread in all situations anyway - eg trying to acquire a monitor lock. But all Thread.stop does is make an exception pending on the thread, and as the thread executes it polls to see if there is an exception pending. When this happens depends on the VM: it might be after every bytecode; it might be when the thread transitions states (eg thread-in-java, thread-in-vm, thread-in-native) - it all depends. But it is polling - just the same as checking that variable - it's just implicit in the VM rather than explicitly in your code.**
    The RTSJ adds a new form of asynchronous termination requests through the AsynchronouslyInterruptedException (AIE). But it only affects code that explicitly declares that it expects AIE to occur, and there are also deferred sections where the AIE will remain pending. Writing code that can handle AIE is very difficult because the normal Java rules are "bent" and finally blocks do not get executed inside AIE-enabled code.
    So as I said this is very hard to answer, it really depends what exactly you are running on and what you are trying to achieve.
    ** Note: some people used bytecode rewriting tools to add this kind of polling as a post-processing step. Perhaps that is something you might be able to do too.
    David Holmes

  • Jmx with java real time

    Hi David,
    my question for now is very general.
    can we use jmx with jrts???
    Gabi

    Hi Gabi,
    Some additional information:
    - JavaRTS does support the JMX protocol
    - JavaRTS supports most of the monitoring & management functionalities provided
    by HotSpot MBeans
    - some functionalities are disabled by default because they would create jitter (like
    getting the stack trace of java threads). Default can be changed through the
    realtime.debug MBean)
    - JavaRTS comes with a few additional realtime specific monitoring beans.
    Note that JMX relies on threads to do its work. These threads are not real-time.
    Hence, if the realtime threads (including the RTGC) are consumming all the CPU,
    you may not be able to call MBeans to see what is happening and take corrective actions.
    Bertrand.

  • VI Server in the real time target and Vi client under the local computer

    Hi,
       In my project i want to make a data communication between a vi server which is runnig in the real time target and a vi client runs under the local computer (My Computer target).
    My problem is when i Click the property terminal of the property node function (located on the Functions>>All Functions>>
    Application Control palette) , i don't find the front panel open option from the shortcut menu.
    Thanks.

    The Front Panel options are methods.  Try dropping an Invoke Node down instead of a Property Node.
    Applications Engineer
    National Instruments

  • How can I control external MIDI devices from my PXI Real-time system?

    I am trying to implement a psychoacoustic experiment using an external MIDI device that can be used to shift the pitch of a speaker's voice.
    I have a 8176 controller in a 1002 chasis with the 6052E IO card. I would very much prefer to run the system in real-time mode (rather than win XP), and need to control the MIDI device through one of the interfaces on the controller.
    Any suggestions?
    Thanks in advance,
    Frenk

    Hi Frenk,
    one way would be an analogue to MIDI converter.
    There are some out there (ask for music equipment)which can convert an analogue signal to some MIDI controller signal. This way you could control the pitch shift with an analogue output of the 6052 in realtime.
    Hope this helps
    Regards
    Stephan

  • Are there any examples for using a CAN card via XNET on a real time system?

    I am programming a real time application and I have a PXI 8512 card.  My first order of business is to get 5-byte messages from transducers that are broadcasting at 10 Hz on known message IDs.  There are no CAN/XNET samples in my "realtime" CVI sample folder.  I have found some in the nixnet folder but they are Windows based so I have to hack a lot of stuff out of them.
    Thank you.
    Michael Chadwell
    Department of Engine and Vehicle R&D
    Southwest Research Institute

    In other words, I just need to do something very similar to this with no user interface:
    NOTE: See attachment
    Michael Chadwell
    Department of Engine and Vehicle R&D
    Southwest Research Institute
    Attachments:
    CAN Bus Monitor.jpg ‏83 KB

Maybe you are looking for