macOS'ta önemli miktarda bellek tüketen icdd işlemi


13

Geçtiğimiz hafta içinde 'icdd' işlemi zaman zaman başlıyor ve ne zaman büyük miktarda RAM tüketiyor (7 GB'den fazla). Bu olduğunda, Etkinlik Monitörü'nü açıp süreci zorla öldürene kadar MacBook Pro'm aslında işlevsel olmaz.

Etkinlik monitörünün icdd'yi 7GB'ın üzerinde RAM kullanarak ve bellek basıncını hızlandırarak gösteren bir ekran görüntüsü ekledim.

resim açıklamasını buraya girin

Herkes bu sürecin ne olduğunu veya bu sorunun her 30 dakikada bir oluşmasını nasıl önleyebilirim biliyor mu?


1
Bu sorunu yaşayan ilk kişi siz değilsiniz. Bu yanıtın yardımcı olup olmadığına bakın: superuser.com/questions/748933/…
NoahL

1
icdd Image Capture.app/service ile ilgilidir. Tarayıcı, yazıcı tarayıcı veya kamera gibi herhangi bir aygıtınız var mı?
klanomath

Ayrıca - çıkış yapıp tekrar giriş yaparsanız - kullanılan 7.24 (1.08 Uygulama, 1.75 Kablolu. 4.41 Sıkıştırılmış) nasıl değişir? Oturumu kapatmak ve silmek basit bir bellek sızıntısı olabilir. Temizlenmezse, virüs tarayıcısını devre dışı bırakmayı ve yeniden başlatmayı ve belleğin hızlı bir şekilde tırmanıp tırmanmadığını görmeyi deneyeceğim.
bmike

Bu çözüm benim sorunum için geçerli değildi. @klanomath MacBook'uma bağlı harici aygıtım yok.
Zach

@Zach lcdd bir fırlatma ajanı tarafından kontrol edilir. Varsayılan olarak devre dışı bırakılmış bir "Basınç çıkışını etkinleştir" anahtarı içerir. Geçici olarak etkinleştirebilirsiniz (= bellek basıncı yükselirse lcdd'yi öldürün) ve sonucu kontrol edin. Bmike zaten belirtildiği gibi gerçek nedeni muhtemelen bir bellek sızıntısı olsa ...
klanomath

Yanıtlar:


6

Apple'da kıdemli bir teknik danışmanla bu konu üzerinde bir yıldan fazla bir süredir çalışıyorum ve bundan bir süre önce başka bir kıdemli danışmanla çalışıyordum. Apple Engineers'a çeşitli vesilelerle göndermek için "veri yakalama" yaptık ve Etkinlik Monitörü, Image Capture ve nihayetinde icdd'nin / Users / user_name konumunda tuttuğu bir plistte neler olduğunu göstermek için birkaç kez ekran kayıtları yaptık. / Library / Uygulama Desteği / icdd / deviceInfoCache.plist (Xcode içinde görüntüleyerek).

Bu noktada, neler olduğuna dair en iyi tahminim:

İcdd (Image Capture Device Database) işlemi tarayıcıların yoğun bir ağa gelip gittiğini görür. Simge dosyalarının bir listesini de yukarıda belirtilen deviceInfoCache.plist dosyasına yazdığı bir karma tabloda tutmaya çalışır. Evet - bu çılgınca geliyor - tarayıcıların simge dosyalarına referanslar tutuyor. Ancak daha da çılgın olan, bir nedenden dolayı, bu dosyadaki hemen hemen tüm girdilerin var olmayan .icns dosyalarını işaret etmesidir. Baktığım birkaç sistemden, dosyada binlerce giriş oldu, ancak makinelerden birinde .icns dosyalarından sadece birkaçı vardı ve diğerleri üzerinde hiçbiri yoktu. Bu dosya büyüdüğünde, icdd'nin .plist dosyasındaki girişlerin varlığını kontrol etmeye ve dosyayı değiştirmeye çok zaman harcadığına inanıyorum. Buna iki nedenden dolayı inanıyorum. İlk olarak, dizüstü bilgisayarımı eve götürdüğümde, icdd işlemi bazen bir CPU'nun yaklaşık% 100'ünde çalışmaya devam eder, ancak daha sonra onu öldürdüğümde, her seferinde "normal" yaklaşık% 0.0 ila 0.1'e geri döner. Bu nedenle, bazen evde açtığımda girişler hakkındaki bilgileri işlemeye çalıştığını düşünüyorum. Ancak meşgul ağdayken öldürdüğümde, genellikle hemen% 100'e geri döner. Image Capture'da gösterilen tarayıcı sayısı düştüğünde (genellikle yapar, ancak bir nedenden dolayı periyodik olarak yükselir), icdd sonunda yerleşecektir. İkincisi, deviceInfoCache.plist dosyasını silmek, girişlerin sayısı tekrar birikinceye kadar icdd'nin kısa bir süre için makul bir şekilde davranmasına neden olur. İcdd'nin bu girişlerin bir kopyasını bellekte sakladığını unutmayın, bu nedenle dosyayı kullanıcı hesabından silerseniz, icdd hemen hemen yeniden yazar. Ve tabi ki, icdd dosyasını silmek için yeterince uzun süre öldüremezsiniz, bu nedenle oturumu kapatıp terminal aracılığıyla başka bir yönetici hesabından silmeniz gerekir. icdd, yeniden oturum açtığınızda dosyayı yeniden oluşturur, ancak nispeten az sayıda girişi olur ve bir süre iyi çalışır.

Ölçekler hakkında bir fikir vermek için, Apple Mühendisleri Image Capture'da 85'e yakın tarayıcının görüntülendiğini görünce şok oldular. Bununla birlikte, genellikle, bu sayı aynı sistemde ve aynı zaman dilimlerinde yaklaşık 6'ya inecektir. DeviceInfoCache.plist dosyası, icdd sorunları olan baktığım sistemlerde 8.000 ila 12.600 girişe sahipti - benimki daha büyük olanı ve ben icdd sorunları yaşadığımdan beri bu eski bir makineden geçtiğine inanıyorum 2016-Aralık'ta yeni MacBook Pro'mu kurduğum andan itibaren. Plist dosyasını sildiğimde, yeni oluşturulan dosyadaki ilk giriş sayısı 44'dü ve birkaç gün boyunca icdd cpu kullanımı% 0.0'a yaklaştı. Ancak, kampüste yaklaşık 5 gün sonra, plist dosyamın 964 girişi var, ve icdd cpu kullanımı üniversitedeki yoğun ağda rutin olarak% 30 ile% 90 arasında sıçrayacaktır. Evde olduğumda, plist dosyası bir gün boyunca giriş sayısını sadece 0 ila 2 oranında artıracaktır. Önceki plist dosyamdaki 12.600 girişten sadece 2 tanesi bir "deviceName" içeriyor, geri kalanı "iconPathLocation" içeriyor ve bunların tümü varolmayan .icns dosyalarını gösteriyor. Geçerli plist ile, hala bir "deviceName" içeren tam olarak 2 giriş vardır ve geri kalanı var olmayan bir "iconPathLocation" içerir. bunların tümü varolmayan .icns dosyalarına işaret eder. Geçerli plist ile, hala bir "deviceName" içeren tam olarak 2 giriş vardır ve geri kalanı var olmayan bir "iconPathLocation" içerir. bunların tümü varolmayan .icns dosyalarına işaret eder. Geçerli plist ile, hala bir "deviceName" içeren tam olarak 2 giriş vardır ve geri kalanı var olmayan bir "iconPathLocation" içerir.

Bu nedenle, kısa vadeli çözüm plist dosyasını kullanıcı hesabınızdan çıkış yaparken terminal aracılığıyla başka bir yönetici hesabından silmektir. Umarım, bu bilgiler şu anda Kıdemli Danışmanımdan Apple Mühendislerine sağlanarak, Apple Mühendisleri icdd'nin neden bu şekilde davrandığını ve sorunu düzeltmek için yeterli bilgiye sahip olacaklar. Elbette, kısa vadeli çözümümü doğrulayabilir ve bulduklarınızı Apple'a bildirmeye devam ederseniz yardımcı olabilir.


İyi giriş, bu icdd'nin nasıl davrandığına dair bazı temel bilgiler verir. Ama ne için? bu simgeler (en azından mevcut simgeler) nerede görüntülenir? Bu icdd hangi işlevden sorumludur? ve .plist dosyalarını sildiğinizde, hangi işlevleri kaybedersiniz? Ayrıca, benim durumumda, aynı Mac'te 5 kullanıcı var ve icdd .plist dosyaları kabul etmiyor, ancak bu icdd'nin zaman zaman çökmesine ve CPU'da çöp ve domuz toplamamasına neden oluyor.
Motti Shneor

@Motti Shneor deviceInfoCache.plist zaman zaman listelenen gerçek bir cihaza sahip olacak ve bence bu amaç. Bence bu, çoğu mevcut olmayan simge-görüntü dosyalarını izlemesine neden olan bir hataydı. Bu benim ilk tahminimdi, ama şimdi bunu daha güvenli bir şekilde söylüyorum çünkü bu plist'in mevcut sürümüne baktığımda, gerçek bir cihaz için tam olarak bir girişi var. Bu nedenle, Apple'ın bunu bazı işletim sistemi sürümlerinde düzelttiğini düşünüyorum (Catalina'dan şüpheleniyorum).
datatoolbox

@Motti Shneor Plist'i silerken, işlevsellikte hiçbir değişiklik fark etmedim - işletim sistemi dosyayı gerektiği kadar yeniden oluşturdu, bu da çok zaman almıyor gibi görünüyor. Her kullanıcının bunun için kendi plist'i vardır ve kasıtlı olarak - bir kullanıcı tarayıcı kullanıyor ve diğeri kullanmıyorsa, plistlerinin bu farkı yansıtmasını beklerim. Bu yüzden farklı kullanıcıların plistlerinin etkileşim etkisi yaratacağından şüpheliyim.
datatoolbox

3

Bir süredir bu sorunla uğraşıyorum ve her yerde kontrol ediyorum! Sinir bozucu ... Sonunda bu aptal deliliği durdurabileceğim bir bağlantı buldum. Sorunun kaynağı olup olmadığından emin değilim ama durdurabilir. İşte adımlar:

1) SIP'yi devre dışı bırak ( bağlantı )

2) aşağıdaki komutları yazın:

cd / Uygulamalar

sudo mv Image \ Capture.app/ Devre Dışı Bırak \ Image \ Capture.app/

cd / Sistem / Kütüphane / Görüntü \ Yakalama / Destek /

sudo mv icdd icdd-devre dışı

3) Yeniden Başlatma

