VMware / ESX'teki Linux VM'lerinin takas bölümü olmalı mı?


18

VMware ESX kurulumunda bu seçeneklerin farkı nedir ?:

  • 1GB RAM ve 1GB takas bölümlü bir Linux VM ve VM 1.5 GB ram kullanıyor
  • 1 GB RAM ve takas bölümü olmayan bir Linux VM'si ve VM 1,5 GB ram kullanıyor

Demek istediğim, her iki durumda da takas kullanılıyor;

  • ilk takasta linux takas bölümüne yapılır
  • ikinci durumda, VMware, VMware depolama havuzuna 512MB takas eder.

Peki Linux VM'lerine takas bölümü vermenin bir anlamı var mı?


ESX ana bilgisayarının takas gerekip gerekmediğini mi yoksa VM ile nasıl ele alındığını mı soruyorsunuz? Ne demek istediğinizi belirtmek için soruyu ayrıntılandırmak isteyebilirsiniz.
Bart Silverstrim

Umarım şimdi yapılır.
Sandra

Yanıtlar:


15

İnsanların işletim sistemine özgü nedenlerle uğraştığını görmezden gelmek, takas bölümü / dosyasıyla çalışmamanın kötü bir fikir olmasının iki nedeni var.

  1. Boşluk dosyası / bölümü olmayan bir VM'ye 1,5 GB RAM ayırdıysanız ve 1,5 GB + 1 MB kullanmak istiyorsa, bellek yetersiz hatası bildirir. Takas alanı ile verileri aktif bellekten diske takas edebilecektir.
  2. Konuk işletim sistemi, ana bilgisayardan daha iyi bir bellek yönetimi işi yapar. Bu nedenle bellek balonlaması gibi teknoloji var çünkü Host şu anda hangi belleğe ihtiyaç duyulmadığı konusunda eğitimli tahminler yapabilir, ancak konuk çok daha akıllı bir seviyede bilir (bu, işletim sisteminin belleğinin takas edilmesini önler ve performansınızı öldürebilir).

10

Evet. Unix'in yolu budur.

Unix (Linux bile) değişebilmeyi bekliyor .
Kötü Şeyler sistem değiştirilemediğinde olur (takas bölümü olmadan yanlış yapılandırıldığı veya takas alanı dolduğu için). Linux'ta bu Kötü Şeylerden biri, en çok RAM kullandığını düşündüğü programın arkasına bir bıçak dayayacak olan Bellek Dışı Katil'dir (veritabanı sunucuları favori bir hedeftir).


4

Ne olarak /proc/sys/vm/overcommit_memoryayarladınız? Çekirdek belgelerinden:

0       -       Heuristic overcommit handling. Obvious overcommits of
                address space are refused. Used for a typical system. It
                ensures a seriously wild allocation fails while allowing
                overcommit to reduce swap usage.  root is allowed to
                allocate slightly more memory in this mode. This is the
                default.

1       -       Always overcommit. Appropriate for some scientific
                applications.

2       -       Don't overcommit. The total address space commit
                for the system is not permitted to exceed swap + a
                configurable percentage (default is 50) of physical RAM.
                Depending on the percentage you use, in most situations
                this means a process will not be killed while accessing
                pages but will receive errors on memory allocation as
                appropriate.

Yani 1 kullanıyorsanız fark yoktur. 2 kullanıyorsanız ve linux takas dosyası kullanmıyorsanız, hiçbir işlem 512M (sanal) bellek ayıramaz. Sonuç 0 için net değil.

Düzenleme: http://utcc.utoronto.ca/~cks/space/blog/linux/LinuxVMOvercommit Gönderen 0 şu şekilde çalışır:

Sezgisel aşırı taahhüt, sistemin alabileceği tüm belleği geri kazandığında ne kadar bellek verebileceğini bulmaya çalışır ve başka hiçbir işlem şu anda olduğundan daha fazla RAM kullanmaz; bundan daha fazlasını istiyorsanız, tahsisiniz reddedilir. Spesifik olarak, teorik 'boş bellek' numarası, boş takas alanı, boş RAM (eğer kök değilseniz 1 / 32'den az) ve birleştirilmiş arabellek önbelleği ve geri kazanılabilir olarak etiketlenmiş çekirdek verileri tarafından kullanılan tüm alan eklenerek hesaplanır. (bazı ayrılmış sayfalardan daha az).

Bu yüzden hesaplamada takas kullanır. Genel olarak RHEL tavsiyesine uyuyorum:

M = Amount of RAM in GB, and S = Amount of swap in GB, then
If M < 2
    S = M *2
Else
    S = M + 2

1
cat /proc/sys/vm/overcommit_memorydöner 0. overcommit_memoryDeğer ve takas / takas açısından ne önerirsiniz?
Sandra

3

Takas bölümleri potansiyel olarak daha hızlı olabilir, özellikle de kök disk neredeyse doluysa ve dosya sistemi tarafından oluşturulabilecek yükü ve varsa LVM.

Ancak, bellek gereksinimlerinizin% 33'ünü diskte tutarsanız, her iki makinenin performansı yine de emilir.


"Kök disk" dediğinde. ESX'in takas dosyalarını oluşturduğu ESX ana bilgisayarında mı kastediyorsunuz?
Sandra

Hayır, VM'nin kök dosya sistemini içeren sistem diskini kastediyorum. Sonuçta, özel bir takas bölümü olmadığında takas gerçekleşecek.
Sven

Not, bu cevap takas bölümü ile takas dosyası arasında tartışıyor. Sorunun takas etmeye ihtiyacınız olup olmadığını düşündüm.
user606723

@ user606723: Eğer takas kullanmıyorsanız, VM'nin sahip olduğundan daha fazla bellek ayırmaya çalışırsanız ve 1GB fiziksel durumla 1,5GB kullanımı yine de gerçekleşemezse, bellek yetersiz hatasıyla karşılaşırsınız.
Sven

@SvenW, Evet, ancak böyle bir şeyin olması muhtemel değildir. Bu yöneticinin karar vermesi için.
user606723

0

Lütfen aşağıdaki bağlantıya bakın- https://help.ubuntu.com/community/SwapFaq

Temel olarak, hazırda bekletme moduna veya VM'ye ayırdığınızdan daha fazla bellek kullanmıyorsanız, takas bölümüne önemli bir avantaj sağlamaz.

Yıllardır linux makinelerimin hiçbirinde takas bölümü / dosyası kullanmadım.


1
Soru takas / takas hakkında değil. VMware'in takas işlemlerini nasıl gerçekleştirdiği ile ilgilidir.
Sandra

0

Takas için bariz avantaj, makineniz çöktüğünde yine de bir çökme dökümü oluşturabilmenizdir. Yanlışsam beni düzeltin, ama afaik bu takas olmadan mümkün değil. Bu elbette VMWare'e özgü değildir, her yerde geçerlidir. Belirtmenin önemli olabileceğini hissettim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.