macOS에서 상당한 메모리를 소비하는 icdd 프로세스


13

지난 주 정도에 프로세스 'icdd'는 때때로 시작되어 왔으며 대량의 RAM (7GB 이상)을 소비합니다. 이런 일이 발생하면 활동 모니터를 열고 프로세스를 강제 종료 할 수있을 때까지 MacBook Pro가 기본적으로 작동하지 않습니다.

7GB 이상의 RAM을 사용하여 icdd를 표시하고 메모리 압력을 급상승시키는 활동 모니터의 스크린 샷을 첨부했습니다.

여기에 이미지 설명을 입력하십시오

이 프로세스가 무엇인지 또는 30 분마다이 문제가 발생하지 않도록하는 방법을 아는 사람이 있습니까?


1
이 문제를 겪은 첫 번째 사람이 아닙니다. 이 답변이 도움이되는지 확인하십시오 : superuser.com/questions/748933/…
NoahL

1
icdd는 Image Capture.app/service와 관련이 있습니다. 스캐너, 프린터 스캐너 또는 카메라와 같은 장치가 연결되어 있습니까?
klanomath

또한-로그 아웃했다가 다시 로그인하면 사용 된 7.24 (1.08 앱, 1.75 유선 4.41 압축)가 어떻게 변경됩니까? 로그 아웃하고 지우는 단순한 메모리 누수 일 수 있습니다. 그것이 확실하지 않으면 바이러스 스캐너를 비활성화하고 재부팅하고 메모리가 빨리 올라가는 지 확인하려고합니다.
bmike

그 해결책은 내 문제에 적용되지 않았습니다. @klanomath MacBook에 연결된 외부 장치가 없습니다.
Zach

@Zach lcdd는 시작 에이전트에 의해 제어됩니다. "압력 출구 활성화"키가 기본적으로 비활성화되어 있습니다. 일시적으로 활성화 (= 메모리 압력이 높아지면 lcdd 종료) 결과를 확인할 수 있습니다. bmike가 이미 언급 한 것처럼 실제 이유는 아마도 메모리 누수 일 것입니다.
klanomath

답변:


6

저는이 문제에 대해 Apple의 선임 기술 고문과 1 년 이상 협력 해 왔으며 그 전에 얼마 동안 다른 선임 고문과 협력하고있었습니다. 우리는 여러 차례에 걸쳐 Apple 엔지니어에게 보내기 위해 "데이터 캡처"를 수행했으며, 여러 차례에 걸쳐 Activity Monitor, 이미지 캡처에서, 그리고 icdd가 / Users / user_name에서 유지 관리하는 plist에서 진행중인 작업을 보여주기 위해 화면 녹화를 수행했습니다. / Library / Application Support / icdd / deviceInfoCache.plist (Xcode로 표시)

이 시점에서 무슨 일이 일어나고 있는지에 대한 가장 좋은 추정치는 다음과 같습니다.

icdd (Image Capture Device Database) 프로세스는 스캐너가 사용중인 네트워크에오고가는 것을 확인합니다. 아이콘 파일 목록을 해시 테이블에 유지하려고 시도하며 위에서 언급 한 deviceInfoCache.plist 파일에도 씁니다. 그렇습니다-이것은 미친 듯이 들립니다-스캐너의 아이콘 파일에 대한 참조를 유지합니다. 그러나 어떤 이유로 든이 파일의 거의 모든 항목이 존재하지 않는 .icns 파일을 가리키고 있다는 것은 더욱 미묘합니다. 내가 본 여러 시스템 중 파일에 수천 개의 항목이 있었지만 일부 .icns 파일 만 시스템 중 하나에 존재했지만 다른 시스템에는 존재하지 않았습니다. 이 파일이 커지면 icdd는 .plist 파일에 항목이 있는지 확인하고 파일을 수정하는 데 많은 시간을 소비한다고 생각합니다. 나는 두 가지 이유로 이것을 믿는다. 먼저 노트북을 집으로 가져 가면 icdd 프로세스는 때때로 CPU의 약 100 %에서 계속 실행되지만, 죽일 때마다 매번 약 0.0에서 0.1 %로 "정상"으로 돌아갑니다. 따라서 집에서 열 때 항목에 대한 정보를 처리하려고 시도하는 경우가 종종 있습니다. 그러나 사용량이 많은 네트워크에서 중단하면 즉시 100 % 가까이 돌아옵니다. 이미지 캡처에 표시된 스캐너 수가 줄어들면 (자주 발생하지만 어떤 이유로 주기적으로 급증) icdd는 결국 중단됩니다. 둘째, deviceInfoCache.plist 파일을 삭제하면 항목 수가 다시 누적 될 때까지 icdd가 잠시 동안 합리적으로 동작합니다. icdd는 이러한 항목의 사본을 메모리에 유지하므로 사용자 계정에서 파일을 삭제하면 icdd가 즉시 다시 씁니다. 그리고 물론 파일을 삭제하기에 충분한 시간 동안 icdd를 종료 할 수 없으므로 터미널을 통해 다른 관리자 계정에서 파일을 로그 아웃하고 삭제해야합니다. icdd는 다시 로그인 할 때 파일을 다시 만들지 만 항목이 비교적 적고 잠시 동안 제대로 작동합니다.

