Mac App Store'dan indirmeler (yüklenen) neden bu kadar CPU kullanıyor?


52

Bunu, Xcode güncellemeleri ve OS X güncellemeleri gibi büyük indirmelerle ve bu tür şeylerle sık sık fark ettim.

Temel olarak, indirme işleminin devam etmesi için gereken süreyi ancak görüyoruz:

görüntü tanımını buraya girin

Bugün (şu anda) Xcode 7.2.1 yüklüyorum

Depolanmış dosyaların tüm bir çekirdeği kazıyor gibi göründüğünü görebilirsiniz ve bu çalışmanın yaklaşık% 30'u çekirdek tarafından gerçekleştiriliyor.

Şaşkın olduğum şey, bu "iş" nedir? Bu işi neden yapması gerekiyor? Ne kadar miktarda işlem yapılıyor olabilir, çünkü saniyede birkaç megabaytta bir akışın şifresini çözmek bu kadar kaynağa ihtiyaç duymaz. İnternet üzerinden yüzlerce bağlantı kullanarak ve üzerinde bütünlük kontrolleri yapan (bittorrent gibi bir protokolle) büyük bir dosya indirebilir ve kaynak kullanımı ile olanlara yakın olan herhangi bir yere yaklaşmaz.


1
Güncellemelerin otomatik olarak indirilmesi gerekmeyen ve bu CPU kullanımını tamamen ortadan kaldırmak isteyen herkes için, Apple Menu -> Sistem Tercihleri ​​-> App Store'a gidin ve "Arka planda yeni mevcut güncellemeleri indir" seçeneğinin işaretini kaldırın (El Capitan) ) ve ardından bilgisayarı yeniden başlatın.
rakslice,

Yanıtlar:


30

Bugün XCode'u güncellerken aynı sorunu yaşadık: storedownloadd20 dakika boyunca bir CPU çekirdeği pegs.

Depolanan yüklemeyi bir hata ayıklayıcıyla kırmaya çalıştım ve gerçekten uzun yığın izleri ve içinde çok zaman harcadım Security::CodeSigning.

Tek tek bir çok küçük dosyanın dijital imzalarını tekrar tekrar doğruladığından şüpheleniyorum. Tüm paketi indirilirken doğrulamak yerine neden bunu yaptığına dair hiçbir fikrim yok. Ayrıca içeride çok sayıda tel manipülasyonu görüyorum Security_CodeSigning::RequirementLexer::RequirementLexer.

Ne storedownloaddyaparsan yap, çok yavaş!


Yığın izleme içeriğini nasıl gördünüz? (Bu genellikle hata ayıklama sembolleri gerektirmiyor mu?) Xownload kullanarak Downloadownload hata ayıklamak için kullandınız mı? Araçlar? Bunu nasıl yaptın?
Steven Lu

@StevenLu Evet, Xcode kullandım. Hata ayıklama sembolleri olduğunu sanmıyorum. İşlev isimleri muhtemelen bu işlevleri bildiren paylaşılan kütüphanelerden gelmiştir.
Navin

1
Yine de temiz. Bunu daha sık yapmaya çalışmalıyım. Teşekkürler
Steven Lu

2
indirme başlamadan ÖNCE bunu yapıyor ... kod imzalamayı kontrol ederse, yerel dosyalarda yapar. belki indirmeden önce tüm yerel xcode kurulumunun bütünlüğünü kontrol ediyordur?
user2707001 19:16

1
indirilecek güncellemeler olduğunda şimdi benim için yapıyor, ancak henüz indirmiyor. Her şeyi sınırda kullanılamaz hale getirir. sadece etkinlik izleyicide öldürdüm ve daha çabuk bittiğim gün için inşaalarımı aldım.
Lassi Kinnunen

11

CPU kullanımı hem özensiz kodlama hem de şifreleme / açma işlemlerinden kaynaklanmaktadır. Mühendisler dört çekirdekli dizüstü bilgisayar çağında sekiz sanal çekirdeğe sahip olan CPU'muzla çok dikkatsiz hale geldiler.

Birisi storedownloaddrutini optimize etmek için Apple'ı araştırmalı . Biz katlanmak zorunda olduğunu düşünürsek bir yıldan fazla kırık ağ Apple tasarımı ile kırık yerini dek discoverydbirlikte mDNSresponder.

Daha koyu düşünceler, mağazanın ayrıca yükleme ve gönderme için verileri sıkıştırdığını da söyleyebilir. Microsoft bunu defalarca yakaladı ama Apple'ın davasında belgelenmiş bir dava görmedim.


1
Bence düşünmelisiniz bir şey belki bu olduğunu düşünüyorum storedownloaddolduğunu sıkıştırma işlemi yapmayan gerçekten yoğun hesaplama gerektiren şekilde paket verileri. Bu noktada özellikle çılgınca bir şeyden şüphelenmek için fazla bir neden yok
Steven Lu

Üzgünüm, gerçekten bahsetmiştin. bu yüzden en mantıklı olan şeyin bunun dosya açma işlemi ile ilgisi olduğunu düşünüyorum demek istiyorum.
Steven Lu

1
Steven, dekompresyon bile uzun bir indirme süresi boyunca bir anlam ifade etmiyor (dekompresyon genellikle indirme işleminin sonunda gerçekleşiyor). Sadece şifreleme anlamlıdır. Kodun hiçbir zaman gerektiği gibi optimize edilmediğini keşfediyor gibi bir durum olduğunu düşünüyorum (Ars Technica alıntıları Apple'ın çekirdek işletim sistemi X rutinlerini tamir etmenin tam arkasında olduğunu açıkça gösteriyor, hatta bir tanesi kullanıcı deneyimini mağaza indirme işleminden çok daha merkezi bir konuma getirdi). test edilemeyen bir kullanıcının toplam Mac deneyiminin bir parçası bu kadar büyük olabilir).
Foliovision

Yine de normal kullanıcı görevlerine göre öncelik verdikleri anlamsız. Çalıştırılması, xcode'un yavaş mac'ler üzerinde daha yavaş inşa edilmesini sağlar. 5 dakika 20 dakikaya yavaşlıyor, sadece biraz yavaşlıyor.
Lassi Kinnunen

8

sadece terminalde öldürdüm ;-) ... yavaş geniş bandımdan 1,5 MB / sn alıyor

killall storedownloadd

Yani yazılım güncellemelerini alamayacaksın ... bana bir çözüm gibi gelmiyor.
Calimo
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.