Analysing SAP Java Memory Usage in Unix/Linux

Hi,
I need to analyze the SAP Java memory usage of Unix /Linux machine..NW 7.0
Please guide with the commands and steps..complete prcedure.
Based on it I should decide whether to create a new server node (or) increasing heap size
Thanks in advance

Hi,
Do you have performance problems?
How many CPU's are in the server?
Did you check Log Configuration for delays or errors?
Did you tune any exisiting parameters?
You can add the nodes only if there is performance problems. You may think of adding one node to start with
Proper number of server nodes within an instance:
u2013 #ServerNodes = availableMemory / (JavaHeapPermSpaceStack)
You can calculate the server nodes based on below formula
No. of server Node = (RAM you want to assign or available RAM in GB)/2.5 ============> for 64-bit system
No. of server Node = (RAM you want to assign or available RAM in GB)/1.5 ============> for 32-bit system
Hence as per above discussion, we should go with 5 server nodes means,
5 = RAM/2.5 (Assuming you are on 64-bit platform)
i.e. RAM = 12.5 GB
2). u2013 Configure JVM heap according to Note 723909 and Note 1008311 - Recommended Settings for NW 7.0 >= SR2 for the AIX JVM (J9)

Similar Messages

  • Diagnostics Workload Analysis - Java Memory Usage gives BI query input

    Dears
    I have set up diagnostics (aka root cause analysis) at a customer side and I'm bumping into the problem that on the Java Memory Usage tab in Workload analyis the BI query input overview is given
    Sol Man 7.0 EHP1 SPS20 (ST component SP19)
    Wily Introscope 8.2.3.5
    Introscope Agent 8.2.3.5
    Diagnostics Agent 7.20
    When I click on the check button there I get the following:
    Value "JAVA MEMORY USAGE" for variable "E2E Metric Type Variable" is invalid
    I already checked multiple SAP Notes like the implementation of the latest EWA EA WA xml file for the Sol Man stack version.
    I already reactivated BI content using report CCMS_BI_SETUP_E2E and it gave no errors.
    The content is getting filled in Wily Introscope, extractors on Solution Manager are running and capturing records (>0).
    Did anyone come accross this issue already?
    ERROR MESSAGE:
    Diagnosis
    Characteristic value "JAVA MEMORY USAGE" is not valid for variable E2E Metric Type Variable.
    Procedure
    Enter a valid value for the characteristic. The value help, for example, provides you with suggestions. If no information is available here, then perhaps no characteristic values exist for the characteristic.
    If the variable for 0DATE or 0CALDAY has been created and is being used as a key date for a hierarchy, check whether the hierarchies used are valid for this characteristic. The same is valid for variables that refer to the hierarchy version.
      Notification Number BRAIN 643 
    Kind regards
    Tom
    Edited by: Tom Cenens on Mar 10, 2011 2:30 PM

    Hello Paul
    I checked the guide earlier on today. I also asked someone with more BI knowledge to take a look with me but it seems the root cause analysis data fetching isn't really the same as what is normally done in BI with BI cubes so it's hard to determine why the data fetch is not working properly.
    The extractors are running fine, I couldn't find any more errors in the diagnostics agent log files (in debug mode) and I don't find other errors for the SAP system.
    I tried reactivating the BI content but it seems to be fine (no errors). I reran the managed system setup which also works.
    One of the problems I did notice is the fact that the managed SAP systems are half virtualized. They aren't completely virtualized (no seperate ip address) but they are using virtual hostnames which also causes issues with Root Cause Analysis as I cannot install only one agent because I cannot assign it to the managed systems and when I install one agent per SAP system I have the message that there are already agents reporting to the Enterprise Manager residing on the same host. I don't know if this could influence the data extractor. I doubt it because in Wily the data is being fetched fine.
    The only thing that it not working at the moment is the workload analysis - java memory analysis tab. It holds the Key Performance Indicators for the J2EE engine (garbage collection %). I can see them in Wily Introscope where they are available and fine.
    When I looked at the infocubes together with a BI team member, it seemed the infocube for daily stats on performance was getting filled properly (through RSA1) but the infocube for hourly stats wasn't getting filled properly. This is also visible in the workload analysis, data from yesterday displays fine in workload analysis overview for example but data from an hour ago doesn't.
    I do have to state the Solution Manager doesn't match the prerequisites (post processing notes are not present after SP-stack update, SLD content is not up to date) but I could not push through those changes within a short timeframe as the Solution Manager is also used for other scenarios and it would be too disruptive at this moment.
    If I can't fix it I will have to explain to the customer why some parts are not working and request them to handle the missing items so the prerequisites are met.
    One of the notes I found described a similar issue and noted it could be caused due to an old XML file structure so I updated the XML file to the latest version.
    The SAPOscol also throwed errors in the beginning strange enough. I had the Host Agent installed and updated and the SAPOscol service was running properly through the Host Agent as a service. The diagnostics agent tries to start SAPOscol in /usr/sap/<SID>/SMDA<instance number>/exe which does not hold the SAPOscol executable. I suppose it's a bug from SAP? After copying the SAPOscol from the Host Agent to the location of the SMD Agent the error disappeared. Instead the agent tries to start SAPOscol but then notices SAPOscol is already running and writes in the log that SAPOscol is already running properly and a startup is not neccesary.
    To me it comes down the point where I have little faith in the scenario if the Solution Manager and the managed SAP systems are not maintained and up to date 100%. I could open a customer message but the first advice will be to patch the Solution Manager and meet the prerequisites.
    Another pain point is the fact that if the managed SAP systems are not 100% correct in transaction SMSY it also causes heaps of issues. Changing the SAP system there isn't a fast operation as it can be included in numerous logical components, projects, scenario's (CHARM) and it causes disruption to daily work.
    All in all I have mixed feelings about the implementation, I want to deliver a fully working scenario but it's near impossible due to the fact that the prerequisites are not met. I hope the customer will still be happy with what is delivered.
    I sure do hope some of these issues are handled in Solution Manager 7.1. I will certainly mail my concerns to the development team and hope they can handle some or all of them.
    Kind regards
    Tom

  • How to analyse the main memory usage in SAP ERP systems?

    Dear expert,
    I'm doing a research work about analysing the main memory usage in SAP ERP systems.
    I would like to find out what is load in buffers and when. That means, which process have the control of these memories and which are always performing something, tables loaded, and so on. Becuase I tried to isolate the space needed by a simple webservice call (create one material) in my test system, but even after a $SYN there are something stored in the buffers. I use a BAPI to avoid the execution of the SAPGUI and its repercussion in the system (I know the BAPI called uses resources too, but when I run this BAPI to get the statistics, it's like ST02, I get different values). Could someone help me or recommend something specific to read? Thanks a lot in advance.

    Dear expert,
    Thanks a lot for your answer. The point is now that I want to isolate the memory used by a webservice that I call, I mean, I would like to know how many memory is this webservice using in each buffer. And could you tell me where could I read something about the order that things happen in SAP System when a webservice is called (always memory related), that's which steps are done to store data in buffers and so on. Thanks in advance.

  • High Eden Java Memory Usage/Garbage Collection

    Hi,
    I am trying to make sure that my Coldfusion Server is optomised to the max and to find out what is normal limits.
    Basically it looks like at times my servers can run slow but it is possible that this is caused by a very old bloated code base.
    Jrun can sometimes have very high CPU usage so I purchased Fusion Reactor to see what is going on under the hood.
    Here are my current Java settings (running v6u24):
    java.args=-server -Xmx4096m -Xms4096m -XX:MaxPermSize=256m -XX:PermSize=256m -Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 -Dsun.io.useCanonCaches=false -XX:+UseParallelGC -Xbatch ........
    With regards Memory, the only memory that seems to be running a lot of Garbage Collection is the Eden Memory Space. It climbs to nearly 1.2GB in total just under every minute at which time it looks like GC kicks in and the usage drops to about 100MB.
    Survivor memory grows to about 80-100MB over the space of 10 minutes but drops to 0 after the scheduled full GC runs. Old Gen memory fluctuates between 225MB and 350MB with small steps (~50MB) up or down when full GC runs every 10 minutes.
    I had the heap set to 2GB initally in total giving about 600MB to the Eden Space. When I looked at the graphs from Fusion Reactor I could see that there was (minor) Garbage Collection about 2-3 times a minute when the memory usage maxed out the entire 600MB which seemed a high frequency to my untrained eye. I then upped the memory to 4GB in total (~1.2GB auto given to Eden space) to see the difference and saw that GC happened 1-2 times per minute.
    Is it normal in Coldfusion that the Eden memory would grow so quickly and have garbage collection run so often? i.e do these graphs look normal?
    Also should I somehow redistribute the memory available to give the Eden memory more since it seems to be where all the action is?
    Any other advice for performance improvements would be much appreciated.
    Note: These graphs are not from a period where jrun had high CPU.
    Here are the graphs:
    PS Eden Space Graph
    PS Survivor Space Graph
    PS Old Gen Graph
    PS Perm Gen Graph
    Heap Memory Graph
    Heap/Non Heap Memory Graph
    CPU Graph
    Request Average Execution Time Graph
    Request Activity Graph
    Code Cache Graph

    Hi,
    >Is it normal in Coldfusion that the Eden memory would grow so quickly and have garbage collection run so often?
    Yes normal to garbage collect Eden often. That is a minor garbage collection.
    >Also should I somehow redistribute the memory available to give the Eden memory more since it seems to be where all the action is?
    Sometimes it is good to set Eden (Eden and its two Survivor Spaces combined make up New or Young Generation part of JVM heap) to a smaller size. I know your thinking - what make it less, but I want to make it bigger. Give less a try (sometimes less = more, bigger not = better) and monitor the situation. I like to use -Xmn switch, some sources say to use other method/s. Perhaps you could try java.args=-server -Xmx4096m -Xms4096m -Xmn172m etc. I better mention make a backup copy of jvm.config before applying changes. Having said that now you know how you can set the size to bigger if you want.
    I think the JVM is perhaps making some poor decisions with sizing the heap. With Eden growing to 1Gb then being evacuated not many objects are surviving and therefore not being promoted to Old Generation. This ultimately means the object will need to be loaded again latter to Eden rather than being referenced in the Old generation part of the heap. Adds up to poor performance.
    >Any other advice for performance improvements would be much appreciated.
    You are using Parallel garbage collector. Perhaps you could enable that to run multi-threaded reducing the time duration of the garbage collections, jvm args ...-XX:+UseParallelGC -XX:ParallelGCThreads=N etc where N = CPU cores (eg quad core = 4).
    HTH, Carl.

  • How to monitor java memory usage in enterprise manager

    I am running sqlplus to execute a sql package, which generates XML.
    When processing 2000+ rows, it will give a out of memory error.
    Where in enterprise manger can I see this memory usage?
    Thanks.

    Hello,
    it depends a little on what you want to do. If you use the pure CCMS monitoring with the table ALTRAMONI you get average response time per instance and you only get new measurements once the status changes from green to yellow or red.
    In order to get continuous measurements you should look into Business Process Monitoring and the different documentations under https://service.sap.com/bpm --> Media Libary --> Technical Information. E.g. the PDF Setup Guide for Application Monitoring describes this "newer" dialog performance monitor. Probably you have to click on the calendar sheet in the Media Libary to also see older documents as well. As the Business Process Monitoring integrates with BW (there is also a BI Setup Guide in the Media LIbrary) you can get trendlines there. This BW integration also integrates back with SL Reporting.
    Some guidance for SL Reporting is probably given under https://service.sap.com/rkt-solman but I am not 100% sure.
    Best Regards
    Volker

  • Java api for "diff" unix/linux program

    Hi
    Is there a Java api that provides the same functionality as the "diff" program in linux/unix.....any pointers/help..this program will return the diffrence of 2 text files..
    thanks..

    What solution did you finally use? With iTEXT, it seems that you have to have perfect xhtml...it doesn't look like you can't convert from HTML to pdf directly....

  • Java memory usage/management

    Hi,
    I am trying to give my program as much memory as possible. I have a machine with over 6GB of RAM. However, when I try
    java -Xmx4096Mwhich is significantly less than what's available, I get this error:
    Invalid maximum heap size: -Xmx4096M
    Could not create the Java virtual machine.How come?
    Secondly, lets say I try a smaller number, like 3.8 GB:
    java -Xmx3800Mthings work perfectly.
    Now, if I try 3.9 GB:
    java -Xmx3900MI get this error:
    Exception in thread "main" java.lang.OutOfMemoryError
            at java.util.zip.ZipFile.open(Native Method)
            at java.util.zip.ZipFile.<init>(ZipFile.java:112)
            at java.util.jar.JarFile.<init>(JarFile.java:127)
            at java.util.jar.JarFile.<init>(JarFile.java:65)
            at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:575)
            at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:542)
            at sun.misc.URLClassPath$3.run(URLClassPath.java:320)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.misc.URLClassPath.getLoader(URLClassPath.java:309)
            at sun.misc.URLClassPath.getLoader(URLClassPath.java:286)
            at sun.misc.URLClassPath.getResource(URLClassPath.java:156)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:191)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)How come?
    I don't mind the fact that Java can't give me 4096M. I can live with that. But what I would like to know is why I get this last error and also what is the MAXIMUM that I can use for the -Xmx option? I have some serious testing to do and I can't just write that "-Xmx3900M didn't seem to work and so I went with -Xmx3800." People will not like that sentence.
    Thanks,
    Jeff

    OutOfMemoryError. My goal right now is to make sure
    that I let Java have as much memory as the JVM can
    handle. It seems like giving it 3800M is ok, but IBeing able to set the heap size to 3800M doesnot mean that your JVM is actually using it uptil 3800M.
    would like to know if there is a good reason that
    3900M doesn't work.On 32-bit processor machines, the largest contiguous memory address space the operating system can allocate to a process is 1.8GB. Because of this, the maximum heap size can only be set up to 1.8GB. On 64-bit processor machines, the 1.8 GB limit does not apply, as 64-bit processor machines have a larger memory address space. So now you need to see what processor do you have and if its a 32 bit processor no matter you set it to 3800 or 7800M the max size limit is 1.8G
    >
    Thanks guys for the help so far.

  • Java memory usage

    Dear All,
    We have got quite a big java application and we have tried the code below towards the end and it is keep showing around 2Mb is that considered high and is this the right way to do it? We have closed all the statement and resutlsets immediately after using them. How to know if there is any memory leakage if the values goes more then 2Mb ?
    Runtime runtime = Runtime.getRuntime();
    // Run the garbage collector
    runtime.gc();
    // Calculate the used memory
    long memory = runtime.totalMemory() - runtime.freeMemory();
    System.out.println("Used memory is bytes: " + memory);

    935486 wrote:
    I have google and found many profile tool but then again you said no hard rules so wont really be much helpful. So in my case say we have now close all the resultset and statements properly that should not worry much I guess rite. Previously it keep growing which I guess the resources was not close properly. At least you won't have to worry about leaks being introduced through database stuff, no.
    Anything else to be done to avoid out of memory exception? Thank you.Write proper code. Which means you have to write code with care. And have it reviewed by other people, that's something that people don't do enough anymore - let other people sniff through your stuff. They're bound to find things you just overlook.
    @EJP, morgalr and Dr. Clap (and all other regulars who happen to read this but have not replied yet) - right? I'm not alone in thinking that about the code reviewing am I?

  • Memory Usage:  Heap space vs System Monitor

    Hi guys
    I'm trying to wrap my head around something which seems pretty complicated. We have an enterprise app making use of Jasper Reports. When a report is generated, the app's memory usage in the Linux (Ubuntu 8.10) System Monitor shoots up by around 20MB (the more data on the report, the higher that number). After the report is closed, memory usage doesn't decrease. This is resulting in performance issues, and memory usage given by the System Monitor doesn't match up with the results given by the NetBeans profiler. There is a huge difference between the values indicated by the System Monitor, and the heap space given by the profiler. I've done some fairly detailed checking using the profiler, and according to that, there are 0 instances of our report generating classes in memory after closing a generated report. I've read a bunch of articles on the net, but I'm still stumped. My best guess is that something weird is happening somewhere in the Jasper code, but I can't really think of a way to confirm that. Does anyone have any idea what could be causing this and how to prevent it? Any help will be much appreciated; thanks.
    P.S. I've posted on the Jasper forums are well, but to no avail. [http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=65335]
    Edit: We're using Java 6 (we've recreated the issue on a few release of Java 6), and Jasper Reports 3.0.1. (Just in case that is important)

    One thing about your test is that using Xms110m will cause the JVM to NEVER give back any memory, because it won't ever go below 110M. I altered your test a bit:
    import java.util.LinkedList;
    public class MemTest {
       private static LinkedList<byte[]> mem = new LinkedList<byte[]>();
       public static void main(String[] args) {
            try {
                System.out.println("Initial:");
                print();
                useMem();
                System.out.println("Allocated:");
                print();
                clearMem();
                System.out.println("Deallocated:");
                print();
                for (;;) {
                   Thread.sleep(10000);
                   System.out.println("After 10 seconds: ");
                   print();
            } catch (Exception ex) {
                ex.printStackTrace();
       private static void useMem() {
          for (;;) {
             try {
                mem.add(new byte[1024*1024]);
             } catch (OutOfMemoryError e) {
                //free up a few MB to make sure we don't get an OOME while trying to print, etc
                mem.removeFirst();
                mem.removeFirst();
                mem.removeFirst();
                break;
       private static void clearMem() {
          mem = null;
          System.gc();
          System.gc();
          System.gc();
       private static void print() {
          long free = Runtime.getRuntime().freeMemory();
          long total = Runtime.getRuntime().totalMemory();
          double freeFraction = (((double)free) / (total)) * 100;
          System.out.printf("\tAvailable: %d\tTotal: %d\tFree: %4.2f%%%n", free, total,
                freeFraction);
    }When I ran it with
    -Xms16m -Xmx1024m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30I got these results:
    Initial:
         Available: 16518016     Total: 16711680     Free: 98.84%
    Allocated:
         Available: 2070952     Total: 1065484288     Free: 0.19%
    Deallocated:
         Available: 582957376     Total: 583073792     Free: 99.98%
    After 10 seconds:
         Available: 582953224     Total: 583073792     Free: 99.98%As you can see, the JVM did return about half of the memory back. ProcExp shows ~592MB used, and peaked ~1000MB. But right now it's still running, and still holding at 583MB.
    I've read bug reports like this, but honestly have no idea what the people at Sun are talking about. I don't see the footprint being reduced. I don't know, maybe if I wait a couple of days...

  • Java Memory Monitoring in Web Application

    Hi All,
    Request you to please review the below mentioned suggestion and provide inputs:
    Over the years, I have been involved in some projects involving web development in J2ee. JAVA memory usage is an issue that is common amongst all.
    Following are some of the questions that come across to a developer regarding the JAVA memory:
    Memory Usage Statistics.
    Trending of Memory statistics.
    Memory Leak.
    Performance optimization in case memory leaks occur.
    When it comes to answering the above, the most common suggestion is to enable heap dumps and analyze it using a heap analyzer tool. However, there are times and projects where these options are not approved off and developer is always asked to review code again and again. This is again a frustrating option for someone who has just joined a maintenance project and reading through code is not a feasible option. It has happened to me and I did the following to solve some of my problems and eventually all.
    Instead of analyzing heap dumps, I decided to do the following:
    Add a request filter to my J2EE application.
    Add following log statements in the filter:
    URL fired.
    Runtime.getRuntime().freeMemory()
    Runtime.getRuntime().totalMemory()
    Runtime.getRuntime().maxMemory()
    Gather data from daily app usage and build some trending statistics.
    Not only were we able to decide an optimum memory setting for our server, we were able to detect leaks as well. However, i agree detecting leaks wasn't as simple as it's with other tools considering the debugging effort that's involved.It is not a conventional approach but come sin handy when projects don't want to involve costs and maintain equilibrium at production systems as well.

    Hi,
    Few questions!
    1> Have you tweaked your jvm?
    2> What are the values given for Xms and Xmx?
    3> What is the size of XX:MaxPermGen?
    4> How much RAM is available on the system where you have deployed your app?
    5> Are you using pre-complied JSPs for faster response?
    6> Which JDK are you using?
    7> Have you tried using latest version of Tomcat?
    8> If these doesnt help, use any profiler to find the leak. <JProfiler, JVMTI, YourKit profiler etc>
    I hope answering these questions would help you :)
    njoy!

  • PAS/AAS JAVA instances on UNIX/Linux - database component

    Hi SCN,
    Firstly consider this is all UNIX/Linux based...
    In the past when creating AS (or AAS now) SAP dialog instances for ABAP systems I rarely ran a SAPINST process. It was simpler to copy existing profiles and NFS mount the kernel. There is no database component relating to the instances so you could easily add/remove them
    However in Java it seems there is instance data inside the database Java schema, meaning that you have to install/re-install AS/AAS instances using SAPINST/SWPM to ensure these are properly created; otherwise the instance will not connect.
    Does anyone have any details on what constitutes this database component? I would like to look at it with my own eyes and see what makes it up.
    Regards all, Jamie
    AKA doonan_79

    Hi Jamie,
    In case of JAVA, there we have BOX number. If you have a logical host on top of your physical host, then you can go with over scheme. Otherwise, because of BOX number, you have to go with export/import option.
    Refer this thread: Understanding the Java Instance ID issue
    Divyanshu

  • Pls Send Usefull UNIX /LiNUX commands in SAP?

    hi,
    pls send me anybody what are the useful UNIX/LINUX  commands in SAP.
    regards,
    reddy

    Hi brother,
      the following commands will help you do it and practice it  give rewards....
    Copy files one system to another system in network
    #mount -t nfs <IPAddress> : /<Source Directory> /<Target Directory>
    To Display Clock
    #xclock
    Check Process Details:
    #top
    #ps -ef | grep user/process/servicename
    Check Memory Size:
    #free
    Check Disk space:
    #df -k (in %)
    #df -h (in GB)
    Check Subdirectory files
    #du /usr

  • How to specify maximum memory usage for Java VM in Tomcat?

    Does any one know how to setup memory usage for Java VM, such as "-Xmx256m" parameter, in Tomcat?
    I'm using Tomcat 3.x in Apache web server on Sun Solaris platform. I already tried to add the following line into tomcat.properties, like:
    wrapper.bin.parameters=-Xmx512m
    However, it seems to me that this doesn't work. So, how about if my servlet will consume a large amount of memory that exceeds the default 64M memory boundary of Java VM?
    Any idea will be appreciated.
    Haohua

    With some help we found the fix. You have to set the -Xms and -Xmx at installation time when you install Tomcat 4.x as a service. Services do not read system variables. Go to the command prompt in windows, and in the directory where tomcat.exe resides, type "tomcat.exe /?". You will see jvm_options as part of the installation. Put the -Xms and -Xmx variables in the proper place during the install and it will work.
    If you can't uninstall and reinstall, you can apply this registry hack that dfortae sent to me on another thread.
    =-=-=-=-=-=
    You can change the parameters in the Windows registry. If your service name is "Apache Tomcat" The location is:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache Tomcat\Parameters
    Change the JVM Option Count value to the new value with the number of parameters it will now have. In my case, I added two parameters -Xms100m and -Xmx256m and it was 3 before so I bumped it to 5.
    Then I created two more String values. I called the first one I added 'JVM Option Number 4' and the second 'JVM Option Number 5'. Then I set the value inside each. The first one I set to '-Xms100m' and the second I set to '-Xmx256m'. Then I restarted Tomcat and observed when I did big processing the memory limit was now 256 MB, so it worked. Hope this helps!
    =-=-=-=-=
    I tried this and it worked. I did not want to have to go through the whole reinstallation process, so this was best for me.
    Thanks to all who helped on this.

  • How to monitor memory usage of "Memory-based Snapshot" executable (MRCNSP)  in Linux?

    We have noticed in the past that MRCNSP/Memory-based Snapshot program executable consumes around 3.8 GB of memory on the linux VM. I understand that value change planning  is 32 bit executable so 4 GB is the limit. I want to monitor the memory usage of the executable when the program runs. The program usually runs overnight. I wanted to check with you experts if you have any MRP executable memory usage monitoring script that I could use.
    I found the metalink note OS Environment and Compile Settings for Value Chain and MRP/Supply Chain Planning Applications (Doc ID 1085614.1) which talks about "top -d60 >>$HOME/top.txt". Please share your ideas for monitoring this process.
    We do not use Demand Planning or Demanta or Advanced Supply Chain Planning which are 64 bit application. That is our future direction.
    Environment:
    EBS : R12.1.2 on Linux. The concurrent manager is on 64 bit linux VM, web services on 32 bit VMs.
    DB: Oracle DB 11.2.0.3 on HP UX Itanium 11.31. Single database instance.
    Thanks
    Cherrish Vaidiyan

    RAM on the controller is not the same as the C: drive. With respect to the controller, you can think of it in the same terms as your computer. RAM is volatile memory and your C: drive is non volatile flash memory.
    Depending on the frequency of the temperature excursions above and below your 70C threshold, the service life of the controller and the method you used to append to the file, there could be a number of issues that may creep up over time.
    The first, and the one you brought up is the size of the file over time. Left unchecked this file could grow continuously until the system literally runs out of flash memory space and chokes. Depending on how your are appending data to this file, you could also use more than a trivial slice of processor time to read and write this big file on disk. While I have not personally ever run one of the RT controllers out of "disk space", I can't imagine that any good could come of that.
    One thought is to keep a rolling history of say the last 3 months. Each month, start a new file and append your data to it during the course of the month. Each time a new file is created, delete the data file from something like 3 months ago. This will ensure that you will always have the last 3 months of history on the system, however the monthly deletion of the oldest data file will limit you to say 3 files at whatever size they happen to be. Unless there are hundreds of thousands of transitions above and below your threshold this should keep you in good shape.
    I also eluded to the method you use to write to this file. I would ensure that you are appending data using the actual file functions and not first reading in the file, appending your data as a string then writing the entire file contents back to disk. In addition to causing the highest load on the file system this method also has the largest system RAM requirements.

  • Java App Deploy Axis in Unix/Linux OS to call an external WService

    Hi!
    I would really appreciate some help in this matter.
    I'm developing an application in Java to call a remote .Net Web Service from probably Unix/Linux/Windows 2000/2003 Operating System.
    My question for you is, what requirements do I need to install before I'm able to call a remote web service from Unix/Linux?
    I would like to keep things as simple as possible. The less software I install the better.
    I'm also considering in using c++ instead of Java if the solution is more simpler.
    Thanks

    I reply to myself, if there's someone interested....
    So far, I' ve found 3 ways to approach this issue:
    1) OpenSSH:
    Install an OpenSSH server on WIN side.
    On LINUX side, write a script that opens an OpenSSH transaction and then call the executable; this script is what I call from Runtime.getRuntime().exec()This way, the executable is executed on WIN.
    2) Wine (Windows emulator for LINUX)
    Install WINE on LINUX side.
    Make the executable reachable from LINUX to WIN side (copy/paste or mount the folder) and call Runtime.getRuntime.exec("wine MYEXE.EXE").
    This way, the executable is executed on LINUX (you need to make all DLLs reachable)
    3) RMI
    Write a RMI server as "exe invoker" and deploy it on WIN side.
    Then, replace the portion of code that calls the executable with an RMI client that invoke the RMI server.
    This way, the executable is executed on WIN.
    Finally, I chose this third way.

Maybe you are looking for

  • Plz help me to use

    plz help me to use run_opject_report to run report in paper plz support me best reg.

  • How can I find a device I can't see?

    Hi Guys, I bought a cheap little digital video camera ($50 - I can't afford an expensive one). It doesn't support Mac so I have to come to you for help. I made some videos and uploaded them to iPhoto. There were some I didn't like so I deleted them,

  • Created a PDF brochure using Photoshop/InDesign

    Hi, I have created a 6 page brochure.  I layed out the Artwork in Photoshop, then placed the templates into InDesign to add all of my text. I Export as an Interactive PDF, but when I open the PDF, objects on it seem to load out of sync.  Within a cou

  • Goods movement document not updating

    Hi Gurus, I have created the order with component and external services did the goods issues and service acceptance but while checking in Menu bar of order>Extras>Document for order---->Goods movements no movement document is updared.Pls guide  me wh

  • How to remove DRM from files

    I thought iTunes Match was supposed to remove DRM from files