quá trình icdd tiêu thụ bộ nhớ đáng kể trên macOS


13

Trong khoảng một tuần qua, quá trình 'icdd' đã bắt đầu theo thời gian và khi thực hiện, nó sẽ tiêu thụ một lượng lớn RAM (tối đa 7 GB). Khi điều này xảy ra, MacBook Pro của tôi về cơ bản trở nên không hoạt động cho đến khi tôi có thể mở Trình giám sát hoạt động và buộc giết quá trình.

Tôi đã đính kèm ảnh chụp màn hình của màn hình hoạt động hiển thị icdd sử dụng hơn 7GB RAM và khiến áp suất bộ nhớ tăng vọt.

nhập mô tả hình ảnh ở đây

Có ai biết quá trình này là gì hoặc làm thế nào tôi có thể ngăn chặn vấn đề này xảy ra cứ sau 30 phút không?


1
Bạn không phải là người đầu tiên gặp vấn đề này. Xem nếu câu trả lời này giúp: superuser.com/questions/748933/...
NoahL

1
icdd có liên quan đến Image Capture.app/service. Bạn có thiết bị nào như máy quét, máy quét hay máy ảnh đi kèm không?
klanomath

Ngoài ra - nếu bạn đăng xuất và sau đó quay lại - 7.24 được sử dụng (Ứng dụng 1.08, 1.75 có dây. 4.41 được nén) thay đổi như thế nào? Nó có thể là một rò rỉ bộ nhớ đơn giản mà đăng xuất và xóa. Nếu nó không rõ ràng, tôi sẽ thử vô hiệu hóa trình quét vi-rút và khởi động lại và xem liệu bộ nhớ có tăng nhanh không.
bmike

Giải pháp đó không áp dụng được cho vấn đề của tôi. @klanomath Tôi không có thiết bị bên ngoài nào được gắn vào MacBook.
Zach

@Zach lcdd được kiểm soát bởi một tác nhân khởi động. Nó chứa khóa "Bật thoát áp suất" được tắt theo mặc định. Bạn có thể kích hoạt nó tạm thời (= kill lcdd nếu áp suất bộ nhớ tăng cao) và kiểm tra kết quả. Giống như bmike đã đề cập đến lý do thực sự có lẽ là do rò rỉ bộ nhớ ...
klanomath

Câu trả lời:


6

Tôi đã làm việc với một cố vấn kỹ thuật cao cấp tại Apple về vấn đề này trong hơn một năm và đã làm việc với một cố vấn cấp cao khác trong một thời gian trước đó. Chúng tôi đã thực hiện "thu thập dữ liệu" để gửi cho Kỹ sư Apple trong một số trường hợp và thực hiện ghi lại màn hình trong nhiều lần để chứng minh những gì đang diễn ra trong Trình giám sát hoạt động, Chụp ảnh và cuối cùng, trong một trường hợp mà icdd duy trì tại / Users / user_name / Thư viện / Hỗ trợ ứng dụng / icdd / deviceInfoCache.plist (bằng cách hiển thị nó trong Xcode).

Tại thời điểm này, đây là ước tính tốt nhất của tôi về những gì đang xảy ra:

