1 2 Previous Next 16 Replies Latest reply on May 7, 2010 1:36 AM by RumataRus

    В чем смысл лимита, устанавливаемого на память?

    RumataRus Master

      Здравствуйте!

       

      При создании виртуальной машины (ВМ) мы уже ограничиваем ее выделенным объемом памяти. В чем смысл дополнительного ограничения памяти, указываемого на вкладке "Resources" свойств ВМ?

        • 1. Re: В чем смысл лимита, устанавливаемого на память?
          AntonVZhbankov Guru
          User Moderators

          При создании машины мы указываем сколько памяти машина увидит вообще и будет в состоянии использовать. Это так называемая виртуальная память, а лимит устанавливается для ограничения физического использования памяти. Вся память выше лимита будет принудительно отжата у машины balloon драйвером.

           

          Вот здесь есть доп. информация: http://blog.vadmin.ru/2010/03/cpu.html


          ---

          MCSA, MCTS Hyper-V, VCP 3/4, VMware vExpert '2009

          http://blog.vadmin.ru

          • 2. Re: В чем смысл лимита, устанавливаемого на память?
            RumataRus Master

            Антон, а зачем это нужно? Если мы не хотим использовать в максимуме 3Гб памяти, а хотим 2Гб, то зачем выделять ВМ 3Гб, а затем устанавливать лимит на 2Гб? Не проще ли сразу выделить машине 2Гб? Чего я не понимаю?

            • 3. Re: В чем смысл лимита, устанавливаемого на память?
              AntonVZhbankov Guru
              User Moderators

              Вариант 1: у нас на ESX куча ВМ, и кончилась физическая память - ведь сумма памяти ВМ может быть больше, чем физической памяти на сервере. Можно оставить все как есть и предоставить ESX'у разруливать это на основе shares, а можно помочь и принудительно отобрать память у некритичных машин в пользу критичных через лимиты.

              Вариант 2: добавление памяти в общем случае требует выключения машины. Но мы можем при необходимости создать машину с 3ГБ, поставить лимит 1.5ГБ и при необходимости уменьшить лимит до 1ГБ или вообще его убрать без перезагрузки.

               

              Лимит памяти - это один из способов динамического управления ресурсами.


              ---

              MCSA, MCTS Hyper-V, VCP 3/4, VMware vExpert '2009

              http://blog.vadmin.ru

              1 person found this helpful
              • 4. Re: В чем смысл лимита, устанавливаемого на память?
                MKorotko Expert

                лимит обычно нужен для управления  и перераспределения ресурсов в загруженых средах с большим числом вм.

                 

                можно и ВМ дать два гига и оставить лимит, а можно 3 гига и лимит 2. И в случае чего забрать у ВМ этот 1 Гиг сверх лимита, а  если необходимо также можно будет ВМ отдать этот 1 гиг.

                 

                 

                UPD: Антон уже обогнал, пока я бил по клавиатуре. ))))

                 

                 

                -


                http://vm.pro-it.kz

                1 person found this helpful
                • 5. Re: В чем смысл лимита, устанавливаемого на память?
                  michigun Master
                  VMware Employees

                   

                  я вижу два применения этой настройке:

                   

                   

                  1) на уровне пула ресурсов

                  2) если пришел человек с запросом ВМ с 8ю гигами памяти.

                  ссориться и доказывать ему, что 4х под его задачу достаточно нам не хочется.

                  можно выдать 8 и поставить лимит 4

                   

                   

                   

                   

                   

                   

                  --

                  http://www.vm4.ru/

                  http://vsphere.vm4.ru/

                   

                   

                  • 6. Re: В чем смысл лимита, устанавливаемого на память?
                    RumataRus Master

                    Антон, спасибо за разъяснения!

                     

                    Т.е. лимиты можно модифицировать при включенной виртуальной машине и они сразу вступят в силу? Это относится и к лимитам на процессорную мощность тоже?

                     

                    Как я понимаю, память ВМ выделяется не вся сразу (в нашем обсуждении 3Гб), а по требованию самой ВМ. В таком случае в "Варианте 1", если кончается вся физическая память на хосте, значит установка лимита в ВМ будет приводить к свопированию памяти ВМ на диск перед тем, как balloon driver сможет "откачать" память. Это так?

                    • 7. Re: В чем смысл лимита, устанавливаемого на память?
                      AntonVZhbankov Guru
                      User Moderators

                      >Т.е. лимиты можно модифицировать при включенной виртуальной машине и они сразу вступят в силу? Это относится и к лимитам на процессорную мощность тоже?

                       

                      Да, именно для этого они и существуют.

                       

                      >Как я понимаю, память ВМ выделяется не вся сразу (в нашем обсуждении 3Гб), а по требованию самой ВМ.

                       

                      Физическая память выделяется при первом обращении к ней.

                       

                      >В таком случае в "Варианте 1", если кончается вся физическая память на хосте, значит установка лимита в ВМ будет приводить к свопированию памяти ВМ на диск перед тем, как balloon driver сможет "откачать" память. Это так?

                       

                      Нет. Balloon драйвер и в этом случае тоже будет работать, но на основании shares и данных об использовании памяти - неиспользуемые страницы "стоят" дороже, чем используемые. Просто при установке лимита balloon драйвер получает четкую команду отжать кусок размером Configured - Limit.


                      ---

                      MCSA, MCTS Hyper-V, VCP 3/4, VMware vExpert '2009

                      http://blog.vadmin.ru

                      • 8. Re: В чем смысл лимита, устанавливаемого на память?
                        RumataRus Master

                        Второе применение, конечно имеет право на жизнь, но у меня возникают большие сомнения по поводу того, что разработчики руководствовались им при создании механизмов лимита .

                        • 9. Re: В чем смысл лимита, устанавливаемого на память?
                          RumataRus Master

                          Антон, а что значит "неиспользуемые страницы "стоят" дороже, чем используемые"? В первую очередь balloon driver откачивает неиспользуемые страницы?

                          • 10. Re: В чем смысл лимита, устанавливаемого на память?
                            michigun Master
                            VMware Employees

                            balloon откачивает то, что отдает гостевая ОС.

                            А она в первую очередь отдает то, что не используется ею.

                             

                             

                             

                             

                            --

                            http://www.vm4.ru/

                            http://vsphere.vm4.ru/

                            • 11. Re: В чем смысл лимита, устанавливаемого на память?
                              AntonVZhbankov Guru
                              User Moderators

                              >В первую очередь balloon driver откачивает неиспользуемые страницы?

                               

                              Да. Точнее это выглядит так - есть "налог на память", который по умолчанию равен 75%. Т.е. неиспользуемая страница памяти стоит как четыре используемых. Когда собирается общая статистика по использованию памяти, то balloon драйверы в разных ВМ будут отжимать память в соотв. пропорции.

                              Т.е. строго говоря получается, что если есть две ВМ, одна из которых по памяти загружена на 100%, а вторая на 10, то balloon будеть отжимать по 4 страницы из ВМ2 и по одной из ВМ1. Но при этом в ВМ2 будет оставаться неиспользуемая память.

                               

                              И как сказал Михаил, Вм действительно будет отдавать не "вот эту страницу и вот эту страницу", а память в объеме этих страниц. А конкрентно это будет делать гостевая ОС на основании собственных представлений о том, какие именно страницы памяти нужнее и важнее, а какие можно положить в своп.


                              ---

                              MCSA, MCTS Hyper-V, VCP 3/4, VMware vExpert '2009

                              http://blog.vadmin.ru

                              • 12. Re: В чем смысл лимита, устанавливаемого на память?
                                RumataRus Master

                                И еще, если при установке лимита balloon driver получает команду "отжать кусок размером Configured - Limit", но неиспользуемых (как я понимаю, долгое время неактивных) страниц памяти нехватает, то свопинг неизбежен. Либо тогда операция не должна завершиться успешно. Или не так?

                                • 14. Re: В чем смысл лимита, устанавливаемого на память?
                                  michigun Master
                                  VMware Employees

                                  все правильно. Balloon - это механизм вытеснения гостя из физической ОЗУ в ее собственный своп.

                                   

                                   

                                   

                                   

                                  --

                                  http://www.vm4.ru/

                                  http://vsphere.vm4.ru/

                                  1 2 Previous Next