1 puan yazan GN⁺ 2 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2 시간 전
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

    • Ben sıfır hipotezi tarafına oynarım. Çekirdek sayısını sabit tutup yalnızca VM bellek boyutunu ayarlasaydınız da aynı bellek kullanım değişimi ortaya çıkardı gibi geliyor
    • Genel olarak bilgisayara takılan fiziksel bellek kapasitesi de CPU’nun sunduğu donanım iş parçacığı sayısıyla orantılı olmalı
      İş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 -j gibi 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örebilirsiniz
    • Çekirdek başına bir ek yük olduğu doğru, ama bu kullanım düşüşü daha çok kullanılabilir belleğin azalmasıyla birlikte çekirdeğin bellek ayırma biçiminin değişmesinden kaynaklanıyor gibi görünüyor
      Bellek 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 bilmiyorum
  • Kı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üyor
    virtio-gpu en yakın seçenek gibi duruyor ama hesaplama GPU’su değil yalnızca grafik GPU’su geçiriyor gibi, bu yüzden pytorch çalışmıyor

    • Benim de buna ihtiyacım vardı, o yüzden bir yıl kadar önce epey araştırmıştım. Son dönemde Docker Model Runner (vllm-metal) ya da podman libkrun tarafındaki değişikliklere bakmaya zamanım olmadı; ikisi de işe yaramadı mı?
    • Cirruslabs Tart instance’ında torch çalıştırmayı başardım
  • macOS’te VM olarak yalnızca colima+docker kullandım; nispeten sancılı ve verimsiz. Yine de kullanılabiliyor

    • Apple’ın container CLI aracına bakmanızı öneririm. Birkaç hafta önce hafta sonunda projelerimden birini colima+dockerdan oldukça kolay taşıdım
      https://github.com/apple/container
    • Yerel CI için bir Mac Mini aldım ve Forgejo Actions ile kullanmak amacıyla ekosistemi genişçe taradım, ama sonunda host üzerinde build alma yoluna gittim
      İ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
    • OrbStack oldukça iyi. Pek verimsiz hissettirmiyor
  • 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?

    • macOS sanallaştırmasının bellek ballooning destekleyecek kadar gelişmiş olduğunu sanmıyordum; söylenen bu değil 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ıyorum

  • Açı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

    • İlk iPhone’larda uygulama çoklu görevi yoktu, dolayısıyla fark oldukça büyük. Uygulamalar kapatılınca tamamen sonlanıyordu
  • 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?

    • QEMU ile macOS boot edilebilir, ancak donanım hızlandırmalı grafikler ve bazı özellikler kullanılamaz
  • 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