스케일에 대한 아이디어를주기 위해 Apple 엔지니어들은 Image Capture에 85 대의 스캐너가 표시되는 것을보고 충격을 받았습니다. 그러나 종종이 숫자는 동일한 시스템과 동일한 기간에 약 6으로 설정됩니다. deviceInfoCache.plist 파일에는 icdd 문제가있는 것으로 보았던 시스템에서 8,000에서 12,600 사이의 항목이 있습니다. 2016 년 12 월에 새로운 MacBook Pro를 설치 한 시점부터 plist 파일을 삭제했을 때 새로 생성 된 파일의 초기 항목 수는 44 개였으며 며칠 동안 icdd cpu 사용량은 0.0 %에 가깝습니다. 그러나 캠퍼스에서 약 5 일이 지난 후 plist 파일은 전체 964 개를 갖습니다. icdd cpu 사용량은 대학의 바쁜 네트워크에서 30 %에서 90 % 사이에서 정기적으로 바운스됩니다. 집에있을 때 plist 파일은 하루 동안 항목 수를 0에서 2까지만 증가시킵니다. 이전 plist 파일의 12,600 개 항목 중 2 개만 "deviceName"을 포함하고 나머지는 "iconPathLocation"을 포함하며 존재하지 않는 .icns 파일을 가리 킵니다. 현재 plist에는 여전히 "deviceName"을 포함하는 2 개의 항목이 있으며 나머지는 존재하지 않는 "iconPathLocation"을 포함합니다. 존재하지 않는 .icns 파일을 가리 킵니다. 현재 plist에는 여전히 "deviceName"을 포함하는 2 개의 항목이 있으며 나머지는 존재하지 않는 "iconPathLocation"을 포함합니다. 존재하지 않는 .icns 파일을 가리 킵니다. 현재 plist에는 여전히 "deviceName"을 포함하는 2 개의 항목이 있으며 나머지는 존재하지 않는 "iconPathLocation"을 포함합니다.

따라서 단기 솔루션은 사용자 계정에서 로그 아웃 한 상태에서 터미널을 통해 다른 관리자 계정에서 plist 파일을 삭제하는 것입니다. 이 정보가 선임 고문으로부터 Apple 엔지니어에게 제공되면 Apple 엔지니어는 왜 icdd가 이런 식으로 행동하고 문제를 해결하는지 파악할 수있는 충분한 정보를 갖게 될 것입니다. 물론 단기 솔루션을 확인하고 찾은 내용을 Apple에 계속보고하면 도움이 될 것입니다.


icdd의 작동 방식에 대한 이해를 돕기위한 좋은 입장입니다. 그러나 무엇입니까? 이 아이콘 (적어도 기존 아이콘)은 어디에 표시됩니까? 이 icdd가 담당하는 기능은 무엇입니까? .plist 파일을 삭제하면 어떤 기능이 손실됩니까? 또한 제 경우에는 같은 Mac에 5 명의 사용자가 있으며 icdd .plist 파일이 동의하지 않지만 icdd가 때때로 충돌하여 CPU에서 쓰레기와 돼지를 수집하지 않습니다.
Motti Shneor

@Motti Shneor deviceInfoCache.plist 에는 때때로 실제 장치가 나열되어 있으며 이것이 의도 된 목적이라고 생각합니다. 아이콘 이미지 파일을 추적하게 만드는 버그라고 생각합니다. 대부분 존재하지 않는 파일입니다. 이것은 나의 초기 추측 이었으나, 현재이 plist의 현재 버전을 보면 정확히 하나의 항목을 가지고 있기 때문에 더 확실하게 이것을 말할 수 있습니다. 이것은 실제 장치를위한 것입니다. 따라서 Apple이 일부 OS 버전 에서이 문제를 해결했다고 생각합니다 (Catalina에서 의심됩니다).
datatoolbox