4) önemsiyorsanız SIP'yi etkinleştirin

Orijinal bağlantı: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx

Umarım yardımcı olur.


0

Ben de bu sorunla mücadele ediyorum. Çevrimiçi cevaplar bulamıyorum ve terminalle uğraşmak istemiyorum, Apple Destek'i aradım. Başlangıçta, HD'min bozuk olduğunu düşündüler (düzeltildi ancak sorunu çözmedi). RAM'imi artırdıktan sonra sorun devam etti. Ağ tarayıcısı aramalarıyla ilgili bir internet yorumuyla uyarıldığında, ICDD'nin sadece Wi-Fi etkinleştirildiğinde çıldırdığını fark ettim. Wi-Fi bağlantısı kesilir ve ICDD'den çıkarsam, yeniden başlatılmaz ve RAM veya CPU kullanımında (Wi-Fi yeniden etkinleştirilene kadar) tırmanmaz.

SMC ve NVRAM'ı sıfırlayarak sorunu düzeltmiş gibi görünen Apple Destek'i tekrar aradım. Şimdi ICDD, 10+ GB RAM tüketmek yerine düşük bir seviyede (10-20 MB) çalışır. Bunları yapmak için aşağıya bağlantılar ekledim, ancak sorununuz için Apple Destek'i aramanızı öneriyorum.

