macOS VM ne kadar hızlı ve ne kadar küçük olabilir?
(eclecticlight.co)- Mac mini M4 Pro üzerinde macOS 26.4.1 VM yeniden ölçüldüğünde, 5 sanal çekirdek ve 16 GB vRAM yapılandırmasında bile tek çekirdek CPU ve GPU performansının ana sisteme yaklaştığı görüldü
- Geekbench 6.7.1’e göre tek çekirdek CPU VM’de 3.855 / ana sistemde 3.948, GPU Metal ise VM’de 106.896 / ana sistemde 111.970 oldu; bu da sırasıyla ana sistemin yaklaşık %98’i ve %95’i seviyesinde
- Çok çekirdekli CPU skoru VM’de 13.222 / ana sistemde 23.342 olarak ölçüldü; ana sistem 14 çekirdekli (10 P + 4 E), VM ise 5 sanal çekirdekli olduğundan doğrudan karşılaştırma zor, ancak VM performansı oldukça iyi
- En zayıf nokta sanal Neural Engine oldu; CoreML yarı hassasiyet ve nicemleme testlerinde ana sistemden belirgin biçimde daha yavaştı ve VM’de yapay zeka işlerinin CPU ile GPU tarafından işlenmesi beklenebilir
- En düşük yapılandırma testinde yalnızca 2 sanal çekirdek ve 4 GB bellek ile bile Safari ve Ayarlar’daki depolama alanı analizi gibi hafif işler sorunsuz çalıştı; macOS güncellemeleri düşünülünce VM depolama alanı için en az 60 GB uygun görünüyor
Testin arka planı
- Apple silicon’daki macOS sanallaştırma incelemesinde kullanılan performans değerleri önceki ölçümlere dayanıyordu ve kullanılabilir bir VM için minimum özellikleri ele almıyordu
- MacBook Neo’da VM çalıştırmaya ilgi artarken, macOS Tahoe temelinde performans ve minimum yapılandırma yeniden kontrol edildi
Performans ölçümü ve yorum
- Test ana sistemi Mac mini M4 Pro idi; macOS 26.4.1, 14 çekirdek (10 P + 4 E), 48 GB RAM ve 2 TB dahili SSD yapılandırmasına sahipti
- Konuk VM’e 5 sanal çekirdek ve 16 GB sanal RAM ayrıldı
- Geekbench 6.7.1 skorları hem ana sistemde hem de VM’de öncekine göre biraz daha hızlı çıktı
- Ölçüm sonuçları şöyleydi
- Tek çekirdek CPU: VM 3.855, ana sistem 3.948
- Çok çekirdek CPU: VM 13.222, ana sistem 23.342
- GPU Metal: VM 106.896, ana sistem 111.970
- Neural Engine CoreML: VM 5.291 / 8.577 / 6.877, ana sistem 5.973 / 41.251 / 56.616
- Neural Engine CoreML için bu üç değer sırasıyla tek hassasiyet, yarı hassasiyet ve nicemleme test sonuçlarıdır
- Çok çekirdekli CPU sonuçlarını doğrudan karşılaştırmak zor; çünkü ana sistem VM’den iki katından fazla çekirdeğe sahip ve bunların 4’ü E çekirdeği
- GPU performans karşılaştırması, ana sistemin GPU’yu aynı anda rekabetçi biçimde kullanmadığı koşullarda elde edildi
- VM’de çalışırken macOS’un yapay zeka işlerini Neural Engine yerine CPU ve GPU üzerinde işlemesi beklenebilir
Minimum yapılandırma testi
- MacBook Neo’nun ortaya çıkmasının ardından, bu cihazda VM çalıştırılıp çalıştırılamayacağına dair ilgi oluştu
- Linux ana sistem kullanımında uygun görünüyor olsa da, macOS VM olarak işe yarar işler yapıp yapamayacağı şüpheliydi; ancak gerçek testte bunun mümkün olduğu görüldü
- Minimum yapılandırmayı doğrulamak için aynı macOS 26.4.1 VM, Viable içinde CPU çekirdeği ve bellek tahsisi kademeli olarak azaltılarak çalıştırıldı
- VM görüntüleme penceresi standart 1600 × 1000 olarak ayarlandı
- Safari çeşitli şekillerde kullanıldı ve Ayarlar’daki depolama alanı analizi dahil hafif günlük işler yapıldı
- Yapılandırmalara göre sonuçlar şöyleydi
- 4 sanal çekirdek ve 8 GB vRAM ile VM tamamen akıcı çalıştı ve bellek kullanımı yaklaşık 5 GB oldu
- 3 çekirdek ve 6 GB ile bellek kullanımı 3,9 GB’a düştü ve tüm işler sorunsuz çalıştı
- 2 çekirdek ve 4 GB bellek ile yalnızca 3,1 GB kullanıldı ve hafif işler yine normal şekilde sürdürüldü
- Yalnızca 2 sanal çekirdek ve 4 GB bellek ayrılan bir macOS VM’nin de MacBook Neo’da mümkün olacağı ve günlük işleri yeterince yapabileceği görülüyor
- Böyle bir VM, LLM çalıştırmak için uygun bir yer değil; ancak hafif macOS işleri için yeterince kullanılabilir
Depolama alanı ve güncelleme kısıtları
- Dahili SSD’si küçük Mac’lerde VM oluştururken VM boyutuna dikkat etmek gerekiyor
- 50 GB’tan çok daha küçük bir macOS VM, macOS güncellemelerini gerçekleştiremez hale geliyor
- Rahatlık ve güvenlik payı için en az 60 GB hedeflemek iyi olur
- APFS’te VM, seyrek dosya olarak saklandığından varsayılan 100 GB VM bile diskte gerçekte yalnızca yaklaşık 54 GB gerektiriyor
- Bu tür bir yapılandırma, 512 GB SSD’ye sahip bir MacBook Neo’da daha uygun şekilde barındırılabilir
1 yorum
Hacker News yorumları
Çekirdek başına bağlanan belli bir bellek olduğunu hatırlatması açısından iyi bir reminder. Muhtemelen asıl olarak sayfa önbelleği ya da eşzamanlılık işleme gibi şeylerle ilgilidir
İşletim sistemi iş parçacığı başına bir miktar bellek ayırabilir; ayrıca büyük yazılım projelerini derlemek gibi tüm iş parçacıklarını kullanan çok iş parçacıklı uygulamalar da çoğu zaman iş belleğini çalışan iş parçacığı sayısıyla orantılı şekilde ayırır
İş parçacığı başına en fazla 2 GB civarı olduğunda düzgün çalışan çok iş parçacıklı uygulamaları sık gördüm; Ryzen 9 9950X gibi 32 iş parçacıklı bir masaüstü CPU’da 64 GB bu yüzden mantıklı oluyor
Chrome/Chromium gibi projeleri derlerken 16 çekirdek/32 iş parçacıklı bir CPU’da yalnızca 32 GB varsa,
make -jgibi uygun parametrelerle eşzamanlı derleme sayısını düşürüp bazı çekirdekleri boşta bırakmanız gerekir. Aksi halde yetersiz bellek hatası görebilirsinizBellek bol olduğunda çekirdek okuma önbelleğini daha uzun süre tutar, disk swap yerine bellek sıkıştırmayı tercih eder ve geri kazanılabilir belleği daha seyrek temizler. Dahili tampon boyutları ve vnode tablosu da toplam belleğe göre ayarlanır
Kullanılabilir kaynakları dinamik olarak sonuna kadar değerlendirmesi güzel, ama bunun bedeli gerçek çalışmanın ihtiyaç duyduğu asgari taban çizgisini görmeyi zorlaştırması
Kontrol etmek için eğlenceli komut
vm_stat; free/active/inactive/wired/purgeable sayfaları, compressor, pagein/pageout, swapin/swapout gibi değerleri görebilirsiniz. Düzenleme: Kod çiti Markdown desteği yok mu, yoksa ben mi bir şeyi yanlış yapıyorum bilmiyorumKısa süre önce M5 Air aldım ve macOS benim için yeni; bu kısmı anlamaya çalışıyorum ama aynı anda
pytorch, GPU hızlandırma ve VM/konteyner düzeyinde izolasyonu elde etmek pratikte imkânsız görünüyorvirtio-gpuen yakın seçenek gibi duruyor ama hesaplama GPU’su değil yalnızca grafik GPU’su geçiriyor gibi, bu yüzdenpytorchçalışmıyorvllm-metal) ya dapodman libkruntarafındaki değişikliklere bakmaya zamanım olmadı; ikisi de işe yaramadı mı?torchçalıştırmayı başardımmacOS’te VM olarak yalnızca colima+docker kullandım; nispeten sancılı ve verimsiz. Yine de kullanılabiliyor
colima+dockerdan oldukça kolay taşıdımhttps://github.com/apple/container
İmzalama ve notarization ayarlarını host’tan izole etmek, ajan kullansanız bile yönetilmesi zor görünüyordu. Yine de artık macOS build’leri gerçekten hızlı ve imzalama/notarization da yaklaşık 200 satır Bash ile halledilebiliyor
https://github.com/trycua/cua/tree/main/libs/lume bu sorun için ilginç bir yaklaşım göstermişti
VM başlatılırken sadece 5 GB kullanıyor olsa bile, VM içinde uygulamaları çalıştırdığınızda başlangıçta kullandığı 5 GB’ı değil, ayrılmış 8 GB’nin tamamını istemez mi?
Düzenleme: Ben yanılmışım
Sanırım en küçüğü bende.
docker.io/gotson/crossbuild latest d96ea9b7054b 3 years ago 6.71 GB; bunu Darwin cross-build için kullanıyorumAçıkçası macOS, VM’de kesinlikle gerekli olmayan şeyler kapatılırsa bunun çok daha altına inebilir gibi geliyor
İlk iPhone’da yalnızca 128MiB RAM vardı ve bildiğim kadarıyla kırpılmış bir macOS Tiger sürümü çalıştırıyordu. Şimdiye kadar RAM oldukça bol olduğu için küçültmeye gerek olmadı; ama kesinlikle mümkün ve muhtemelen o kadar da zor değil. Sadece yeniden denemeleri gerek
PC’de macOS çalıştırmak mümkün mü? Ya da en azından PC’de bir şekilde Mac için geliştirme yapılabilir mi?
Konu dışı sayılabilecek bir soru ama bir macOS VM’ini kişisel cihaz olarak Intune’a kaydetmek mümkün mü?
Neden kimsenin macOS’a özel bir ajan ortamı yapmadığını merak ediyorum. Ajanın Mac ortamında spawn edilmesi güzel olurdu diye düşünüyorum