How is PeopleSoft Memory Managed?

I'm running a custom app engine with one PeopleCode section which is very brief and simple calls an app package. This app package calls another app package that is using a CI. The process is failing after processing approximately 10,000 out of 20,000 rows (the actual number of rows varies from run to run, same data), with a simple out of memory error. I've had our SysAdmin increase the memory for Java without any change. So, my question is how does PeopleSoft manage it's memory. Is it best to cancel the CI after each row or keep one instance and do a new get/create (I believe that's doable)? Should I should I re-instantiate the app package class objects after each row, etc. Does anyone have any clue as to how the memory is managed?

Jim - As to fine tuning, I probably won't get around to it. I suspect that you are right about somewhere there's a tipping point. But the CI, is CRM's Consumer Component, so there's just a lot to it, which is why it takes a while to process 20,000+ rows. To answer your restart question, it's probably worth describing the higher levels of how it all fits together.
The way we use CRM, requires that we are frequently required to load large amounts of data from spreadsheets into various components - Users, Workers, Consumers, configuration tables, etc. Often times there's some complex logic associated with processing the raw data. So, to accommodate that need we started out by building an almost abstract packages/class to handle all the common needs of opening, reading and manipulating an input file, trap errors, write to a custom log, etc. We then extend this class to meet the specific needs of a given load. At the same time since we were frequently using the same code for a given CI, we started creating custom classes for each CI. So that all this would be reusable whether we were doing a load or needing to use it somewhere else. Somewhere along the ling PeopleSoft has probably caught up to what we've been doing, but we're too invested in our own methodology to take a look. But, since we were always loading from files, our users wanted to see the progress each process was making. We incorporated logging each row processed out into our logs. (I know this is not very efficient, but when users were watching very long running processes, they wanted to be able to know it was making progress, so we forced the app engine/classes to write to the log by opening and closing the file.) I guess this a very wordy way to say we don't use restart. We just remove the processed rows from the file and start again. I'm sure we can find more efficient ways to do all this, given the added features of tools over the years, but we can very quickly turn out new CI loading processes, and we don't have the time to rework what we're currently using.
Thanks for the input.
I should also tell you that your original blogs on 64 Base encoding enabled us to figure out how to get all our attachments into our document app.
Thanks,
Russ
P.S. I forgot to answer your question. Yes basically you psuedocode is what we're doing. But, instead of ci = null, we use ci.cancel(). I assume that has the same affect?
Edited by: user4414415 on Apr 11, 2012 12:51 PM

