Large SGA On Linux and Automatic Shared Memory Management problem

Hello
I use Oracle10gR2 in linux 32bit and I use http://www.oracle-base.com/articles/linux/LargeSGAOnLinux.php manual
for larger SGA it works fine but when I set sga_target parameter for using Automatic Shared Memory Management
I recieve this error
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00824: cannot set sga_target due to existing internal settings, see alert
log for more information
and in alert log it has been wrote
Cannot set sga_target with db_block_buffers set
my question is when using db_block_buffers can't use Automatic Shared Memory Management ?
Is any solution for using both Large SGA and Automatic Shared Memory Management ?
thanks
Edited by: TakhteJamshid on Feb 14, 2009 3:39 AM

TakhteJamshid wrote:
Do it means that when we use large SGA using Automatic Shared Memory Management is impossible ?Yes its true. An attempt to do so will result inthis,
>
ORA-00825: cannot set DB_BLOCK_BUFFERS if SGA_TARGET or MEMORY_TARGET is set
Cause: SGA_TARGET or MEMORY_TARGET set with DB_BLOCK_BUFFERS set.
Action: Do not set SGA_TARGET, MEMORY_TARGET or use new cache parameters, and do not use DB_BLOCK_BUFFERS which is an old cache parameter.>
HTH
Aman....

