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.

Similar Messages

  • Templates and Dynamic Memory Allocation Templates

    Hi , I was reading a detailed article about templates and I came across the following paragraph
    template<class T, size_t N>
    class Stack
    T data[N]; // Fixed capacity is N
    size_t count;
    public:
    void push(const T& t);
    };"You must provide a compile-time constant value for the parameter N when you request an instance of this template, such as *Stack<int, 100> myFixedStack;*
    Because the value of N is known at compile time, the underlying array (data) can be placed on the run time stack instead of on the free store.
    This can improve runtime performance by avoiding the overhead associated with dynamic memory allocation.
    Now in the above paragraph what does
    "This can improve runtime performance by avoiding the overhead associated with dynamic memory allocation." mean ?? What does template over head mean ??
    I am a bit puzzled and i would really appreciate it if some one could explain to me what this sentence means thanks...

    The run-time memory model of a C or C++ program consists of statically allocated data, automatically allocated data, and dynamically allocated data.
    Data objects (e.g. variables) declared at namespace scope (which includes global scope) are statically allocated. Data objects local to a function that are declared static are also statically allocated. Static allocation means the storage for the data is available when the program is loaded, even before it begins to run. The data remains allocated until after the program exits.
    Data objects local to a function that are not declared static are automatically allocated when the function starts to run. Example:
    int foo() { int i; ... } Variable i does not exist until function foo begins to run, at which time space for it appears automatically. Each new invocation of foo gets its own location for i independent of other invocations of foo. Automatic allocation is usually referred to as stack allocation, since that is the usual implementation method: an area of storage that works like a stack, referenced by a dedicated machine register. Allocating the automatic data consists of adding (or subtracting) a value to the stack register. Popping the stack involves only subtracting (or adding) a value to the stack register. When the function exits, the stack is popped, releasing storage for all its automatic data.
    Dynamically allocated storage is acquired by an explicit use of a new-expression, or a call to an allocation function like malloc(). Example:
    int* ip = new int[100]; // allocate space for 100 integers
    double* id = (double*)malloc(100*sizeof(double)); // allocate space for 100 doublesDynamic storage is not released until you release it explicitly via a delete-expression or a call to free(). Managing the "heap", the area from where dynamic storage is acquired, and to which it is released, can be quite time-consuming.
    Your example of a Stack class (not to be confused with the program stack that is part of the C or C++ implementation) uses a fixed-size (that is, fixed at the point of template instance creation) automatically-allocated array to act as a stack data type. It has the advantage of taking zero time to allocate and release the space for the array. It has the disadvantages of any fixed-size array: it can waste space, or result in a program failure when you try to put N+1 objects into it, and it cannot be re-sized once created.

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

  • High Memory consumed when Dynamic memory is Enabled in Hyper-V Machine

    I have created a VM using Hyper-V with Enabling Dynamic Memory option on a 2012R2 server machine.
    After creating the VM I see that the memory consumption of the VM machine as 85%.
    Would like to know if any efficient way to use "Enable Dynamic Memory" option while configuring the VM so that the memory consumption will be reduced.

    As others have said it depends on the application being used. Also how do you have your guests configured with Startup memory, minimum memory and maximum memory? If your application is poorly written and has a memory leak, you will see dynamic memory just
    grow. If the application is just heavy because of traffic or caching it will use lots of memory.
    Example for me is a web application that is proprietary. during no usage it might be using roughly 400 MB on the server, but then when it gets used it will grow. I've seen some webservers hit 10 GB as for other ones grow maybe to a meg. After things calm
    down a bit I notice memory returns back down to a 400 MB to 700 MB level. That is just how my application is and how i serve it up to customers. I had to track all that stuff prior. You can use Microsoft MAP to help with your dynamic memory settings.
    For SQL server it can be done as well, but as Darren said before you might not want to do it. In my environment i do it, but I have tweaked things to work for me. Example is tweaking database memory usage to match startup memory OS it appears static, but
    then leaving dynamic for processes that fire outside of SQL server. Here is a
    guide for SQL server and dynamic memory.

  • Smart paging Question , What happen if i don't enable smart paging and available Memory is about 1GB and the VM need 3GB for Booting ?

    Hi ,
    I configure a dynamic memory With 512 MB for a VM , and available memory 1GB
    what happen when I boot the VM , While it actually need 3GB for booting - Note I don't configure Smart Paging ?
    Thanks.

    You won't be able to boot at all.
    pagefile and dynamic memory only comes into play when you don't have enough memory on the host, to support the 'startup RAM' on the VM, and when the VM does a
    reboot.
    -kn
    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

  • How to Export Snapshots and Materlized View in Oracle 9i

    Hi,
    How to Export Snapshots and Materlized View in Oracle 9i .
    I require to Migrate from 9i to 10g with either Export or Script.
    Please help

    Using exp-imp for snapshots generally causes problems, at least for me. I would prefer taking their creation scripts and running them on the new database.
    By the way, what do you mean by "migrate from 9i to 10g"? Are you trying to create the same snapshots in another (10g) database or are you trying to upgrade your 9i database to 10g? If it is the latter then you can just upgrade the database automatically with the upgrade assistant or manually using upgrade scripts.

  • Dynamic Memory and Data Deduplication

    Hi,
    I'm currently testing W2K12 Deduplication feature on some servers, and I was wondering if I could enable "Dynamic Memory" on the VM in Hyper-V? Because the job only uses percentage of memory for the dedup job, I guess it's not possible.
    Thanks in advance!

    I know it old thread, but I ran into this and could not find anything on it but here, so I am adding my experience.
    I can concur with 3magroup...
    In my environment Windows Server 2012 with Dynamic Memory and Deduplication enabled, the HyperV does not release the driver locked ram for the dedup optimization. What resulted was an insane amount of paging and a painfully slow VM. Increasing the memory
    buffer for the dynamic memory did not cause the HyperV to release the memory for the dedup. Instead, it still "driver locked" nearly all of the ram, which did not make sense to me based on my understanding of the Memory Buffer setting.
    I can verify the VM poor performance and dedup using the paging file with the Resource Monitor, disk section, and the Driver locked RAM with RamMap.

  • Relationship between Dynamic Memory Heap and Heap Data Structure

    This question is not strictly related to Java, but rather to programming in general, and I tend to get better answers from this community than any where else.
    Somehow, my school and industry experience have somehow not given me the opportunity to explore and understand heaps (the data structure), so I'm investigating them now, and in particular, I've been looking at applications. I know they can be used for priority queues, heap sorts, and shortest path searches. However, I would have thought that, obviously, there must be some sort of relationship between the heap data structure, and the dynamic memory heap. Otherwise, I can think of no good reason why the dynamic memory heap would be named "heap". Surprisingly, after searching the web for 90 minutes or so, I've seen vague references, but nothing conclusive (trouble seems to be that it's hard to get Google to understand that I'm using the word "heap" in two different contexts, and similarly, it would not likely understand that web authors would use the word in two different contexts).
    The Java Virtual Machine Spec is silent on the subject, as "The Java virtual machine assumes no particular type of automatic storage management system, and the storage management technique may be chosen according to the implementor's system requirements."
    I've seen things like:
    [of dynamic memory] "All the blocks of a particular size are kept in a sorted linked list or tree (I extrapolate that sorted tree could imply heap)"
    [of dynamic memory] "The free and reserved areas of memory are maintained in a data structure similar to binary trees called a heap"
    [of dynamic memory] "This is not related to the heap data structure"
    [of dynamic memory] "Not to be confused with the data structure known as a "heap"
    [of data structure] "Not to be confused with the dynamic memory pool, often known as TheHeap"
    At this point, I've come to surmise that some (but not all) memory management algorithms use heaps to track which (pages? blocks? bytes?) of memory are used, and which are not. However, the point of a heap is to store data so that the max (or min) key is at the root of the heap. But we might want to allocate memory of different sizes at different times, so it wouldn't make sense to key on the amount of available memory in a particular region of the free store.
    I must assume then that there would be a different heap maintained for each size of memory block that can be allocated, and the key must have something to do with the attractiveness of the particular memory block in the heap (perhaps the lowest address, resulting, hopefully, in growing the free store space less often, leaving more space for the stack to grow, or perhaps keyed based on the fragmentation, to hopefully result in less fragmentation, and therefore more efficient use of the memory space, or perhaps based on page boundaries, keeping as much data in the same page as possible, etc).
    So at this point, I have a few questions I've been unable to resolve completely:
    1. Am I correct that the heap was so named because (perhaps at one point in time), a heap is/was commonly used to track the available memory in the free store?
    2. If so, would it be correct that there would be a heap per standard block size?
    3. Also, at what level of granularity would a heap typically be used (memory page, memory blocks, individual words (4-bytes))?
    4. What would be the most likely property one would use as a key. That is, what makes the root item on the heap ideal?
    5. Would a industrial strength system like the jvm use a (perhaps modified or tuned) heap for this sort of task, or would this typically be too naive for an real world solution today?
    Any insight would be awesome!
    Thanks,
    A.

    jschell wrote:
    I think you are not only mixing terms but domains.
    For starters the OS allocs memory. Applications, regardless of language, request memory from the OS and use it in various ways.
    There are many variations of the term "heap" like the following.
    [http://en.wikipedia.org/wiki/Heap_(data_structure)]
    [http://en.wikipedia.org/wiki/Dynamic_memory_allocation]
    A java VM will request memory from the OS (from a 'heap') and use it in its application 'heap' (C/C++) and then create the Java 'heap'. There can be variations of that along the way that can and likely will include variations of how each heap is used, potentially code that creates its own heap, and potentially other allocators which use something which is not a heap.This last part, I find a bit confusing. By "use something which is not a heap", do you mean the heap data structure, or the dynamic memory pool meaning of heap? If the former, then you would be implying that it would be common for a heap data structure to be used to manage the heap dynamic memory pool. If the latter, what would this "something which is not a heap" be? The best definition of "heap" I've found simply states that it is a pool of memory that can be dynamically allocated. If there is some other way of allocating dynamic memory, then it would suggest that the previous definition of "heap" is incomplete.
    >
    So to terms.
    1. Am I correct that the heap was so named because (perhaps at one point in time), a heap is/was commonly used to track the available memory in the free store?Which 'heap'? The VM one? It is probably named that because the implementors of the Sun VM were familar with how C++ and Smalltalk allocated memory.Okay, but that begs the question, was the heap in C++ and/or Smalltalk so named for the above queried reason?
    >
    2. If so, would it be correct that there would be a heap per standard block size?Not sure what you are referring to but probably a detail of the implementation. And since there are different levels the question doesn't mean much.
    However OS allocations are always by block if that helps. After that it requires making the question much, much more specific.
    3. Also, at what level of granularity would a heap typically be used (memory page, memory blocks, individual words (4-bytes))?Again not specific enough. A typical standard implementation of heap could not be at the word level. And it is unlikely, but not impossible, that variations would support word size allocations.
    The VM heap might use word boundaries (but not size), where the application heap certainly does (word boundary.)My understanding of it is that the application would request blocks from the OS, and then something like malloc would manage the memory within the allocated blocks. malloc (or whatever equivalent Java uses) would have to keep track of the memory it has allocated somehow, and I would think it would have to do this at the word level, since it's most commonly going to allocate memory at the word level to be references to other objects, etc.
    So I guess my question here would really be, if the dynamic memory heap is so named because there has been a memory management strategy that relied upon a heap data structure (which I've found no proof, but have found some suggestive literature), then would that probably have applied at the OS Page Fault level, tracking allocated blocks, or would that have applied at the malloc level, allocating individual words as necessary?
    >
    4. What would be the most likely property one would use as a key. That is, what makes the root item on the heap ideal?"Key" is not a term that will apply in this discussion.
    You appear to be referring to strategies for effective allocation of memory such as allocations from different regions by size comparison.
    It is possible that all levels might use such an allocator. General purpose applications do not sort allocations though (as per your one reference that mentions 'key'.) Sorry, I got the term "key" from an article I read regarding heaps, that indicates that a "key" is used to sort the elements, which I guess would be a more generalized way to make a heap than assuming a natural ordering on the elements in the heap. I'm not sure if the terminology is standard.
    >
    5. Would a industrial strength system like the jvm use a (perhaps modified or tuned) heap for this sort of task, or would this typically be too naive for an real world solution today?Again too indefinite. The Sun VM uses a rather complicated allocator, the model for which originated after years of proceeding research certainly in Smalltalk and in Lisp as well, both commercially and academically.
    I am sure the default is rules driven either explicitly or implicitly as well. So it is self tuning.
    There are command line options that allow you to change how it works as well.I guess perhaps I could attempt to clarify my initial question a bit.
    There is a 1:1 correspondence between the runtime stack, and a stack data structure. That is, when you call a function, it pushes a stack frame onto the runtime stack. When you return from a function, it pops a stack frame from the runtime stack. This is almost certainly the reasons the runtime stack is named as it is.
    The question is, is there or has there ever been a 1:1 correspondence between some aspect of the dynamic memory heap or how it is managed, and a heap data structure? If so, it would explain the name, but I'm a bit puzzled as to how a heap data structure would be of assistance in creating or managing the dynamic memory heap. If not, on the other hand, then does anybody know where the name "heap" came from, as it applies to the dynamic memory pool?
    A.

  • Windows 8.1 Prof and Hyper-v Server 2012 R2 core export snapshot hile VM is running

    Hi,
    I have ugraed my client to Windws 8.1 prof. After some digging i found out that it was posible to export a snapshot(if you have multiple snapshot) while using Hyper-v manager in windows 8.1 to a Hyper-v 2012R2 server. In my old pc win 7 prof i had the option
    to export but it didt work on running VM. On the win 8.1 i dont have that options? am  i missing some updates?
    Any tips? fix?

    Hi Martinbt,
    >>In my old pc win 7 prof i had the option to export but it didt work on running VM. On the win 8.1
    i dont have that options? am  i missing some updates?
    As you mentioned "it was possible to export snapshot " , but then you said you don't have that
    option .
    Could you please detail what is your goal ?
    ( "snapshot" equal to "checkpoint" )
    Best Regards
    Elton Ji
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Exporting snapshot logs...and terminates with unsuccessfull

    Hi all,
    i'm getting this error when i try to export a user in oracle 10g.
    . exporting views
    . exporting stored procedures
    . exporting operators
    . exporting referential integrity constraints
    . exporting triggers
    . exporting indextypes
    . exporting posttables actions
    . exporting materialized views
    . exporting snapshot logs
    EXP-00008: ORACLE error 1455 encountered
    ORA-01455: converting column overflows integer datatype
    EXP-00000: Export terminated unsuccessfully.
    i have one materialized view inside the user. the snapshot table having more than 500 rows of data.
    when i drop the materialized view, i can able to export successfully.
    how can i export a user having a materialized view. help me.

    thanks robert...thanks for ur timely reply....
    i had a very rough time with this export since today morning.......
    can i use this format....
    expdp username/password FULL=y INCLUDE=GRANT INCLUDE=INDEX DIRECTORY=dpump_dir1 DUMPFILE=dba.dmp CONTENT=ALL
    in the database there's no directory. can i use dpump_dir1 as dirrectory.....
    Edited by: 887268 on Dec 6, 2011 5:06 AM

  • Dynamic Memory on Linux VM

    Hello!
    Hyper-V 3.0 is great! After it will be released, I think it will become the most popular hypervisor. But it remains a major drawback.
    Nowhere announced support for dynamic memory for Linux VM on Hyper-V.
    Planned at least in some perspective to implement this functionality?
    Now we have to use two different hypervisors, as Hyper-V does not meet all the requirements of our customers.
    Mark Tepterev
    Oversun

    ~
    ~
    Moved  P.P.P.S.
    Q from Brian Wong:
    ----- Original Message -----
    From: "Brian Wong"
    To: <[email protected]>
    Sent: Thursday, March 06, 2014 9:24 AM
    Subject: Re: Linux does not use more than the startup RAM under Hyper-V with dynamic memory enabled
    On 3/6/2014 1:20 AM, Brian Wong wrote:
    > The kernel is built with the full set of Hyper-V drivers, including the
    > key "Microsoft Hyper-V Balloon Driver" as well as memory hot-add and
    > hot-remove functionality. This is happening with both the Gentoo-patched
    > 3.10.32 kernel and the vanilla 3.12.5 kernel. The host machine has a
    > total of 24 GB of memory.
    >
    > For now, I am working around the issue by starting the VM with the
    > startup memory set to the maximum and letting Hyper-V take the usused
    > memory back when it is not in use. The VM will then get the extra memory
    > when it needs it.
    >
    > Have I encountered a bug in the Hyper-V balloon driver?
    >
    Just a correction: the vanilla kernel version is 3.13.5, not 3.12.5.
    Sorry for any confusion.
    Brian Wong
    http://www.fierydragonlord.com
    ----- Original Message -----
    From: "Brian Wong"
    To: <[email protected]>
    Sent: Thursday, March 06, 2014 9:20 AM
    Subject: Linux does not use more than the startup RAM under Hyper-V with dynamic memory enabled
    I'm new to LKML, so please don't be too hard on me :)
    I'm running Gentoo Linux under Microsoft Client Hyper-V on Windows 8.1
    Pro, and I've noticed some odd behavior with respect to dynamic memory
    (aka memory ballooning). The system will never use more than the startup
    memory defined in the virtual machine's settings.
    ( VVM: typewriting error viRtual fixed by me, for best search in future )
    For example, if I set the startup memory to 512 MB, and enable dynamic
    memory with a minimum of 512 MB and a maximum of 8192 MB, the system
    will never allocate than 512 MB of physical memory, despite Hyper-V
    assigning more memory to the VM and the added memory being visible in
    the output of "free" and "htop". Attempting to use more memory causes
    the system to start paging to swap, rather than actually allocating the
    memory above the startup memory assigned to the VM.
    The kernel is built with the full set of Hyper-V drivers, including the
    key "Microsoft Hyper-V Balloon Driver" as well as memory hot-add and
    hot-remove functionality. This is happening with both the Gentoo-patched
    3.10.32 kernel and the vanilla 3.12.5 kernel. The host machine has a
    total of 24 GB of memory.
      Brian Wong wrote On 3/6/2014 1:20 AM:
     Just a correction: the vanilla kernel version is 3.13.5, not 3.12.5. )
    For now, I am working around the issue by starting the VM with the
    startup memory set to the maximum and letting Hyper-V take the usused
    memory back when it is not in use. The VM will then get the extra memory
    when it needs it.
    Have I encountered a bug in the Hyper-V balloon driver?
    Brian Wong
    http://www.fierydragonlord.com
    ----- Original Message -----
    From: "Victor Miasnikov"
    To:  [email protected]; "Brian Wong"
    Cc: "Abhishek Gupta (LIS)" ( zzzzzzzzzzzzzzz (at) microsoft.com>; "KY Srinivasan" zzzzzzzzzzz (at) microsoft.com
    Sent: Thursday, March 06, 2014 1:07 PM
    Subject: Re: Linux does not use more than the startup RAM under Hyper-V with dynamic memory enabled RE: [PATCH 2/2]
    Drivers: hv: balloon: Online the hot-added memory "in context" Re: [PATCH 1/1] Drivers: hv:
    Hi!
     Short:
     Question to Linux kernel team:
    may be patch
    >>> [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context"
    can solve problems with dynamic memory hot add in Hyper-V VMs with Linux OS ?
     Full:
    BW>> .., if I set the startup memory to 512 MB, and enable dynamic
    BW>> memory with a minimum of 512 MB and a maximum of 8192 MB,
    BW>>  the system will never allocate than 512 MB of physical memory
    BW>>
    BW>> Have I encountered a bug in the Hyper-V balloon driver?
    BW>>
     Unfortunately,  It's long story . . . :-(
    a)
     I already ( on January 09, 2014 2:18 PM )  write about problems with "Online the hot-added memory"  in "user space" see
    P.P.S.
    b)
      See
    Bug 979257 -[Hyper-V][RHEL6.5][RFE]in-kernel online support for memory hot-add
    https://bugzilla.redhat.com/show_bug.cgi?id=979257
     (  Info from this topic may be interessant not only for RedHat users )
    b2)
     Detail about pathes related problem "Online the hot-added memory"  in "user space" :
    >>> [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context"
    >>>
    >>>
    >>> === 0001-Drivers-base-memory-Export-functionality-for-in-kern.patch
    >>>  . . .
    >>> +/*
    >>> + * Given the start pfn of a memory block; bring the memory
    >>> + * block online. This API would be useful for drivers that may
    >>> + * want to bring "online" the memory that has been hot-added.
    >>> + */
    >>> +
    >>> +int online_memory_block(unsigned long start_pfn) {  struct mem_section
    >>> +*cur_section;  struct memory_block *cur_memory_block;
    >>>
    >>>  . . .
    >>> ===
    >>>
    >>>
    >>> ==
    >>>  . . .
    >>> == 0002-Drivers-hv-balloon-Online-the-hot-added-memory-in-co.patch
    >>>   . . .
    >>>    /*
    >>> -   * Wait for the memory block to be onlined.
    >>> -   * Since the hot add has succeeded, it is ok to
    >>> -   * proceed even if the pages in the hot added region
    >>> -   * have not been "onlined" within the allowed time.
    >>> +   * Before proceeding to hot add the next segment,
    >>> +   * online the segment that has been hot added.
    >>>     */
    >>> -  wait_for_completion_timeout(&dm_device.ol_waitevent, 5*HZ);
    >>> +  online_memory_block(start_pfn);
    >>>
    >>>   }
    c)
      Before apply patches ( see in P.S. about native udev-script) we are need use one of this methods:
     [ VVM:   URL of this topic skipped ]
    c1)
    "/bin/cp method" by Nikolay Pushkarev :
    Following udev rule works slightly faster for me (assuming that memory0 bank always in online state):
    SUBSYSTEM=="memory", ACTION=="add", DEVPATH=="/devices/system/memory/memory[1-9]*",
    RUN+="/bin/cp /sys$devpath/../memory0/state /sys$devpath/state"}}
    ( VVM : of course all need be place in one line, 2 line in this msg. -- only for good visual formating reasons )
    c2)
    udev rule using "putarg" by Nikolay Pushkarev :
     Even "/bin/cp method" udev rule work time to time not as need :-(
    As a result, Nikolay Pushkarev write a program putarg.c, that is even faster than "/bin/cp method" :
    ==
    #include <stdio.h>
    #include <fcntl.h>
    #include <sys/ioctl.h>
    #include <string.h>
    int main(int argc, char** argv) {
      int i, fd;
      if (argc < 2) return 0;
      if ((fd = open(argv[1], O_RDWR)) < 0) return 1;
      for (i = 2; i < argc; i++) {
        if (write(fd, argv[i], strlen(argv[i])) < 0) {
          close(fd);
          return i;
      close(fd);
      return 0;
    ==
     The first argument - the name of the output file ,
    and argument number 2 ( and all subsequent (  if exist ) ) - are text that are wiil be written in output file.
     Compile source code to executable file by run command:
    gcc -o putarg -s putarg.c
    The resulting binary need be placed an accessible location , such as /usr/bin, or wherever you want.
    Now udev rule using "putarg" can be written as :
    SUBSYSTEM=="memory", ACTION=="add", RUN+="/usr/bin/putarg /sys$devpath/state online"
    This complex solutions ( compiled file and udev-rule ) works exceptionally fast.
    Best regards, Victor Miasnikov
    Blog:  http://vvm.blog.tut.by/
    P.S.
    Nikolay Pushkarev about standart udev-script :
    Strange, that the native udev-script
    SUBSYSTEM=="memory", ACTION=="add", ATTR{state}="online"
    triggered somehow through time ( VVM: very often not work as need )
    P.P.S.
    ----- Original Message -----
    From: "Victor Miasnikov"
    To: "Dan Carpenter"; "K. Y. Srinivasan" ; <[email protected]>
    Cc: "Greg KH" ; <[email protected]>; <olaf (at) aepfle.de>; ""Andy Whitcroft"" <zzzzzzzzzzzz (at)
    canonical.com>;
    <jasowang (at) redhat.com>
    Sent: Thursday, January 09, 2014 2:18 PM
    Subject: RE: [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context" Re: [PATCH 1/1] Drivers: hv:
    Implement the file copy service
    Hi!
    > Is there no way we could implement file copying in user space?
      For "file copy service"  "user space"  may be pretty good
    But I ( and other Hyper-V sysadmin)  see non-Ok ( in "political correct" terminalogy) results with "hv: balloon: Online
    the hot-added memory" in "user space"
    ==
     [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context"
    ==
     What news?  Roadmap?
    Best regards, Victor Miasnikov
    Blog:  http://vvm.blog.tut.by/
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ----- Original Message -----
    From: "KY Srinivasan"
    To: "Victor Miasnikov"; [email protected]; "Brian Wong"
    Cc: "Abhishek Gupta (LIS)"
    Sent: Thursday, March 06, 2014 1:23 PM
    Subject: RE: Linux does not use more than the startup RAM under Hyper-V with dynamic memory enabled RE: [PATCH 2/2]
    Drivers: hv: balloon: Online the hot-added memory "in context" Re: [PATCH 1/1] Drivers: hv:
    > -----Original Message-----
    > From: Victor Miasnikov
    > Sent: Thursday, March 6, 2014 3:38 PM
    > To: [email protected]; Brian Wong
    > Cc: Abhishek Gupta (LIS); KY Srinivasan
    > Subject: Re: Linux does not use more than the startup RAM under Hyper-V
    > with dynamic memory enabled RE: [PATCH 2/2] Drivers: hv: balloon: Online
    > the hot-added memory "in context" Re: [PATCH 1/1] Drivers: hv:
    >
    Victor,
    I will try to get my in-context onlining patches accepted upstream.
    K. Y

  • 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

  • Dynamic memory not released to host

    Dear Techies,
    Ours is a small Hyper V virtual server infrastructure with three DELL power-edge physical hosts(Windows server 2012 Datacenter) and around 15 virtual machines running on top of it. The hosts are added to fail-over cluster. Each host has 95 GB RAM. All the
    VMs are running Windows server 2012 standard edition.
    We have installed terminal services(TS licensing, TS connection broker, TS session host) in four VMs with the following dynamic memory settings:
    Start-up RAM : 2048 MB
    Minimum RAM : 2048 MB
    Maximum RAM : 8192 MB
    Below mentioned applications are configured in the server:
    Nova Application Installed
    SQL Developer Tool is Configured (ODBC Connection established for Database communication)
    FTPs communication allowed for File Transfer
    McAfee Agent is configured (Virus Scanner)
    Nimsoft Robot Agent Configured – Monitoring
    Terminal Service
    Enabled Multiple terminal sessions based on customer requirement
    BGinfo tool configured through group policy for customized desktop background
    The average memory utilization in the terminal servers are 3.6 GB. As per dynamic allocation the maximum RAM requirement/allocation till date is 4GB. As seen in Hyper V console, the current RAM demand is 2300 MB and assigned memory is 2800 MB.
    However, the earlier assigned RAM in the server is ballooned/faked to the VM as driver locked memory. This is by design. Despite the memory being released back to the host, the server still shows up the 4Gb which makes the memory utilization report from
    monitoring tools look 80% (3.2 GB out of 4 GB).
    As a result, the memory utilization report is always based on the current dynamically allocated RAM and not calculated based on the maximum assigned RAM(8GB in this case). To make it clear: If the
    currently assigned RAM is 4Gb and utilization is 3.2 GB the utilization % is reported as 80%. However, if calculated in accordance with maximum RAM capacity of the server it would be 40% ((3.2/8)*100).
    Is there any way to release the driver locked memory from the VM.?
    Regards, 
    Auditya N

    I am not really clear on the point of your question.
    Allocated RAM is what is currently in use / allocated to a VM out of the physical RAM pool.  It is Demand + Buffer.  The demand is based on the applications in the VM and what they think they need and how efficiently they return unused memory
    to the machine.  This has nothing to do with in-application paging (which happens a lot with Terminal Servers).
    So yes, the memory utilization is accurate in relation to physical RAM utilization.
    Dynamic Memory is about efficiency, not about over-allocation.  Hyper-V can never give VMs more RAM than is in the physical RAM pool.  The VMs can be configured to have more RAM than is in the physical RAM pool - but the VMs will hit the top of
    the pool and not be allowed to have any more.  There is no ballooning or paging to disk.
    So, you maximum allocated could go beyond what is possible.  But that would mean that your utilization would be artificially low if this was used in the calculation.
    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

  • 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

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

Maybe you are looking for

  • How do I use SQL statements to perform calculations with form fields????

    Please help!!! I don't know how to use a SQL statement within my APEX form...... My form is below. The user will enter the values in the form. Click on Submit. Then we need to run a SQL select statement with those values. Our form looks like this: St

  • How do I publish to a pre-existing site?

    I'm a self-taught web designer who started doing our church website years ago because no one else would do it, so there are gaps in my understanding of how certain things work.  I have used a web design program for several years and use Smart ftp to

  • Folder with exclamation point on ipod - freezes if trying to restore

    hi i have quite a peculiar problem with my ipod 5th gen video. i just got it in the mail yesterday and tried to make it work. when i started it up, there was a folder with an exclamation point on it. so i installed the software from the cd and plugge

  • No mail and connection to itunes

    I have 2 problems all happened around same time.  First a message that says the mail server is not responsing.  Verify account settings & all looks okay to me.  Secondly, when plugging ipad into PC itunes message is could not connect to the iopad bec

  • Ical damaged or incomplete

    My ical icon on the dock has a gray circle with a line through it.  When I click it is says that it can't open it because its damaged or incomplete.  This is the first time this has happened.  Any suggestions?