@Motti Shneor plist를 삭제할 때, 기능상의 변화를 전혀 느끼지 못했습니다. OS는 필요에 따라 파일을 다시 작성했기 때문에 시간이 많이 걸리지 않습니다. 모든 사용자는 이것에 대한 자신의 plist를 가지고 있으며 의도적으로 그렇게합니다. 한 사용자가 스캐너를 사용하고 다른 사용자는 스캐너를 사용하지 않으면 plist가이 차이를 반영 할 것으로 기대합니다. 따라서 다른 사용자의 plist가 상호 작용 효과를 가질 지 의심됩니다.
datatoolbox

3

나는이 문제를 잠시 동안 다루어 왔으며 모든 곳에서 확인하고 있습니다! 실망 스럽습니다 ... 마침내 나는이 바보 같은 광기를 막을 수있는 링크를 발견했습니다. 이것이 문제의 원인인지 확실하지 않지만 중지 할 수 있습니다. 단계는 다음과 같습니다.

1) SIP 비활성화 ( 링크 )

2) 다음 명령을 입력하십시오.

CD / 응용 프로그램

sudo mv Image \ Capture.app/ Disable \ 이미지 \ Capture.app/

cd / 시스템 / 라이브러리 / 이미지 \ 캡처 / 지원 /

sudo mv icdd icdd-disable

3) 재부팅

4) 관심이 있다면 SIP를 활성화하십시오.

원본 링크 : https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx

잘하면 도움이됩니다.


0

나는이 문제로 어려움을 겪고있다. 온라인으로 답변을 찾지 못하고 터미널을 엉망으로 만들고 싶지 않다고 Apple 지원에 문의했습니다. 처음에 그들은 내 HD가 손상되었다고 생각했습니다 (고정되었지만 문제는 해결되지 않았습니다). RAM을 늘린 후에도 문제가 지속되었습니다. 네트워크 스캐너 검색에 관한 인터넷 의견에 따라 Wi-Fi가 활성화 된 경우에만 ICDD가 열광 할 것임을 알았습니다. Wi-Fi에서 연결을 끊고 ICDD를 종료하면 RAM 또는 CPU 사용이 다시 시작되고 올라가지 않습니다 (Wi-Fi가 다시 활성화 될 때까지).

SMC와 NVRAM을 재설정하여 문제를 해결 한 것 같습니다. 이제 ICDD는 10GB 이상의 RAM을 사용하지 않고 낮은 수준 (10-20MB)으로 실행됩니다. 이러한 작업을 수행하기 위해 아래 링크를 추가했지만 특정 문제에 대해서는 Apple 지원 센터에 문의하는 것이 좋습니다.

왜 이런 일이 발생했는지에 대한 그들의 설명은 RAM이 막히거나 인터넷 캐시 등으로 가득 차는 것과 관련이 있습니다. 왜 지금은 명백 해졌고 그것이 Sierra와 관련이 있는지 여부는 말할 수 없습니다.

이것이 일부 사람들에게 도움이되기를 바랍니다!

SMC 재설정 : https://support.apple.com/en-us/ht201295

NVRAM 재설정 : https://support.apple.com/en-us/ht204063

10-15 분 수정.

내 사양 :

  • 2011 년 초 13 "MacBook Pro
  • 500GB Samsung SSD (약 1.5 년 전에 업그레이드)
  • 8GB RAM (~ 1 개월 전에 업그레이드)
  • macOS Sierra 10.12.3 (최대
  • SAS 소프트웨어 용 Windows 10이 포함 된 Parallels 10

0

위의 답변이 더 나은 기술 데이터를 제공하지만 일반적인 참고 사항을 추가하고 싶습니다.

우리가 다루는 것은 아마도 수 년 동안 오래된 버그를 가지고 있고 제대로 테스트되지 않았으며 결코 고쳐지지 않을 소프트웨어의 엉뚱한 부분 일 것입니다. 그게 다야. 지난 10 년 동안 애플 소프트웨어 엔지니어링은 지속적으로 악화되고 있으며, 우리는 항상 이러한 시나리오를 따라야합니다.

일반적으로 이러한 소프트웨어 조각을 원래 상태로 재설정하면 (예 : 캐시를 삭제하고 파일, .plists를 설정하거나 사용자 기본값을 재설정하여) 문제가 한동안 완화됩니다.

다른 방법은 OS 관련 서브 시스템을 재설정하는 것입니다. 예를 들어,이 경우 프린터 시스템 환경 설정 패널에서 마우스 오른쪽 버튼을 클릭"인쇄 시스템을 재설정"하면 icdd의 헤드가 잠시 동안 지워지지 만 인쇄 환경을 다시 설정해야합니다.

물론 Apple에 새로운 RADR 항목을 열면 결국 결함이있는 하위 시스템에주의를 기울일 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.