Bunun neden olduğuna dair açıklamaları RAM'imin tıkanması veya internet önbellekleriyle dolu olmasıyla ilgiliydi. Neden şimdi belirginleşti ve Sierra ile ilişkili olup olmadığını söyleyemem.

Umarım bu bazı insanlara yardımcı olur!

SMC'yi sıfırla: https://support.apple.com/en-us/ht201295

NVRAM'i sıfırlayın: https://support.apple.com/en-us/ht204063

10-15mins düzeltme.

Benim özellikleri:

  • 2011 başı 13 "MacBook Pro
  • 500 GB Samsung SSD (~ 1.5 yıl önce yükseltildi)
  • 8 GB RAM (~ 1 ay önce yükseltildi)
  • macOS Sierra 10.12.3 (en fazla
  • SAS yazılımı için Windows 10 ile Paralellikler 10

0

Yukarıdaki yanıtlar daha iyi teknik veriler sağlarken, genel bir not eklemek istiyorum.

Muhtemelen, yıllarca eski hataları taşıyan, düzgün bir şekilde test edilmeyen ve muhtemelen asla düzeltilmeyecek berbat bir yazılım parçası. Bu kadar. Son on yılda Apple yazılım mühendisliği sürekli olarak bozuluyor ve bu tür senaryolara her zaman katlanmalıyız.

Genellikle bu tür yazılım parçalarını orijinal durumlarına sıfırlamak (örneğin, önbellekleri silerek ve dosyaları, .plistleri ayarlayarak veya hatta kullanıcı varsayılanlarını sıfırlayarak) sorunu bir süre daha kolaylaştıracaktır.

Başka bir yol, işletim sistemi ile ilgili alt sistemi sıfırlamaktır. Bu durumda, örneğin, yazıcı sistemi tercihleri ​​panelinde sağ tıklamaicdd'nin kafasını bir süre temizleyecek olan "yazdırma sistemini sıfırlamanızı" sağlar - ancak sizi yazdırma ortamınızı yeniden kurmaya zorlar.

Ve elbette, Apple'a yeni RADR girişleri açmak nihayetinde hatalı alt sisteme dikkat çekebilir.

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.