Similar Messages

  • 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

  • Confusion about Automatic Shared Memory Management

    Hi,
    Oracle Database 10g includes the Automatic Shared Memory Management feature which simplifies the SGA memory management significantly. To use Automatic Shared Memory Management, we have to set the SGA_TARGET initialization parameter to a nonzero value and the STATISTICS_LEVEL initialization parameter to TYPICAL or ALL.
    Oracle Database 10g Rel. 2 documentation, in some places, says that:
    If SGA_TARGET is specified, then the following FIVE memory pools are automatically sized:
    * Buffer cache (DB_CACHE_SIZE)
    * Shared pool (SHARED_POOL_SIZE)
    * Large pool (LARGE_POOL_SIZE)
    * Java pool (JAVA_POOL_SIZE)
    * Streams pool (STREAMS_POOL_SIZE)
    Ref.:
    1. http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192.htm
    2. http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/memory.htm
    3. Oracle Database 10g: New Features for Administrators - Student Guide
    But in some places I found the following:
    If SGA_TARGET is specified, then the buffer cache (DB_CACHE_SIZE), Java pool (JAVA_POOL_SIZE), large pool (LARGE_POOL_SIZE), and shared pool (SHARED_POOL_SIZE) memory pools are automatically sized.
    Here you can see that Streams Pool is not included in the automatically sized pools.
    Ref.:
    1. http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14211/build_db.htm#sthref252
    Also, according to Oracle Press' Book "OCP Oracle Database 10g: New Features for Administrators Exam Guide:
    Under Automatic Shared Memory Management, the database manages the
    following FOUR major components of the SGA, also known as the auto-tuned SGA
    parameters:
    ■ Buffer cache (DB_CACHE_SIZE)
    ■ Shared pool (SHARED_POOL_SIZE)
    ■ Large pool (LARGE_POOL_SIZE)
    ■ Java pool (JAVA_POOL_SIZE)
    It is important to understand that even under Automatic Shared Memory
    Management, you still need to configure any SGA component other than the four
    auto-tuned components. Following are the manually sized components of the SGA:
    ■ Redo Log Buffer
    ■ The KEEP and RECYCLE buffer caches (if specified)
    ■ The nonstandard block size buffer caches (if specified)
    ■ The new Streams pool SGA component
    ■ The new Oracle Storage Management (OSM) buffer cache, which is meant
    for the optional ASM instance
    Now my question is "IS Streams Pool an auto-tuned SGA parameter?"
    Thanks in advance.
    --Khan.

    Hi,
    I would advise you to read Document I.D. Note:295626.1 on Oracle Metalink.
    It states that
    When enabled, it lets Oracle decide of the right size for some components of the SGA:
    SHARED POOL
    LARGE POOL
    JAVA POOL
    DB CACHE (using the DB_BLOCK_SIZE value)
    The SGA_TARGET value will therefore define the memory size sharable between auto-tuned and manual parameters.
    The manual parameters are:
    DB_<KEEP/RECYCLE>CACHESIZE
    DB_nK_CACHE_SIZE (non default block size)
    LOG_BUFFER
    FIXED SGA
    STREAMS_POOL_SIZE
    Adith

  • 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

  • Multithreading and partitioned shared memory

    Hi All,
    I'm having no success with this (simple?) multithreading problem on my core-i7 processor, using CVI 9.0 (32-bit compiler).
    In the code snippets below, I have a node level structure of 5 integers, and I use 32 calls to calloc() to allocate space for 32 blocks of 128*128 (16K) nodes and store the returned pointers in an array as a global var. 
    Node size in bytes = 20, block size in bytes = (approx) 328KB, total allocated size in bytes = (approx) 10.5MB.
    I then spawn 32 threads, each of which is passed a unique index into the "node_space" pointer_array (see code below), so each thread is manipulating (reading/writing) a separate 16K block of nodes.
    It should be thread safe and scale by the number of threads because each thread is addressing a different memory block (with no overlap), but multithreading goes no faster (maybe slightly) than a single thread.
    I've tried various threadpool sizes, padding nodes to 16 and 64 byte boundaries,  all to no avail.
    Is this a memory bandwidth problem due to the size of the arrays? Does each thread somehow load the whole 32 blocks?  Any help appreciated.
    struct  Nodes
       unsigned int a;  
       unsigned int b;  
       unsigned int c;
       unsigned int d;  
       unsigned int e;
    typedef struct Nodes  Nodes;
    typedef  Nodes   *Node_Ptr;
    Node_Ptr            node_space[32];          /* pointer array into 32 separate blocks ( loaded via individual calloc calls for each block) */
    .... Thread Spawning  ....
             for (index = 0; index < 32; ++index)
                 CmtScheduleThreadPoolFunction(my_thread_pool_handle, My_Thread_Function, &index, NULL);
    Solved!
    Go to Solution.

    Hello CVI_Rules,
    It's hard to answer your question because it depends on what you are doing in your thread function. Since you are not seeing any speed up in your program when you change the number of threads in your thread pool, you are either doing too much (or all of the work) in each thread, serializing your threads with locks, or somehow slowing down execution in each thread.
    Your basic setup looks fine. You can simplify it slightly by passing the nodes directly to your thread function:
    for (index = 0; index < 32; ++index)
    CmtScheduleThreadPoolFunction(pool, My_Thread_Function, node_space[index], NULL);
    static int My_Thread_Function(void *functionData)
    Node_Ptr nodes = functionData;
     But that's not going to affect performance.
    Things to look into:
    Verify that you're really only working on one subset of the node space in each thread, that you're passing and receiving the correct node space in each thread and that you're working only on that one.
    Verify that you don't have any locks or other synchronization in your program. It sounds like you don't because you designed your program so that it wouldn't need any. But check anyway.
    Verify that you're not doing something unnecessary in your thread function. Sometimes people call ProcessSystemEvents or ProcessDrawEvents because they feel that it makes the UI more responsive. These two functions are expensive (around 20ms per call, I think). So if you are calling these functions in a loop, with a fixed total number of iteraction across all threads, and if the actual computations are relatively fast, then these functions can easily dominate the execution time of your program. (It need not be these functions, it might be other ones. These are just examples.)
    Show and explain your code to a colleague. Sometimes you don't see the obvious until you show it to someone. Or they might notice something.
    Apart from that, can you explain what you are doing in your thread function so that we can have a better understanding of your program and what might inhibit parallelism?

  • 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Shared memory lock problem

    Hi all,
    I have an application which uses XLA to connect to TimesTen database, the appplication name is ISM, when I type ttstatus command it shows me below message, can any one explain why "ISM LOCKED " shows in ttstatus and how to resolve this problem, it this is C program, what's wrong in my code?
    TimesTen status report as of Mon Apr 14 17:32:32 2008
    Daemon pid 11987 port 16001 instance 6.04
    TimesTen server pid 11994 started on port 15005
    No TimesTen webserver running
    Data store /data/TimesTen/6.04/DataStore/usagecollector
    There are 10 connections to the data store
    Data store is in shared mode
    Shared Memory KEY 0x130282ba ID 654311539 (ISM LOCKED)
    Type PID Context Connection Name ConnID
    Process 12061 0x00000001001c8500 ism 6
    Replication 12037 0x000000010023d020 RECEIVER 5
    Replication 12037 0x000000010024d030 TRANSMITTER 4
    Replication 12037 0x0000000100258e60 REPHOLD 2
    Replication 12037 0x00000001002804d0 REPLISTENER 3
    Replication 12037 0x00000001002a8570 LOGFORCE 1
    Subdaemon 11993 0x0000000100176870 Worker 2044
    Subdaemon 11993 0x00000001001d5fa0 Flusher 2045
    Subdaemon 11993 0x00000001001fd610 Checkpoint 2047
    Subdaemon 11993 0x0000000100224c80 Monitor 2046
    RAM residence policy: Always
    Replication policy : Always
    Replication agent is running.
    Cache agent policy : Manual
    ------------------------------------------------------------------------

    Thanks for all your responses, yeah I also found this out on this forum, ISM means
    ISM = Intimate Shared memory.
    I've resolved my bug in my XLA application, which is I called ttxladeletebookmark before call ttxlastatus to unsubscribe from one table, timesten just unsubscribed all application from that table. :(
    swap the call order can resolve the problem.

  • OSX inactive memory management problems

    On my 2010 Macbook Air 11" running OSX 10.8 Mountain Lion, I have run into some major issues with memory management. This problem persists across both my Mac machines and multiple generations of OSX. I have a 2007 2.2 Ghz Core 2 Duo Macbook Pro Running Lion (upgraded from Tiger) with 3 gb 667Mhz DDR2 RAM and my 2010 Air 1.4Ghz Core 2 Duo (Upgraded from Snow Leopard to Mountain Lion) with 2gb 1067mhz DDR3 RAM. On both machines, for some time now, during normal usage; especially web browsing using Chrome and Safari (respectively); the inactive RAM on both machines will grow to consume around 30% of all RAM and force time consuming page outs to the mass storage drives on both machines. The Pro has a slower hard drive and the problem is the worst here, the air has a much faster SSD. I have found myself constantly having a window of Activity Monitor up on at least one of my desktops watching my RAM usage, using terminal to purge ram upwards of 10 times an hour to prevent costly page outs, especially on the Pro. I know Apple claims that inactive RAM is essentially free RAM that is temporarily storing recently used information for ease of access later and that it's supposed to be released as free memory when needed, but this obviously is not happening. Right now on my air my swap file is over 650Mb and I've seen it top 2Gb before. The air is exponentially better than the Pro due to the faster SSD, but I do notice substantial UI lag and a massive drop in fluidity as soon as my meager 2Gb is full and I start paging. The Pro is another story entirely, the entire system will essentially become unusable, having to wait several seconds for mouse clicks to even register. That's why I upgraded the stock 2Gb of RAM it comes with to 3Gb hoping that a 150% increase in RAM would help, but it just prolonged the inevitable. I still end up paging out just as bad across both systems if un checked. Even when I keep a close eye on memory usage and purge often, I still end up paging out because I'm not vigilant enough.
    I have to limit my browsing to less than 5 tabs and keep my number of open programs less than 2 on both machines. My active and wired memory rarely seem to top 70%, meaning the rest gets taken by inactive, which isn't functioning as Apple claims. Even if my conclusions aobut what is happening under the hood are incorrect, something is going terribly wrong. I can't upgrade the RAM on my Air at all, and the RAM on my Pro is capped at 4Gb. I'm holding on upgrading because I don't think the excess hardware will solve this software memory problem. Whatever is happening is causing a serious drop in performance for me (yes I do know I have underpowered machines), but there has to be something I can do to speed performance. I've read about disabling the dynamic page file entirely, which just seems to crash the system when free memory is gone, and I've read about programs that claim to free memory. Those programs seem to work by taking a high priority in the process heigharchy of the OS and then proceeding to eat up large portions of RAM and releasing them as needed in an attempt to replicate the true intentions of inactive RAM, but I've heard of problems with this method as well. Does anyone have a viable solution? Monitoring my RAM usage myself and ensuring I don't end up paging out is costly, time consuming, annoying, and inefficient since I fail to catch the problem before I page if I get particularly busy. There is no other OS I've ever been acquainted with that has this problem, not any flavor of Linux, not even the dreaded windows. I seriously hope Apple can do something to manage this runaway memory problem. I'd like to be able to open more than 3 windows in Safari. I've had to purge 3 seperate times while writing this on my Air, and I now have 678 inactive memory, 741 inactive, 582 wired, and less than 14Mb free out of 2Gb with a growing swap at 680Mb. Each purge becomes less and less effective and the last one I did freed up only about 100Mb and it got eaten up again by inactive in less than 10 seconds. On my Air, the memory hog is Safari right now at 700Mb between the web content and flash player with only Facebook, youtube, and this Apple Supprt tab open. I have NO other applications running in the fore or background other than Activity Monitor and Terminal. On my Pro the memory hog is always kernel task, I use Chrome and Safari both. While the memory used by the browser does not usually take up the most substantial portion of the total used RAM out of any process, the more tabs I open, the more RAM I use. The browser is usually the second heaviest RAM hog to Kernel Task. So it seems that across the two machines there are two lsightly different manifestations of the same problem with the same results: massive performance drops and extremely annoying and costly page outs no matter the reason. I just want this problem to go away. I've used underpowered windows laptops that can open a dozen tabs in a heavier browser like IE or Firefox while using other programs like Word or Excel and more with no memory lag issues. There's no way in **** I could manage to open that many pages in a browser while using Pages and/or Numbers on either of my machines and expect reliable (swap free performance). This is just kind of sad in my opinion. Does anyone have a way to get my OSX machine running smooth so that I can remove the one thing that windows and Linux fan boys get the right to laugh at my Macs for?

    Hi Zephryl,
    I was actually able to get an initial response from Sun on this a few months ago. However, the Sun Swing team has not followed up on a resolution for this pervasive problem, even though they noticed the same problem when running a test applet I had created for them. Apparently, I.E. is not releasing memory from the heap.
    Below is a quote from a Sun rep. on this in an e-mail sent to me on Dec 4, 2002:
    "I suspected the leak is in the native code because the # of handles and GDI objects keep increasing but no obvious Java objects are left behind in the Java heap during page switch."
    So, until Sun and/or Microsoft work out a solution to this, anyone who uses I.E. 6 and applets for their UI seems to be in a lot of trouble.
    As a note, trying to invoke the Garbage Collector does not do anything, but generally a very small amount of memory will be released (like maybe 5-10% of the memory allocated for the applet).
    Cheers!
    Avi Gray
    Global Computer Enterprises

  • Memory management problem

    hi everyone.
    I m trying to use OpenCV in After Effects. The problem is that OpenCV has its own management of memory.
    The AE memory management is kind of bound to the lock/unlock system for multi thread processing and is kind of difficult to use from openCV...
    So, as long as you dont use multi processing, I thought that using openCV would not be a problem.
    But I was wrong. I got a random error:
    After Effects error: Effects modules should only dispose worlds they have allocated.
    My effect is allocating a lot of opencv layers, and one temporary AE layer. When I dispose the AE temporary layer, I have some errors when the rendering get slow and the user tries to interrupt it. the  "After Effects error: Effects modules should only dispose worlds they have allocated."
    When looking at the layer before disposing it, It s totally corrupted with random values for all the field, but data field is not NULL.
    I did not get any error during the memory allocation of the layer though. Still it gets corrupted at some point.
    I m wondering if it is openCV memory and AE memory that get into conflict or if it s my way of checking if layer has not been correctly allocated that is wrong.
    I dont understand also why it would conflict, since system will allocate the memory on demand, and there is no reason the system would give conflicting memory regions....
    I solved my problem by stopping using the AE temporary layer.
    If anyone experienced and solved this kind of problem, please, let me know.
    Regards

    hey marc,
    I think you are overcomplicating things a little,
    1) add a local variable of type PF_LayerDef (or allocate on heap); no
    need to initialise anything
    2) WorldSuite1()->new_world()
    3) use the layer. use PF_GET_PIXEL_DATA8() to get pixels
    4) WorldSuite1()->dispose_world() (optionally free a heap variable)
    Am 28.07.2011 05:06, schrieb salvati marc:
    I m back to this problem...
    As always, Shachar, it seems you are right. I deactivated OpenCV code, and... still crashing.
    I investigate the problem more in depth and found my mistakes...
    What I was doing was:
    1) allocating my tmp layer
    2) copying source to tmp
    3) processing with opencv
    4) copying back to output
    5) cleaning tmp layer
    I did few mistakes:
    1) I was checking tmpLayer->data == NULL to see if the tmp layer was right or not (in step 5). BUT, I copyed my source to tmp (step 2) even if it was not correctly allocated... I guess that s why when I check NULL before dispose it was not consistent
    2) I did not always set the  tmpLayer->data to NULL before allocation! default value is not NULL. So my check after allocation was not consistent in some case
    So multiple reason of not getting a NULL data although the data where not allocated...
    Like you said,  ill supervised creating/disposing of worlds...
    Anyways, I realized in my algorithm that i did not nid the tmp layer, and I could just use the output layer for that purpose... But i m sure i ll get this problem again in the near future, so I had to investigate that.
    Thanks again for your precious help.
    Regards.
    >

  • Linux 10g: large SGA on tmpfs and swap

    hello.
    i'm try to use large (more than 1,7G) SGA with tmpfs. oracle start-up and starting massive swap (in/out) operation (swap usage about 2G). What oracle placed in swap immediatly after startup ?
    PS. SGA size about 2.5G, RAM 4G, swap 4G.
    wbr, Dmitry

    okay. i'm reboot server and this is result of free command immediatly after reboot:
    oxygen:~# free
    total used free shared buffers cached
    Mem: 3948680 270608 3678072 0 4088 214776
    -/+ buffers/cache: 51744 3896936
    Swap: 3212920 0 3212920
    as you see, server have more than 2.5G free RAM for SGA.
    Before buy RHAS, i'm try test Oracle on Debian. /proc/sys/vm/pagecache not found in Debian /proc/sys/vm :(
    X not started on server at all, slocate too.

  • Very large SGA On linux 64

    Hello
    Here [http://download.oracle.com/docs/cd/E11882_01/server.112/e10839/appi_vlm.htm] there is a guide for using very large memory on Linux32-bit
    Now my question is can I user this method for using large memory in Linux64-bit ?
    If yes , are there some restrictions such as we can't use SGA_TARGET and MEMORY_TARGET ,and it doesn't support "multiple database block sizes" , in Linux46-bin ?
    thank you so much

    TakhteJamshid wrote:
    Here [http://download.oracle.com/docs/cd/E11882_01/server.112/e10839/appi_vlm.htm] there is a guide for using very large memory on Linux32-bit
    Now my question is can I user this method for using large memory in Linux64-bit ?
    If yes , are there some restrictions such as we can't use SGA_TARGET and MEMORY_TARGET ,and it doesn't support "multiple database block sizes" , in Linux46-bin ?
    You'll have to check the details for yourself, but one trap to watch out for with very large memories is whether you can use the O/S feature "large pages" (aka "huge pages").
    If you have a very large buffer cache then you can waste a lot memory on the memory maps used by each process that attaches to the SGA. If you enable "large pages" this reduces the sizes of the memory maps dramatically. But if you enable the memory_target (which allows 11g to switch memory between SGA and PGA usage) this may make it impossible for Oracle to use large pages.
    For more information on large pages see: http://www.pythian.com/news/741/pythian-goodies-free-memory-swap-oracle-and-everything/
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)
    +"I believe in evidence. I believe in observation, measurement, and reasoning, confirmed by independent observers. I'll believe anything, no matter how wild and ridiculous, if there is evidence for it. The wilder and more ridiculous something is, however, the firmer and more solid the evidence will have to be."+
    Isaac Asimov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Oracle Linux and Automatic Installation of Oracle Related Packages

    G'day,
    I recently decided to check out Oracle's Unbreakable Linux as I am/was thinking of switching to it for all my company's database deployments. What originally attracted me to Oracle Linux was that I though there would have been a kickstart, package or in the GUI install, a check box to install all of Oracle's dependencies.
    When I installed it first, I manually selected a bunch of relevant packages, then installed any missing packages manually via a local YUM repository that I had made. Alas however, Oracle did not install correctly. So, I reinstalled, this time as a full install. Oracle then worked like a charm.
    I also noticed, when editing /etc/sysctl.conf and /etc/securetty/limits.conf that these files had basically all ready been configured.
    So, my question is, as I have had no luck using the search functionality here, is anyone aware of a kickstart argument, or an Oracle package that will install and in turn by way of dependencies, install all the necessary Oracle bits and pieces? Ideally, I would like to do this by way of kickstart as to automate as much of the process as possible.
    If I can do this, then with some further testing, I will make the switch to Oracle's Linux for our Oracle deployments.
    Cheers,
    Conor

    Yes, there is a great package called oracle-validated that is available that will pre-configured Oracle Enterprise Linux for installation using the Oracle Universal Installer. It ensures that things like sysctl.conf are all correct.
    It should be available in the base download, so you can test it out. :)

  • Synchronize my media from Linux and Windows shared locations with iTunes to iDevices?

    Hello.
    Is it possible for an updated 32-bit Windows XP Pro. SP3's iTunes to synchronize/import my MP3, OGGs, WMA, videos, etc. from network shares (Samba with Windows and Linux)? Or do I have to copy all the files (huge!!) to the local HDD for iTunes? I just got a iPod Nano (6th generation and 8 GB). I keep all my media in one location for all computers and devices to share.
    Thank you in advance.

    Hi again.
    Thanks all. It looked like I was able to get iTunes to show my almost 11 GB of songs (5.5 days to listen to all). Some of the WMA were converted. Obviously, a few OGG files weren't. It took a long time to finish (ran it overnight). I was able to synchronize most of them to my iPod Nano even though it only can hold about 7.25 GB of it.
    Is it me or is adding new songs tricky? I even told the new iTunes installations to scan for media, but they didn't do anything. I did this with two different updated Windows XP Pro. SP3 machines. I had to drag and drops my music into iTunes' playlist (new one). Weird.

  • Automatic PGA Memory Management in 9i and 10g

    Hi,
    I read the Doc# 223730.1 for Auto PGA advisory.
    At one point in the document, there is given a query to calculate percentage of times work areas were executed in optimal, one-pass, or multi-pass mode since start-up.
    My question is why there is a clause low_optimal_size > 64*1024); ---- for 64 K optimal size
    Why it is safe to ignore all the workareas below 64 K.
    How to decide which entries should be ignored?
    Thanks,
    Neeraj

    I think 64K value used in that document is just an example.
    You can use the prior query (one above which you have cited here) for finding non-empty buckets and then view histograms for range of your concern (the range which is getting used more frequently in your environment).

  • Linux and MSI KT4 Ultra : DVD problems

    Hi, I own an MSI KT4 Ultra Pure mobo.  The vt8235 Southbridge is supported in the lastest version of the Linux Kernel, 2.4.20 . After upgrading the kernel all seems to work fine, but when the system try to initialize my hdc (Secondary master of IDE, a DVD reader DV-5800A from NEC) it locks up with the message :
    hdc: device {Busy}
    hdc: drive not ready for command
    ide1: reset success!!
    and start looping with this message.
    What can I do to get work my DVD Reader? With my precedent MoBo it works perfectly
    Thanks
    Bye

    Hmmm that error used to happen with an older kernel and an ALI chipset. If you leave it long enough does it give up trying and continue to boot? The ALI did this eventualy.

Maybe you are looking for