12 Replies Latest reply on Dec 3, 2010 6:33 AM by amalanco8

    Explicación uso de memoria

    xacolabril Expert

      Buenas,

         he estado revisando con bastante afán e intentando entender los contadores de rendimiento de una VM en relación a los consumos de memoria. Me surgen dudas.

       

       

       

      Tengo bastante claro que:

       

      1) Memory Granted = Memory Consumed + Shared Memory

       

      2) Shared Memory = Memory Zero + RAM COMPARTIDA

       

      3) Para el valor de RAM COMPARTIDA, es decir memoria compartida con otras VMs utilizando la deduplicación del Page Sharing sin tener en cuenta zonas de memoria que están a 0. creo que no hay ningún contador que indique este valor directamente.

       

      4) El Memory Overhead no entra en estos cómputos.

       

      5) Memory Granted = Memoria total que vemos en Windows.

       

      6) Memory Usage (%) = (Memory Active / Memory Granted ) * 100

       

      Mis dudas surgen aquí:

       

      En este punto aparece la Active Memory, pero.... ?dónde entra en juego la Active Memory? ¿se trata de una zona de memoria de la Memory Consumed?

       

      He visto también que la Shared Memory = Memoria disponible en windows, pero no entiendo bien el concepto, ya que realmente hay RAM COMPARTIDA con otroas VMs y entiendo que esta RAM se está utilizando y por lo tanto no debería estar disponible...

       

      Viendo los dos puntos anteriores, entonces la memoria usada, que vemos en windows debería ser la Memory Consumed.

       

      ¿Qué nos indica pues Memoryr USage (%)? ¿Quizá un parámetro de trabajo de la memoria? Es decir, de la memoria consumida, hay una parte que es la memoria activa que está trabajando y de esta zona que realmente está tabajando, el Memory USage (%) nos dice el indicador de uso de la memoria?

       

       

      En fin... quedan expuestas.

       

      Saludos!

       

       

       

      Xavier

       

      VMware Certified Professional  VCP3 and VCP4.

       

      -


       

      Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

       

      If you find this or any other information helpful or correct, please consider awarding points. Thank you.

        • 1. Re: Explicación uso de memoria
          pcerda Master
          vExpert

          Hola,

           

          La Active Memory es la memoria actualmente utilizada por la maquina virtual, al dividirla por la memoria otorgada y multiplicar el resultado por 100, da el % de la memoria utilizada de esa maquina virtual en particular.




          Regards / Saludos

          -


          Patricio Cerda !http://www.images.wisestamp.com/linkedin.png!

          VMware VCP-410

          Join to Virtualizacion en Español group in Likedin

          See My Blog

          See My Linkedin Profile

          -


          Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

          If you find this or any other answer useful please consider awarding points by marking the answer helpful or correct. Thank you.

          • 2. Re: Explicación uso de memoria
            xacolabril Expert

            Es lo que esperaba encontrar, pero por lo que he visto Active Memory no es lo mismo que memoria utilizada por la VM (viendo desde el task manager).

             

            Saludos.

             

            Xavier

             

            VMware Certified Professional  VCP3 and VCP4.

             

            -


             

            Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

             

            If you find this or any other information helpful or correct, please consider awarding points. Thank you.

            • 3. Re: Explicación uso de memoria
              dquintana Master

              Hola Xacolabrill,

               

              Pegale una mirada a este linlk, acá estan todas tus rtas. http://www.vmware.com/files/pdf/techpaper/vsp_41_perf_memory_mgmt.pdf

               

              Active Memory is defined as the amount of guest memory that is currently being used by the guest

              operating system and its applications

               

              Abrazo

               






              <br>Por favor no olvides calificar las respuestas que te resultaron de ayuda o fueron correctas.

              Please, don't forget the awarding points for "helpful" and/or "correct" answers.

              Regards/Saludos

              ________________________________________

              Ing. Diego Quintana

               

              !http://www.wetcom.com.ar/wp-content/uploads//2010/10/vexpert_mini.png!

               

              VCP 410- VCP 310 - VAC - VTSP - VSP- vExpert 2010

              Unete al grupo de Virtualizacion en Español en Likedin

               

              Wetcom Group - (Web Site)

              !http://www.images.wisestamp.com/linkedin.png![!http://www.images.wisestamp.com/twitter.png!|http://www.twitter.com/daquintana]

              !http://feeds.feedburner.com/WetcomGroup.1.gif!

              • 4. Re: Explicación uso de memoria
                jose_maria_gonzalez Master

                Efectivamente, como apunta mi compañero pcerda, es la cantidad de memoria que esa VM esta usando en ese preciso instante.

                 

                Ojo que el contador en se llama si no recuerdo mal active guest memory y no active memory.

                 

                 

                 

                Saludos,

                 

                Jose Maria Gonzalez,

                Founder and President of JmG Virtual Consulting, S.L

                -


                Mi empresa: JmG Virtual Consulting, S.L - Lideres y Expertos en Virtualizacion

                Mi blog: El blog de Virtualizacion en Español - con Jose Maria Gonzalez.

                Mi twitter: El blog de Virtualizacion en Español - con Jose Maria Gonzalez

                 

                VMware vExpert 2009, vExpert 2010, VCI, VCP4, VCP3, VCP2, RHCE, MCSE

                 

                Autor del libro 101 Secretos de VMware vSphere

                Autor del libro VMware ESX y VMware VCP Hecho Fácil

                -


                If you find this or any other answer useful please consider awarding points by marking the answer helpful or correct.

                !http://feedproxy.google.com/ElBlogDeVirtualizacionEnEspanol.2.gif!

                • 5. Re: Explicación uso de memoria
                  xacolabril Expert

                  En mi caso con ESX 3.5 el contador parece llamarse "Active Memory (KB)"...

                   

                  ¿Es posible obtener este valor de algún contador de Windows?

                   

                  Saludos.

                   

                  Xavier

                   

                  VMware Certified Professional  VCP3 and VCP4.

                   

                  -


                   

                  Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

                   

                  If you find this or any other information helpful or correct, please consider awarding points. Thank you.

                  • 6. Re: Explicación uso de memoria
                    amalanco8 Hot Shot
                    VMware Employees

                     

                    Que tal Xacolabril, para obtener los valores de active memory utiliza "perfmon" de windows solo que para que puedas observar los valores reales y correctos necesitas agregar contadores de las VMware tools, en el momento que las instalas se te crean estos contadores que inician con "VM .." mira:

                     

                     

                     

                     

                     

                    If you find this information useful, please award points for "correct" / "helpful".

                     

                    My blog virtualización en tu idioma

                     

                     

                    • 7. Re: Explicación uso de memoria
                      xacolabril Expert

                      Gracias, pero en mi caso tengo ESX 3.5 y las tools parece que no traen los contadores...

                       

                      Saludos.

                       

                      Xavier

                       

                      VMware Certified Professional  VCP3 and VCP4.

                       

                      -


                       

                      Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

                       

                      If you find this or any other information helpful or correct, please consider awarding points. Thank you.

                      • 8. Re: Explicación uso de memoria
                        amalanco8 Hot Shot
                        VMware Employees

                         

                        que tal, ¿Que valor requieres? el que el sistema operativo te reporta o el del vmkernel?, en el caso del OS en perfmon tambien tenemos los contadores propios de Windows para la memoria activa. Si tu lo que necesitas es saber el valor real de la memoria activa con respecto al ESX(i), con esxtop lo puedes hacer sin problemas, simplemente ve a la vista de memoria "ingresando la tecla m", despues solo ingresamos la tecla "f" para habilitar ciertos campos asegurate que tengas el campo ACTV habilitado:

                         

                         

                         

                         

                        Una vez que lo activaste regresas a la vista de los contadores y ya tendras el valor de "TCHD"  , este te dirá cual es el calculo aprox de la memoria utilizada por dicha vm:

                         

                         

                         

                         

                        Espero te sea de ayuda.

                         

                         

                         

                         

                         

                        saludos. 

                         

                         

                         

                         

                         

                         

                        If you find this information useful, please award points for "correct" / "helpful".

                         

                        My blog virtualización en tu idioma

                         

                         

                        • 9. Re: Explicación uso de memoria
                          xacolabril Expert

                          No, simplemente me gustaría entender cómo funcionan los parámetros de memoria. Es decir, todos los parámetros aparecen de algún lado y muchos de ellos deben estar relacionados de alguna manera.

                           

                          Según he podido entender, el tema sería el siguiente:

                           

                           

                          Memory Granted = Memoria garantizada a la VM, que en teoría corresponde a la memoria asignada a la VM y que podemos ver desde el taskmanager.

                           

                          Memory Zero + = a la Shared Memory. Pero qué es la zona amarilla exactamente? Memoria compartida que no están todos sus bits a 0? Es decir, compartida con otras VMs que tengan páginas de memoria idènticas a esta VM?

                           

                          La shared memory, he leído que es la memoria disponiuble a nivel de task manager de windows, pero, realmente es asi???

                           

                          Shared Memory + Memory Consumed = Memory Granted. Esto si sumamos, da bien.

                           

                          Si la shared Memory es la memoria disponible, entonces la Memory Consumed debería ser la Memory used a nivel de Task Manageer, pero a veces no corresponde de esa manera...

                           

                          La active Memory? Es una zona de la Memory Consumed? y la otra parte? es decir, la Memory Consumed - Memory Active? Qué es? Memoria consumida por la VM pero que realmente no se está utilizando?

                           

                          Estas son mis dudas....

                           

                           

                           

                           

                           

                           

                           

                           

                           

                           

                          Saludos.

                           

                          Xavier

                           

                          VMware Certified Professional  VCP3 and VCP4.

                           

                          -


                           

                          Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

                           

                          If you find this or any other information helpful or correct, please consider awarding points. Thank you.

                          • 10. Re: Explicación uso de memoria
                            amalanco8 Hot Shot
                            VMware Employees

                             

                            ok vamos a tratar de dejar los puntos claros,

                             

                             

                            shared memory = aquella memoria virtual (guest physical memory) que es compartida entre VMs utilizando (TPS-transparent page sharing (memoria identica) y la memoria en zeros) basicamente la mem deduplicada con tps y toda aquella de un guest que contenga zeros.

                             

                             

                            Memory Granted= es la cantidad de memoria mapeada en ese momento a dicha maquina virtual, aquí se incluye el overhead (la cantidad de memoria necesaria para virtualizar dicha vm).No es memoria garantizada, si hablaramos de "garantizar" estariamos viendo reservaciones.

                             

                             

                            Memory Active = es aquella memoria que el vmkernel ha visto teniendo actividad recientemente (lectura y escritura) por lo cual no esta en idle. El vmkernel toma estadisticas de 100 paginas cada 30 segundos.

                             

                             

                            Memory Zero= memoria con puros ceros, windows en el momento que bootea "toca" la memoria y escribe puros ceros en ella, esta memoria forma parte de la memoria compartida.

                             

                             

                            Entonces memory shared=memory zero+ TPS (esta es la seccion amarilla faltante en tu diagrama).

                             

                             

                             

                             

                             

                             

                             

                             

                            Esta imagen me ayudo a mi en su momento a entender este embrollo:

                             

                             

                            http://communities.vmware.com/servlet/JiveServlet/downloadImage/11638/mem4kb.PNG

                             

                             

                            Memory granted = (VM1)contamos la cantidad de "flechas o apuntadores" que salen de los bloque de "guest physical memory" a los bloques de "machine memory", tenemos 5 flechas o 5 bloques mapeados a un bloque fisico, por ende si cada bloque es de 4KB, tenemos 20 KB de memory granted.

                             

                             

                            Memory consumed = (VM1) aca vamos a contar la cantidad de bloques mapeados, ya no contamos la cantidad de "apuntadores" sino bloques, entonces tenemos 3 bloques mapeados de la VM1 a la "machine memory" (memoria del host ESX/ESXi),pero si observamos tenemos un bloque compartido con la VM2, por lo tanto tenemos 2.5 bloques de 4KB que en total serian 10 KB.

                             

                             

                            memory shared (memoria de VMS)= Aca vamos a observar ambas maquinas VM1 y VM2, contamos todos aquellos bloques de "guest physical memory" que apuntan a un mismo bloque en "machine memory" (mem del ESX) ,entonces tenemos 6 bloques, por lo cual 6x4=24 KB compartidos, esto viene siendo al nivel de guest physical memory que basicamente es memoria virtual o de las vms.

                             

                             

                            memory shared common (memoria de ESX) = contamos la cantidad de bloques compartidos al nivel de "machine memory", tenemos 3 bloques compartidos, por lo cual la memoria compartida entre todas las vms (en este caso 1 y 2) es de 12KB. esta es la memoria compartida directamente del ESX (fisica).

                             

                             

                             

                             

                             

                            El problema que tenemos con windows y el task manager esta en que cuando se inicia windows se utiliza mucha de la memoria (la llena de ceros), y en el caso que no exista contencion de recursos la memoria no se le quita a dicha vm, por lo cual podemos ver un consumo mas elevado dentro del task manager mientras que el consumo del guest en el ESX es mucho menor, ya que la memoria activa de esa vm es mucho menor

                             

                             

                            Espero haberte aclarado las dudas, este tema para mi tambien fue muy dificil de entender en su momento te recomendaria que vieras la siguiente presentación del VMworld 2008 

                             

                             

                              http://www.vmworld.com/docs/DOC-2353

                             

                             

                             

                             

                            saludos.

                             

                             

                             

                             

                             

                            If you find this information useful, please award points for "correct" / "helpful".

                             

                            My blog virtualización en tu idioma

                             

                             

                            • 11. Re: Explicación uso de memoria
                              xacolabril Expert

                              Gracias, parece que es lo que andaba buscando.

                               

                              Saludos.

                               

                              Xavier

                               

                              VMware Certified Professional  VCP3 and VCP4.

                               

                              -


                               

                              Si encuentras que esta o cualquier otra respuesta ha sido de utilidad, vótalas. Gracias.

                               

                              If you find this or any other information helpful or correct, please consider awarding points. Thank you.

                              • 12. Re: Explicación uso de memoria
                                amalanco8 Hot Shot
                                VMware Employees

                                 

                                Excelente, espero sea de ayuda

                                 

                                 

                                saludos.

                                 

                                 

                                If you find this information useful, please award points for "correct" / "helpful".

                                 

                                My blog virtualización en tu idioma