Similar Messages

  • How does object memory management works?

    Hi all,
    I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
    create type t_test as object (
    id number,
    member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
    ) not final;
    create or replace type body t_test as
    MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
    BEGIN
    return NULL;
    END FunctTest;
    end;
    create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
    BEGIN
    return NULL;
    END FunctTest2;
    create table tab_test of t_test;
    insert into tab_test values(1);
    commit;
    As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
    declare i integer;
    t varchar2(4000);
    ob t_test;
    begin
    select value(a) into ob from tab_test a where a.id=1;
    for i in 1..5000 loop
    select ob.FunctTest('A','S') into t from dual;
    end loop;
    end;
    declare i integer;
    t varchar2(4000);
    begin
    for i in 1..5000 loop
    select FunctTest2('A','S') into t from dual;
    end loop;
    end;
    If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
    The memory isn't released till the session is alive.
    I'm trying to develop an object application, but these memory leaks are making me crazy.
    Geoff, does release 2 solve some of these problems?
    In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
    As always,
    Thanks for any support to everybody.
    Andrea Arilotta
    [email protected]

    Andrea,
    Do you have an Oracle Support customer ID? If you can log a TAR on http://metalink.oracle.com with your customer id, someone can take a closer look at this problem.
    Regards,
    Geoff
    Hi all,
    I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
    create type t_test as object (
    id number,
    member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
    ) not final;
    create or replace type body t_test as
    MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
    BEGIN
    return NULL;
    END FunctTest;
    end;
    create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
    BEGIN
    return NULL;
    END FunctTest2;
    create table tab_test of t_test;
    insert into tab_test values(1);
    commit;
    As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
    declare i integer;
    t varchar2(4000);
    ob t_test;
    begin
    select value(a) into ob from tab_test a where a.id=1;
    for i in 1..5000 loop
    select ob.FunctTest('A','S') into t from dual;
    end loop;
    end;
    declare i integer;
    t varchar2(4000);
    begin
    for i in 1..5000 loop
    select FunctTest2('A','S') into t from dual;
    end loop;
    end;
    If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
    The memory isn't released till the session is alive.
    I'm trying to develop an object application, but these memory leaks are making me crazy.
    Geoff, does release 2 solve some of these problems?
    In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
    As always,
    Thanks for any support to everybody.
    Andrea Arilotta
    [email protected]

  • How I fixed memory management fails on Lion

    MAC:
    17" i7 2.66GHz Macbook Prom Mid 2010
    SYMPTOM:
    The Free memory was always dropping and I needed to use FREE MEMORY APPS from Apps Store. The beach ball was frequent. The speed is so slowly from OS X Snow Leopard, even I made a Permissions Fix, it takes a lot to start and shut down. The memory drops on every app I open and the system can't free them after I quit the apps.
    WHAT I DO:
    I made a backup, formated and installed a free new copy of OS X Lion and SOLVED all the memory drops.
    IMPRESSIONS:
    I have 8GB of RAM in my  and now I see at least FREE 5.5GB RAM CONSTANTLY (navigating web, without use of huge memory hungry background apps). I'm another 17" MBP Mid 2009 owner with 4GB RAM and noted that it was faster. Both with the last version of Lion. Not now after the new copy of Lion my mac is pretty fast again There is no aparent issues about Lion Memory Management as people are discussing.

    Yes, a brody and thanks for your link. In this Mac I installed an old HP scanner driver
    I'm very concearned about people saying don't upgrade to Lion, it's a big liar! You don't need to put your mac to sleep as people said to don't waste time on boot. I imagine boot process is very useful for system reset and evaluate hardware status.
    I made a lot of reboots to certificate the speed boost, I imagine the system makes it to diagnose any problems and fix itselves.
    I feel the boot and shutdown is becoming fast as I use it since the first boot of reinstaled Lion.
    Only one issue (solved) is about installing Epson printer that couldn't print wirelessly.
    It was solved just clicking at OSX X UPDATE SOFTWARE and it discovers an needed Epson Driver Update for Lion.
    Very happy again with my mac.

  • How to use memory management in a JAR?

    I want to increase the amount of memory available to my program. It's being run from a JAR file. How can I use the java -Xms and -Xmx command line options from within the JAR? Is it a matter of altering the manifest? I'm using JBuilder, by the way.
    Craig

    I want to make sure I don't get "out of memory" errors. I understand that using the java -Xms and -Xmx command line options allows increasing available memory and I'd like to be able to do that when the user just clicks on a JAR file in Explorer.

  • Oracle 9i Automatic PGA Memory Management

    Hello,
    my team and me, we are facing difficulties to change the size of the PGA used by our server processes for HASH JOIN, SORT... operators,
    here you can see the results of "select * from v$pgastat":
    [pgastat dynamic view results|http://pastebin.com/m210314dc]
    We have been increasing consecutively our pga_aggregate_target parameter from 1.7 Gb initially to 4Gb then at the end 6Gb, the value of "Global memory bound" and " aggregate pga auto target" on the link above are still equal to 0.
    I have been reading threads on the forum and documentation see below, I understand how the global memory manager (CKPT) computest the sql memory target and then the global memory bound, as far as I understand I can only "play" on the pga_aggregate_target value in order to increase the size of our PGAs (I exclude to play with hidden parameters).
    - Joze Senegacnik: Advanced Management of working areas in Oracle 9i/10g : http://tonguc.yilmaz.googlepages.com/JozeSenegacnik-PGAMemoryManagementvO.zip
    - Dageville Benoit and Zait Mohamed: SQL memory management in oracle 9i
    Here different information that could be usefull:
    OS: solaris 10 (db running in a non global zone)
    Arch: 64-bit sparcv9 kernel modules
    Physical memory: 32 Gb (being shared between all non global zones)
    Oracle version: 9.2.0.5 32bits
    Values of init parameters and hidden parameters that could be relevant:
    [init parameters|http://pastebin.com/m40340cf4]
    [hidden parameters|http://pastebin.com/m50d74c53]
    Maybe useful queries:
    over work areas views, I use the following script:
    [wa_analysis.sql|http://pastebin.com/d606ebd9b]
    and the result of it:
    [result of script wa_analysis.sql|http://pastebin.com/m5f49a2e5]

    Joze Senegacnik wrote:
    - either your sessions are using a lot of memory for storing variables like pl/sql arrays which is subtracted from automatic management: PGA_AGGREGATE_TARGET - (aggregated persistent area + a part of the run time area of all server processes)
    - you are hitting a bug
    - or maybe something elseI am really happy you come to this conclusion too, they are the same we made with my team and we have submitting to Oracle support via metalink SR 3-1216060641, we were asking if we hit the following bug (in note 1) or we leak about pl/sql or java... or else indeed,
    note 1: PGA_AGGREGATE_TARGET Assigned Memory Is Left Unconsumed When Set High [ID 844542.1]
    Joze Senegacnik wrote:
    I would like to know:
    1.) what were the values for global memory bound and autotarget immediately (or in short time) after the database restart or when you have increased them Just after the restart of the database and just after the change of P_A_T, we query v$pgastat immediately after and the value of global memory bound and auto target were equal to 0 byte,
    2.) If you are able to change value of PGA_AGGREGATE_TARGET (P_A_T) to 10GB what happens with global memory bound and auto traget. They should be positive at least for a short time. As this is a dynamic parameter you can change it for a short time, run queries and set it back.We plan to do this tonight, we have an "heavy" ITIL change management procedures that allow us to make changes approved by change manager and only during night maintenance window on production system, I come back to you tomorrow. But we have been increasing from 1,7Gb to 4Gb to 6Gb, each time I have been querying v$sgastat in the next 2 mins and global memory bound and auto target were equal to 0 byte.
    3.) Have you checked on the OS level how much memory are using server processes - do these numbers come along with what Oracle says. Not during problematic activities, meaning active work areas performing HASH-JOIN, SORT... operators,
    unfortunately it is a production system, even if he performs poorly, we are not allowed to try or retry the poor queries, but if it comes again I'll do it,
    during low activities, here the results paste with the scripts I used:
    [pga processes info in oracle|http://pastebin.com/f2e540062]
    I spooled the result rows of this previous script in /var/tmp/pga_processes.log then I loop over all processes pid and display pmap output anon info like this:
    h5. cat /var/tmp/pga_processes.log | awk -F' ' '{print $5}' | xargs -n 1 -i pmap -x {}| grep -v 'Addres' |egrep 'Kb' 2>&1 > /var/tmp/pga_processes_os.log
    then I merge line by line the two files with unix paste command, here the results:
    [os and oracle pga informations|http://pastebin.com/f4135c8a6]
    4.) How many server processes are running on you system in average/max and are you using just dedicated processes or also shared?in average 250, we are only using dedicated processes,
    5.) At time of low activity is the global memory bound still 0 or becomes > 0. I have been querying every 15 min during more than 24 hours low activities, it still stay to 0,
    5.) Are you experiencing paging/swapping on OS level?No, here orca figures for details:
    [free memory|http://img509.imageshack.us/img509/5897/ohuron1asd2gauge1024xfr.png]
    swap
    [pagein pageout|http://img121.imageshack.us/img121/6946/ohuron1asd2gaugepginper.png]
    [memory usage|http://img19.imageshack.us/img19/2213/ohuron1asd2gaugeppkerne.png]
    6.) Please post the result of: select * from X$QESMMSGA ;during low activities, [results X$QESMMSGA|http://pastebin.com/f61df7093]
    While you will be answering to my questions I'll try to figure out what we can do to properly diagnose the problem. As you are on 9i it is a little bit harder.I am really kind of your help, as we say in my country, "if you need tow arms one day to carry something, call me."
    --Jeremy Baumont                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to see memory setting of a managed server

    Hello,
    Can anybody explain me how to see Memory settings of a managed server instance in weblogic server using unix box
    Thanks
    Ravi

    Hi,
    The memory setting on the WC_Spaces managed servers can be seen as mentioned below.
    ps -eaf | grep Spaces
    Above command shows something like this at the top of the output:
    /a01/app/oraweb/middle/jrrt-3.1.2-1.6.0/bin/java -jrockit -Xms512m -Xmx1024m -Dweblogic.Name=WC_Spaces1 ...
    Regards
    Sreedhar

  • In 11g, How to Enable Automatic Shared Memory Management (ASMM)

    hi experts,
    I have a new 11.2 g database and I want to configure it to use ASMM.
    To enable ASMM, should I assign a non-zero size to the Memory_Target parameter or the SGA_Target ? I have read conflicting statements.
    Thanks, John

    If you mean Automatic Memory Management, pl see
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/memory003.htm#ADMIN11011
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10897/instance.htm#ADMQS12039
    HTH
    Srini

  • Java Card Memory Managament: How do you free-up allocated memory?

    I have a problem with java card memory management, that causes the applet to hang. I think the java card runs out of RAM when my applet runs for several iterations or process() calls. My program requires significant size of bytes for each APDU command to be sent. (around 100-250 bytes, for each apdu.sendBytes() call).
    I use a temporary byte array buffer that will contain the APDU command to be sent, declared as:
    private byte [] tmpBuff;Before each process() call, the tmBuff is initialized and contains a new byte array containing the APDU command to be sent. (array size around 100-250 bytes).
    tmpBuff = new byte[] {0x00, ... } On the process() call, the tmpBuff is copied to APDU and sendBytes() function is called. The tmpBuff byte array is reinitialized after every process() call to contain the next command. After about 20 successful commands by the process() call, the applet seems to ran out of RAM and hangs.
    I suspect, that when tmpBuff is reinitialized before each process() call, the Java Card garbage collector does now free-up the memory that was used for the previous tmpBuff byte array initialization.
    Is there a way to reclaim the memory allocated for tmpBuff after it has been initialized?
    Or maybe call the Java card garbage collector?

    Cenon,
    Generally speaking, the new keywork is a bad idea outside the install method or constructors as the JCRE is not guarenteed to have a garbage collector (and if it does, has to be called explicitly by JCSystem.requestObjectDeletion(); This however is slow.
    A better option may be to use memory more efficiently than to rely on garbage collection. A way of doing this would be to have an instance variable that is initialised once and reused. This allows you to use either a transient or persistent array.
    public class TestApplet extends Applet {
        private final static short BUFFER_SIZE = (short) 300;
        private final byte[] buffer;
        private TestApplet() {
            // only have one of the following not commented out
            /* persistent buffer */
            // buffer = new byte[BUFFER_SIZE];
            /* transient buffer (much faster) */
            buffer = JCSystem.makeTransientByteArray(BUFFER_SIZE, JCSystem.CLEAR_ON_DESELECT);
        public static void install(byte[] bArray, short bOffset, byte bLength) {
            // GP-compliant JavaCard applet registration
            new TestApplet().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
        public void process(APDU apdu) {
            // Good practice: Return 9000 on SELECT
            if (selectingApplet()) {
                return;
            // do some work here with buffer
    }In the above code you would be able to use the buffer to build the command and you will not have a memory leak.
    Cheers,
    Shane
    Edited by: safarmer on Jul 8, 2008 12:25 PM

  • Questions about db_keep_cache_size and Automatic Shared Memory Management

    Hello all,
    I'm coming upon a server that I'm needing to pin a table and some objects in, per the recommendations of an application support call.
    Looking at the database, which is a 5 node RAC cluster (11gr2), I'm looking to see how things are laid out:
    SQL> select name, value, value/1024/1024 value_MB from v$parameter
    2 where name in ('db_cache_size','db_keep_cache_size','db_recycle_cache_size','shared_pool_size','sga_max_size');
    NAME VALUE VALUE_MB
    sga_max_size 1694498816 1616
    shared_pool_size 0 0
    db_cache_size 0 0
    db_keep_cache_size 0 0
    db_recycle_cache_siz 0 0
    e
    Looking at granularity level:
    SQL> select granule_size/value from v$sga_dynamic_components, v$parameter where name = 'db_block_size' and component like 'KEEP%';
    GRANULE_SIZE/VALUE
    2048
    Then....I looked, and I thought this instance was set up with Auto Shared Mem Mgmt....but I see that sga_target size is not set:
    SQL> show parameter sga
    NAME TYPE VALUE
    lock_sga boolean FALSE
    pre_page_sga boolean FALSE
    sga_max_size big integer 1616M
    sga_target big integer 0
    So, I'm wondering first of all...would it be a good idea to switch to Automatic Shared Memory Management? If so, is this as simple as altering system set sga_target =...? Again, this is on a RAC system, is there a different way to do this than on a single instance?
    If that isn't the way to go...let me continue with the table size, etc....
    The table I need to pin is:
    SQL> select sum (blocks) from all_tables where table_name = 'MYTABLE' and owner = 'MYOWNER';
    SUM(BLOCKS)
    4858
    And block size is:
    SQL> show parameter block_size
    NAME TYPE VALUE
    db_block_size integer 8192
    So, the space I'll need in memory for pinning this is:
    4858 * 8192 /1024/1024 = 37.95.......which is well below my granularity mark of 2048
    So, would this be as easy as setting db_keep_cache_size = 2048 with an alter system call? Do I need to set db_cache_size first? What do I set that to?
    Thanks in advance for any suggestions and links to info on this.
    cayenne
    Edited by: cayenne on Mar 27, 2013 10:14 AM
    Edited by: cayenne on Mar 27, 2013 10:15 AM

    JohnWatson wrote:
    This is what you need,alter system set db_keep_cache_size=40M;I do not understand the arithmetic you do here,select granule_size/value from v$sga_dynamic_components, v$parameter where name = 'db_block_size' and component like 'KEEP%';it shows you the number of buffers per granule, which I would not think has any meaning.I'd been looking at some different sites studying this, and what I got from that, was that this granularity gave you the minimum you could set the db_keep_cache_size, that if you tried setting it below this value, it would be bumped up to it, and also, that each bump you gave the keep_cache, would be in increments of the granularity number....?
    Thanks,
    cayenne

  • Resizing an array of struct inside a DLL using the memory manager

    Hi all,
    I dug deep inside the boards, but wasn't able to find a solution for my problem.
    I'm building a dll, which does some imageprocessing and should return an array of structs to labview, with one struct for every element in the image.
    As I don't know the number of elements beforehand and the limit of the number is numbers of magnitude larger then the expected one, I don't want to allocate such a huge chunk of memory prior to the dll call in labview.
    In a former version I used a 2d array for the elements, where each row holds the values of every element. Here I used the NumericArrayResize-function, which worked quite well. But I have to add more sub-processes and using structs (or clusters in labview) appears to be more usefull and cleaner for me, in addition I had to cast some of the elements back and foreward a few times.
    So one element-struct should hold 2 singles and 1 uint32. My question is now, how can I resize this array of struct with memory manager functions as the NumericArrayResize-functions does not suit this purpose?
    (Accessing a given array of structs inside the DLL and after that reading the changed values in Labview is surprisingly easy )
    Thanks in advance
    Solved!
    Go to Solution.

    Well, I was able to solve it myself. I found this thread, where the first post of rolfk made me thinking. It appeared to me, that the numericarrayresize-function behaves very similar to the realloc-function of c. So I used the type unsigned int 8 (which is just one byte) and multiplied it by the number of bytes used by one struct, in my case 12 bytes (4+4+4) and then multiplied it by the number of structs (elements in the image) i have. Luckily it worked and the memory block was resized exactly as I wanted it to be. Important to note: do not forget to adjust the size element of the handle, otherwise Labview does not know about the changed size.

  • Oracle 11g AMM (Automatic Memory Management)

    Hi All,
    I have a very powerful server 24 Processors with 6 cores each and 74 GB RAM for my production database. The server will host only one production database. I wanted to use AMM for this database and allocate maximum memory to Oracle by setting memory_target. By default /dev/shm is set 37 GB but I wanted to increase it least 55 GB. I know I can get this changed by my system admin but I wanted to know how much memory should leave for OS?
    Please help me on sizing this.
    Thanks,
    Arun Singh

    From MOS ID 169706.1
    Automatic Memory Management
    Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm) and file descriptors. The shared memory should be sized to be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. To determine the amount of shared memory available, enter the following command: # df -k /dev/shm/
    Note: MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with huge pages on Linux

  • How to monitor memory usage in a cRIO controller?

    I have an application where I suspect the customer is operating in a hotter environment than they are claiming.  I prepared the RT host vi to log a simple text file directly on to the RT's C: drive.  In this case I'm only logging the transition of events when the chassis temperature exceeds 70C and then becomes less than 60C along with a date and time stamp.  (It's not continually logging data.)  However, I'm concerned that over time (i.e months from now after I've long forgotten the project)  the file will get overly large and affect system operation.  There are articles that deal with memory management but I'm not sure how to interpret them.  They talk about RAM.  Is RAM the same as the C: drive on the controller?  How do I determine the available memory on the C: drive; like using "dir" in the old DOS days?  What is the best Knowledge Base article that deals with this issue.  This system is a stand alone application.  (The host PC is not normally connected.)  I am using a cRIO-9012 controller and LV v.8.6.
    Dave

    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.

  • JS memory management?

       I've been having a lot of memory errors crashing illustrator lately, I'm trying to rule out scripts as the reason.  Are there any memory management techniques I should be using while scripting for AI?  All the crashes are "Memory could not be written" errors.

    No takers?  I noticed in the scripting guide for CS5 it says this:
    ... A single global, persistent, ExtendScript engine inside Illustrator handles all BridgeTalk communications. The net effect is that the state of the ExtendScript engine is cumulative to all scripts that ran previously...
    This makes me believe that the variables used in a script are not destroyed after a script finishes running.  The scripts I'm writing are extensive, with many, many variables being created.  I'm wondering if I'm running out of memory after running the scripts so many times.  Do I need to be destroying my own variables as part of my scripts?  If so, how do I do that?

  • Using Dynamic Memory Management

    Hi All,
    http://technet.microsoft.com/en-us/library/ms178145(v=sql.90).aspx
    I have red the above article regarding Dynamic Memory Management and now I just want to check whether this option is enabled in my environment or not.
    Is this by default enabled in the server or else Please suggest on how to achieve this
    Regards,
    Kalyan
    Grateful to your time and support. Regards, Shiva

    Is this by default enabled in the server or else Please suggest on how to achieve this
    Regards,
    Kalyan
    Grateful to your time and support. Regards, Shiva
    If you read the first line of the link you posted its clearly written SQL Server memory management is dynamic. You cannot change it . You can just restrict buffer pool usage by puttling limit on MAX Server memory. In that case as well SQL Server might cache
    all Buffer pool memory.
    Event though you cap max server memory still direct memory allocations for large pages will be done directly by windows API and that will also come under SQL Server memory utilization
    In short SQL server memory allocation is always dynamic you cannot change it
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Oracle PeopleSoft Enterprise Manager Plugin Installation on oem grid control 12c facing error

    Hi Friends,
    I am planning to monitor Peoplesoft 8.52 HRMS application through oem 12c grid control. First I have installed 12c grid control successfully. Followed by I am installing the Oracle PeopleSoft Enterprise Manager Plugin in 12c oem repository containing 11g database. I am facing configuration assistant error message as below
    OUI-25031 some of configuration assistance failed.
    Configuration assistant "PeopleSoft Environment Management Repository Plug-in" failed
    The "/u01/oracle/cloudcontrol/middleware/oms/cfgtoollogs/configToolFailedCommands" script contains all commands that failed, were skipped or were cancelled. This file may be used to run these configuration assistants outside of OUI. Note that you may have to update this script with passwords (if any) before executing the same.-----------------------------------------------------------------------------
    Please assist me how shall I proceed further...
    Regards,
    Rajesh Pachiyappan

    Hi,
    I just came across the same problem.
    In my case, I hit this issue while trying to reinstall Oracle EMCC 12g.
    Since previous installation failed, I decided to start from the beginning again but I am now hitting this.
    Before trying to reinstal, I dropped SYSMAN and a few other users created on the provided DB.
    Did you solve this issue?
    I believe I may have not "clean up" the database properly. Which would be the right way of wiping out the DB without actually rebuild it again?
    Thanks
    Angel

Maybe you are looking for

  • How do I move a file up one directory?

    While in "icon view", how can i select a file and then move it up one directory? I always end up dragging it to the desktop, then navigating my way up one directory in finder, then dragging it from desktop to the one directory higher. Seems like a lo

  • Package not working like it should! :(

    Ok I created a package, It compiles fine but returns no results. My package contains a function that calculates my instructors bonus depending on how many lessons he has taught in the last 7 days. I then have a procedure to check that the bonus is no

  • What hard drive should I use

    SHould I buy a SATA or EIDE Hard Drive? I have been reading problems people have been having with the SATA. I am not going to be using raid. Just one drive. Will I need to do anything special to install windows. Will my window disk do everything such

  • New imac not working properlyHELP

    Hi I have had a new imac for a week. I cannot get on to an apple site at all, had to get here with my Sony laptop. It just hangs when I try to load an apple website, and if I get it to load, I cannot get to support pages WHY Also today iphoto stopped

  • Queryable property in xml

    Hi, <table name="dcs_prd_media" type="auxiliary" id-column-name="product_id"> <property name="template" xml-combine="remove"/> <property name="template_en" item-type="media" column-name="template_id" queryable="true" category-resource="categoryPresen