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

Similar Messages

  • HT3258 dynamic memory manager

    Does Apple fix the problems with the dynamic memory manager in Mountain Lion?

    After more tests I can say that this memory consumption
    disappear with a release version of the swf executed directly by
    the browser.

  • 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.

  • Configuring SP13 to use dynamic memory

    I am aware that SharePoint 2013 does not support the use of dynamic memory due to "certain applications" that need fixed memory allocation. The only example that is ever offered of one of "these applications" is the Distributed Cache.
    All well and good, I totally understand the requirement and rationale behind it.
    However, what if you have the Distributed Cache running on only one server in a multi-server farm? Let's say we have a 3-tier farm: SQL, APP, and WFE. APP is configured to serve the Distributed Cache and other services, while the WFE serves only web pages.
     Could the WFE server in this scenario be configured w/ dynamic memory?
    Finally, documentation always says things like "certain applicationS", but only ever specifies the one DC service. What are the other services that require a fixed memory allocation? I've heard Excel Service and Search, but can't
    find documentation to back that up.
    Thanks for your thoughts.
    Brandon Murray

    Search is another application which is impacted by dynamic memory. But if you run this way, you will be considered unsupported (which means Microsoft will support you up until they identify dynamic memory as being an issue).
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Anyone use nio-memory-manager ?? what's it good for?

    Can someone give me an example of when the nio-memory-manager should be used?
    Thanks,
    Andrew

    If I remember the outcome of my experiments with NIO right the situation is as follows:
    1. Allocating/releasing huge shared memory blocks over and over can lead to OS/JVM issues. To avoid this I allocated the max size I wanted from the start (this is an option when configuring "off-heap" storage I believe). When doing it this way I had no reliability issues with the NIO memory manager in my tests.
    2. Tangosol/Oracle used to claim that the off-heap (NIO memory manager) result in worse performance than on-heap - I could not see any clear indication of this but this may be application dependent. For our app the reduced number of JVM:s per server (reducing network communication, number of threads, risk of any JVM performing GC at a given time etc etc) seemed to more than offset the allegedly slower memory manager resulting in MUCH BETTER performance! A lot of queries etc anyhow (at least for us) mainly work against indexes that always are stored "on-heap"...
    3. There is a limitation to 2Gb per NIO block (at least in 32-bit JVM:s not sure about 64:bit - never seen any point in using them since larger heaps than 2Gb seldom work well anyhow and each pointer consumes double the space in heap and CPU-caches) but this is for each CACHE and separate for PRIMARY and BACKUP I believe! So my understanding is that if you (using 64-bit OS) for instance have two (equally big) caches you could allocate max 2 * 2 * 2 = 8Gb of off-heap memory for folding data per JVM (without ANY impact on GC-pauses!) and in addition to that use as much heap as you can get away with (given GC-pause times) for holding the indexes to that data. This would makes a huge difference in JVM count!- for example we today have to run like 10+ JVM:s per server using "on-heap" while we using "off-heap" storage probably could get that down to one or two JVM:s per server!
    4. There may be both OS and JVM parameter that you need to set (depending on OS and JVM used!) in order to allocate large amounts of shared memory using NIO (the default is rather small).
    As for the question about de-allocation I never saw any sign of memory leaks with the NIO memory manager (i.e. space previously occupied by deleted objects were reused for new objects) but as I mentioned above you better allocating the max size NIO memory block you intend to use up-front and that memory will then remain allocated for this use so if your amount of cache data vary and you would like to use memory for other purposes (like heap!) at some point you may be better of sticking with "on-heap" that is more flexible in that respect.
    As I previously mentioned off-heap is today (until Oracle fixes the improvement request!) really only an option if you do not plan to use "overflow protection" or your objects are fixed size :-(
    And if you are interested in using servers with a lot of memory and would like to use "off-heap" please talk to your Oracle sales rep about it! If enough people do that it may allow the Coherence developers to assign more time for making "off-heap" storage better! With this feature in place Coherence will be even more of a "killer application" than it already is!
    Best Regards
    Magnus

  • [2008 R2] Hyper-V Dynamic memory warning with half of vHost memory free

    Our virtual server host system has about 19GB of Memory free (out of 32GB total), yet a virtual guest using Dynamic Memory was only being assigned 8GB and the demand was around 13GB, therefore generating a Warning state on the Memory Status. Logging onto
    the guest machine showed about 8GB of memory being used as well. The end-users were receiving memory errors in their applications. Any idea why the guest system was in this warning state?

    There is a perception in the OS.  And different numbers come from different places.
    In a nutshell, the RDP Server has a memory leak if you constantly disconnect and reconnect - and it ends up chewing up memory, but when available memory is tested this memory consumption is missed. If you logout of the RDP session instead of disconnecting
    then the memory is given back and can actually be used.
    It is a strange interaction with RDP that has been there since the original release.  But it is specific to using RDP to connect to the Hyper-V Server for VM Management and disconnecting without ever logging out.
    There was also a google process that many folks reported a long while back that caused memory consumption that prevented VMs from starting as well.
    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

  • Hyper-V, Dynamic Memory, Memory Demand more than Maximum memory

    Hi,
    I have found that for some VMs Demand Memory more that Maximum Memory set.
    Where can I found any documentation about this?

    A VM can 'demand' more memory than is possible'
    But it will never actually be given more then the maximum.
    In the VM the application is asking for more RAM from the virtual memory manager of the OS in the VM (not to be confused with any memory management that the hypervisor is doing).
    When the VM hits its Maximum setting it is no different than a physical machine hitting its physical RAM cap - the OS begins paging to give the application the additional RAM it is asking for.
    It simply means that you have a greedy application.  SQL and the Exchange mailbox role have a long history of being very greedy applications (SQL made many changes to work in concert with dynamic memory) - taking all of the RAM they could get.
    In your case, you have a startup of 32GB a minimum of 24GB and a Maximum of 36GB.  And the application in the VM would 'like' to have 54GB.  If you look in your VM OS you will probably find that it is paging to disk.
    What is your allocation setting?  The default of 20%  Higher?
    Personally - I see little value in using dynamic memory with such a small window of difference between the startup, minimum, and maximum.  It is as if you are trying to micro manage the feature, instead of allowing the feature to work as designed.
    Dynamic memory is designed to balance RAM between all of the VMs on a particular hypervisor at the same time.  And to allow use of all the RAM the machine has, if there is a workload that can use it.  If the VM wants 64GB, why not give it that. 
    Dynamic memory will not starve other VMs to give this VM more RAM (unless you give this VM a higher priority).  But it will take RAM away from a VM (if absolutely necessary) to allow another VM to meet its requirements.
    Any VM is always guaranteed its startup, at boot time.  And dynamic memory will not starve it below it minimum - and if the VM is not using RAM it will take RAM away down to the minimum.  And a VM will never be given more than the maximum, even
    if the VM wants more.
    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

  • Allocating dynamic memory

    Hi,
    my second question for today...;-)
    Should I always get dynamic memory via Photoshop API or can I use new[] as well? I understand that photoshop uses own memory management, but I'm talking about relatively small amounts of memory, say some kB.
    If there a rule?
    Greetings Thomas

    For small allocations use new/delete DO NOT use PIUNew to override. This <br />will just give you headaches.<br /><br />For large allocations, image buffers, use the buffer suite.<br /><br /><[email protected]> wrote in message <br />news:[email protected]..<br />> Hi,<br />><br />> my second question for today...;-)<br />><br />> Should I always get dynamic memory via Photoshop API or can I use new[] as <br />> well? I understand that photoshop uses own memory management, but I'm <br />> talking about relatively small amounts of memory, say some kB.<br />> If there a rule?<br />><br />> Greetings Thomas

  • Dynamic Memory in the production environment

    Hi,
    We configure all production VMs with static memory  on Hyper-v 2012
    we need to make sure there is no negative impact on VM performance if we use Dynamic memory , as we read for 2 years
    not recommend to use dynamic memory in the production.
    I preferred the answer with Trusted URL
    Ramy

    Hiya,
    The best answer you can get is, that it is dependent on the application running on the server O/S.
    The reason that dynamic memory is not recommended for production environments, is that many applications are not supporting it. That is usually seen on memory intensive applications(SQL is an example) or simply because of caching types of functions. (SharePoint
    is an example).
    The major concern here is when VM's are decreasing the memory for a VM, the application does not understand this. Usually it is not a problem when increasing the memory. - Again it will depend on the application.
    Think of it as hot swap memory and how you used to use that in the physical machine days.
    Also when there is not adequate memory, operating system will use paging. Paging uses disks and disks has a lower access time than memory.
    In general dynamic memory is easier to control than dynamically expanding disks, as you can set the buffer size of the memory, which is still not available for the dynamic disks.
    Besides the above, the following links states:
    "Workloads that are not NUMA-aware will not take advantage of virtual NUMA. However, the guest operating system may perform some NUMA optimization. Enabling Dynamic Memory (therefore presenting only a single virtual NUMA) should not cause performance
    degradation"
    http://technet.microsoft.com/en-us/library/dn282282.aspx

  • Windows Server 2012 HyperV Cluster - Dynamic Memory Config

    Hello There,
    I am about to configure two node HyperV Cluster on Windows 2012 R2.
    There is 192 GB RAM on each node but my VMs requirement is around 216 GB but some VMs doesn't require the full memory capacity all the time so in this scenario what is the best method to use dynamic memory utilization.
    RAM
    48 GB
    48 GB
    16 GB
    48 GB
    48 GB
    8 GB
    I need to provision 6 VMs with the above memory config but want to utilize it effectively through dynamic memory, please suggest.
    I don't need the full RAM capacity all the time as in the table.
    Thanks,
    maqsood
    Maqsood Mohammed Senior Systems Engineer MCITP-Enterprise Admin & ITILv3 Foundation Certified

    Of course you can, this is the aim of the dynamic memory feature.
    In the VM's memory configuration, you will find three parameters:
    Start up RAM : This is the memory allocated to the VM when it's started
    Maximum RAM : This is the maximum amount of memory that a VM can request from the Hypervisor. If there is available memory the host will grant it more memory, if not, the VM will not receive memory
    Minimum RAM : Because the memory configuration is dynamic, when a VM will not use memory, it will give back its memory resources to the host, but it will never go down its Minimum RAM value (The total minimum RAM of all VMs can never exceed the available
    memory, otherwise the VMs will not even start)
    And there is the Priority option that tell the hypervisor which VM to satisfy first.
    Look here for more explanation
    Regards, Samir Farhat Infrastructure and Virtualization Consultant || Virtualization, Cloud, Azure ? Follow and Ask here https://buildwindows.wordpress.com

  • Exporting snapshotted VMs and dynamic memory

    We have a production VM which uses dynamic memory. Unfortunately, someone decided to snapshot this machine and now we cannot export the VM using the hyper-v "Export" facility.
    Export gives a warning message indicating that VMs and snapshots cannot be imported into Server 2008R2 and that dynamic memory must be turned off prior to exporting. Here's the message:
    I can turn off dynamic memory in the main VM but each snapshot has its own setting for dynamic memory. I can see the setting, dynamic memory is on but it is grayed out.
    As a backup, I want to export the VM prior to merging the snapshots. How can I do this?
    Thanks,
    Alan
    [email protected]
    Alan MacKenzie [email protected]

    Yes, you cannot import to Server 2008 R2, you can only import to Server 2008 R2 SP1 or newer.
    You cannot go backward in the version of the hypervisor, that is what it is warning about.  It is not a block, it is just information.  You can still Export and Import (if necessary) to a 2008 R2 SP1 or 2012 machine.
    In regards to the snapshot.  That is a different issue.  Simply delete the saved state portion (the running memory part) of the snapshot.
    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.
    Disclaimer: Attempting change is of your own free will.

  • Office 2001/Dynamic Memory?

    Do the programs in Office 2001 have Dynamic Memory while using OS 9.2?

    Hi, HappyWarlock -
    Welcome to Apple's Discussions.
    Do the programs in Office 2001 have Dynamic Memory while using OS 9.2?
    Probably not. I don't use Office, but the vast majority of programs in OS 9 do not have the ability to use dynamic memory allocation; a couple of exceptions are the OS itself (Finder), and SimpleText.
    You can change the allocation for the programs in Office manually; the number to change is the Preferred allocation amount.
    Article #18278 - Assigning More Memory to an Application

  • Problem in dynamic memory allocation

    Hi,
    My name is Ravi Kumar. I'm working on a project to improve organizational performance which include visual studio for simulation. I'm using dynamic memory allocation to allocate space for the array that are used in the program. Now I have run-time error
    which I can't understand where it is going wrong. Can someone please help me regrading this issue. 
    If anyone interested in helping please leave a comment with your email id so that I will share the whole project folder.
    Thanks,
    Ravi

    Hi Ravi,
    Don is right that this is the forum to discuss questions and feedback for Microsoft Office client.
    Please post in MSDN forum of Visual Studio, where you can get more experienced responses:
    https://social.msdn.microsoft.com/Forums/en-US/home?forum=visualstudiogeneral
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Regards,
    Ethan Hua
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • Attempting to insert a schema-invalid doc gives 'memory manager' error

    Hi
    I can successfully insert schema-valid XML documents into my BDB XML database by adding the appropriate xsi:schemaLocation elements to the document root element. However, when I intentionally remove a mandatory element from the document in order to make it invalid, for testing purposes, I receive (actually, trap) the following error message:
    "Exception code 0."
    "Error: nsToUTF8: no memory manager File: NsUtil.cpp Line: 159"
    whereas I would expect to see a message relating to validation errors. Looking at the source file NsUtil.cpp I can see that the code is trying to use a memory manager to deallocate some memory. I don't know how this relates to document validation and I'm not about to go fiddling with this particular piece of code!
    So, has anyone else encountered a similar problem, or at least have an idea as to what's going on here?
    We're using BDB XML 2.3.10 on Linux. And we're accessing BDB using the python interface. My code looks like this (with some bits removed for clarity):
    stream = mgr.createLocalFileInputStream(filename)
    doc.setContentAsXmlInputStream(stream)
    docValue = XmlValue(doc)
    cntnr.putDocument(txn, doc, uc, 0)
    Thanks in advance,
    Phil

    Phil,
    Try this patch. It'll probably be official soon:
    *** dbxml-2.3.10-original/dbxml/src/dbxml/nodeStore/NsSAX2Reader.cpp    Mon Oct 30 12:45:57 2006
    --- dbxml-2.3.10/dbxml/src/dbxml/nodeStore/NsSAX2Reader.cpp     Fri Oct 26 10:51:11 2007
    *** 1008,1016 ****
                              const XMLSSize_t colNum)
            int len = NsUtil::nsStringLen(errorText);
    !       xmlbyte_t buf[500];
    !       xmlbyte_t *bufp = buf;
    !       len = NsUtil::nsToUTF8((MemoryManager*)0, &bufp,
                                   errorText, len+1, 500);
            std::ostringstream s;
    --- 1008,1015 ----
                              const XMLSSize_t colNum)
            int len = NsUtil::nsStringLen(errorText);
    !       xmlbyte_t bufp = (xmlbyte_t ) fMemoryManager->allocate(500);
    !       len = NsUtil::nsToUTF8(fMemoryManager, &bufp,
                                   errorText, len+1, 500);
            std::ostringstream s;
    *** 1022,1028 ****
            s << " Parse error in document ";
            s << "at line, " << lineNum;
            s << ", char " << colNum;
    !       s << ". Parser message: " << buf;
            // log warnings as info, and errors as warning.
            // Neither is fatal to the program, and may be
            // what is expected.
    --- 1021,1027 ----
            s << " Parse error in document ";
            s << "at line, " << lineNum;
            s << ", char " << colNum;
    !       s << ". Parser message: " << bufp;
            // log warnings as info, and errors as warning.
            // Neither is fatal to the program, and may be
            // what is expected.

  • Oracle Automatic Memory Management

    Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management. Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so? Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.
    Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on Solaris

    sbing52 wrote:
    Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. Not really or at least I am not aware of.
    In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. Each instance is going to work individually so the answer is yes .
    For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management.Yes.
    Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so?As I said, not that I am aware of. As long as you are able to accommodate the memory requirements under your installed RAM, you should be okay.
    Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.Yep.
    Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on SolarisPatch to the latest patchset which is 11203.
    Aman....

Maybe you are looking for