Quá trình icdd (Cơ sở dữ liệu thiết bị chụp ảnh) thấy các máy quét đến và đi trên một mạng bận rộn. Nó cố gắng giữ một danh sách các tệp biểu tượng của chúng trong một bảng băm, nó cũng ghi vào tệp deviceInfoCache.plist được đề cập ở trên. Có - điều này nghe có vẻ điên rồ - nó đang giữ các tham chiếu đến các tệp biểu tượng của máy quét. Nhưng thậm chí điên rồ hơn là, vì một số lý do, gần như tất cả các mục trong tệp này đều trỏ đến các tệp .icns không tồn tại. Trong một số hệ thống tôi đã xem, đã có hàng ngàn mục trong tệp, nhưng chỉ có một vài tệp .icns tồn tại trên một trong các máy và không có mục nào tồn tại trên các máy khác. Tôi tin rằng khi tệp này lớn, icdd sẽ mất rất nhiều thời gian để cố gắng kiểm tra sự tồn tại của các mục trong tệp .plist và sửa đổi tệp. Tôi tin điều này vì hai lý do. Đầu tiên, khi tôi mang laptop về nhà, quá trình icdd đôi khi tiếp tục chạy ở khoảng 100% CPU, nhưng khi tôi giết nó, nó sẽ quay trở lại mức "bình thường" khoảng 0,0 đến 0,1% mỗi lần. Do đó, tôi nghĩ rằng đôi khi vẫn cố gắng xử lý thông tin về các mục khi tôi mở nó ở nhà. Nhưng khi tôi giết nó trong khi trên mạng bận rộn, nó thường quay lại gần 100% ngay lập tức. Khi số lượng máy quét hiển thị trong Image Capture giảm xuống (điều này thường làm, nhưng sẽ tăng đột biến theo định kỳ vì một số lý do), icdd cuối cùng sẽ ổn định. Và thứ hai, xóa tệp deviceInfoCache.plist khiến icdd hoạt động hợp lý trong một thời gian ngắn - cho đến khi số lượng mục nhập được xây dựng lại. Lưu ý rằng icdd duy trì một bản sao của các mục này trong bộ nhớ, vì vậy nếu bạn xóa tệp khỏi tài khoản người dùng, icdd chỉ cần viết lại nó ngay lập tức. Và tất nhiên, bạn không thể giết icdd đủ lâu để xóa tệp, vì vậy bạn phải đăng xuất và xóa tệp khỏi tài khoản quản trị viên khác qua thiết bị đầu cuối. icdd sẽ tạo lại tập tin khi bạn đăng nhập lại, nhưng nó sẽ có tương đối ít mục và hoạt động tốt trong một thời gian.

Để đưa ra một số ý tưởng về quy mô, Apple Engineers đã bị sốc khi thấy rằng tôi có tới 85 máy quét hiển thị trong Image Capture. Tuy nhiên, thường thì con số này sẽ ổn định xuống còn khoảng 6 trên cùng một hệ thống và trong cùng một khung thời gian. Tệp deviceInfoCache.plist đã có từ 8.000 đến 12.600 mục trên các hệ thống mà tôi đã xem có vấn đề về icdd - của tôi là lớn hơn và tôi tin rằng điều này đã được chuyển từ một máy cũ hơn vì tôi gặp vấn đề về icdd kể từ thời điểm tôi thiết lập MacBook Pro mới vào năm 2016-tháng 12. Khi tôi xóa tệp plist, số lượng mục nhập ban đầu trong tệp mới được tạo là 44 và trong vài ngày, việc sử dụng cpu icdd đã lơ lửng gần 0,0%. Tuy nhiên, sau khoảng 5 ngày trong khuôn viên trường, tập tin plist của tôi có 964 lượt đăng ký, và việc sử dụng cpu icdd sẽ thường xuyên bị trả lại từ 30% đến 90% trên mạng bận rộn tại trường đại học. Khi tôi ở nhà, tập tin plist sẽ chỉ tăng số lượng mục nhập của nó lên 0 đến 2 trong suốt một ngày. Trong số 12.600 mục trong tệp plist trước đây của tôi, chỉ có 2 trong số chúng chứa "deviceName", phần còn lại chứa "iconPathLocation", tất cả đều trỏ đến các tệp .icns không tồn tại. Với số nguyên hiện tại, vẫn còn chính xác 2 mục chứa "deviceName" và phần còn lại chứa "iconPathLocation" không tồn tại. tất cả đều trỏ đến các tệp .icns không tồn tại. Với số nguyên hiện tại, vẫn còn chính xác 2 mục chứa "deviceName" và phần còn lại chứa "iconPathLocation" không tồn tại. tất cả đều trỏ đến các tệp .icns không tồn tại. Với số nguyên hiện tại, vẫn còn chính xác 2 mục chứa "deviceName" và phần còn lại chứa "iconPathLocation" không tồn tại.

Vì vậy, giải pháp ngắn hạn là xóa tệp plist khỏi tài khoản quản trị viên khác qua thiết bị đầu cuối trong khi đăng xuất khỏi tài khoản người dùng của bạn. Hy vọng rằng, với thông tin này hiện được cung cấp cho Apple Engineers từ Cố vấn cao cấp của tôi, Apple Engineers sẽ có đủ thông tin để tìm hiểu tại sao icdd lại hành động theo cách này và khắc phục vấn đề. Tất nhiên, nó có thể sẽ hữu ích nếu bạn có thể xác minh giải pháp ngắn hạn của tôi và tiếp tục báo cáo những gì bạn tìm thấy cho Apple.


Mục nhập tốt, điều đó mang lại cho một số hiểu biết sâu sắc về cách thức hoạt động của icdd. Nhưng nó để làm gì? những biểu tượng này (ít nhất là những biểu tượng hiện có) được hiển thị ở đâu? Chức năng này icdd chịu trách nhiệm? và khi bạn xóa các tệp .plist, bạn mất chức năng gì? Ngoài ra, trong trường hợp của tôi, có 5 người dùng trên cùng một máy Mac và các tệp icdd .plist của họ KHÔNG đồng ý, nhưng điều đó khiến icdd thỉnh thoảng gặp sự cố và không thu thập rác và hog trên CPU.
Motti Shneor

@Motti Shneor Thiết bịInfoCache.plist thỉnh thoảng sẽ có một thiết bị thực tế được liệt kê trong đó và tôi nghĩ đây là mục đích đã định. Tôi nghĩ rằng đó là một lỗi khiến nó theo dõi các tệp hình ảnh biểu tượng - hầu hết trong số đó không tồn tại. Đây là dự đoán ban đầu của tôi, nhưng tôi nói điều này với sự tự tin hơn bây giờ bởi vì nhìn vào phiên bản hiện tại của bản này, nó có chính xác một mục, dành cho một thiết bị thực tế. Do đó, tôi nghĩ Apple đã sửa lỗi này ở một số phiên bản HĐH (tôi nghi ngờ ở Catalina).
datatoolbox

@Motti Shneor Khi xóa phần mềm, tôi không bao giờ nhận thấy bất kỳ thay đổi nào về chức năng - HĐH chỉ cần xây dựng lại tệp khi cần, điều này dường như không mất nhiều thời gian. Mỗi người dùng đều có ý định riêng của họ cho việc này và cố ý như vậy - nếu một người dùng sử dụng máy quét còn người khác thì không, tôi sẽ mong đợi ý kiến ​​của họ phản ánh sự khác biệt này. Vì vậy, tôi nghi ngờ những người dùng khác nhau sẽ có hiệu ứng tương tác.
datatoolbox

3

Tôi đã xử lý vấn đề này được một thời gian và đã kiểm tra khắp nơi! Thật là bực bội ... Cuối cùng tôi đã tìm thấy một liên kết mà tôi có thể ngăn chặn sự điên rồ ngu ngốc này. Tôi không chắc đây có phải là nguồn gốc của vấn đề không nhưng nó có thể ngăn chặn nó. Dưới đây là các bước:

1) vô hiệu hóa SIP ( liên kết )

2) gõ các lệnh sau:

cd / Ứng dụng

sudo mv Image \ Capture.app/ Vô hiệu hóa \ Image \ Capture.app/

cd / Hệ thống / Thư viện / Hình ảnh \ Chụp / Hỗ trợ /

sudo mv icdd icdd-vô hiệu hóa

3) khởi động lại

4) kích hoạt SIP nếu bạn quan tâm

Liên kết gốc: https://havecamerawilltravel.com/phOWN/prevent-photos-app-mac-osx

Hy vọng nó sẽ giúp.


0

Tôi cũng đang vật lộn với vấn đề này. Không tìm thấy câu trả lời trực tuyến và không muốn gây rối với thiết bị đầu cuối, tôi đã gọi cho bộ phận Hỗ trợ của Apple. Ban đầu, họ nghĩ rằng HD của tôi bị hỏng (đó là - đã được sửa nhưng không khắc phục được vấn đề). Vấn đề vẫn tồn tại sau khi tăng RAM của tôi. Được thúc đẩy bởi một bình luận trên internet liên quan đến các tìm kiếm của máy quét mạng, tôi nhận thấy rằng ICDD sẽ chỉ nổi điên khi bật Wi-Fi. Nếu tôi ngắt kết nối wi-Fi và thoát khỏi ICDD, nó sẽ không khởi động lại và tăng tốc độ sử dụng RAM hoặc CPU (cho đến khi Wi-Fi được bật lại).

Tôi đã gọi cho bộ phận Hỗ trợ của Apple một lần nữa, người dường như đã khắc phục vấn đề bằng cách đặt lại SMC và NVRAM. Bây giờ, ICDD chạy ở mức thấp (10-20 MB) thay vì tiêu thụ hơn 10 GB RAM. Tôi đã thêm các liên kết bên dưới để thực hiện những điều đó, nhưng tôi khuyên bạn nên gọi Hỗ trợ của Apple cho vấn đề cụ thể của bạn.

Lời giải thích của họ về lý do tại sao điều này xảy ra phải làm cho RAM của tôi bị tắc hoặc đầy bộ nhớ cache trên internet, v.v ... Tại sao nó lại trở nên rõ ràng và liệu nó có liên quan đến Sierra hay không, tôi không thể nói.

Tôi hy vọng điều này sẽ giúp một số người!

Đặt lại SMC: https://support.apple.com/en-us/ht201295

Đặt lại NVRAM: https://support.apple.com/en-us/ht204063

Sửa chữa 10 - 15 phút.

Thông số kỹ thuật của tôi:

  • đầu năm 2011 13 "MacBook Pro
  • SSD Samsung 500 GB (đã nâng cấp ~ 1,5 năm trước)
  • RAM 8 GB (đã nâng cấp ~ 1 tháng trước)
  • macOS Sierra 10.12.3 (tối đa
  • Song song 10 với Windows 10 cho phần mềm SAS

0

Mặc dù các câu trả lời ở trên cung cấp dữ liệu kỹ thuật tốt hơn, tôi muốn thêm một ghi chú chung.

Những gì chúng ta đang đối phó có lẽ là một phần mềm tệ hại, mang những lỗi cũ trong nhiều năm, không được kiểm tra đúng cách và có lẽ sẽ không bao giờ được sửa chữa. Đó là tất cả. Trong thập kỷ qua, công nghệ phần mềm của Apple đang xuống cấp một cách liên tục và chúng ta phải luôn luôn đưa ra những kịch bản như vậy.

Thông thường đặt lại các phần mềm như vậy về trạng thái ban đầu của chúng (giả sử bằng cách xóa bộ nhớ cache và cài đặt tệp, .plists hoặc thậm chí đặt lại mặc định người dùng của chúng) sẽ giảm bớt vấn đề trong một thời gian.

Một cách khác là thiết lập lại hệ thống con liên quan đến hệ điều hành. Ví dụ, trong trường hợp này, nhấp chuột phải trong bảng tùy chọn hệ thống máy insẽ cho phép bạn "đặt lại hệ thống in", điều này có thể sẽ xóa đầu icdd trong một thời gian - nhưng sẽ buộc bạn phải thiết lập lại môi trường in của mình.

Và tất nhiên, việc mở các mục RADR mới cho Apple cuối cùng có thể khiến họ chú ý đến hệ thống con bị lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.