‘fseventsd’프로세스가 CPU를 낭비하는 이유를 추적하는 방법이 있습니까? CPU와 1.5G RAM을 사용하고 있음을

Mac OSX 10.6을 실행하고 ‘fseventsd’프로세스가 100 % CPU와 1.5G RAM을 사용하고 있음을 알았습니다. Google 검색을 수행하면 Time Machine과 관련이 있음을 알았습니다. 그러나이 컴퓨터에서 Time Machine을 실행하지 않습니다.

자원 돼지의 출처를 추적하는 방법이 있습니까? 어디서나 기록됩니까? 다시 시작하면 문제가 ‘수정’되었으나 처음 시작한 이유를 알 수 없으면 다시 올 것입니다.

미리 감사드립니다.



답변

fseventd는 파일 시스템 이벤트 로깅 프로세스이며 Mac OS X Leopard의 ars technica 검토에서 이에 대해 많은 내용을 읽을 수 있습니다. fseventer 와 같은 프로그램을 사용 하여 동일한 종류의 출력을 볼 수 있습니다.

기사에서 :

FSEvents 프레임 워크는 / dev / fsevents에서 읽고 이벤트를 디스크의 로그 파일에 기록하는 fseventsd라는 하나의 지속적으로 실행되는 데몬 프로세스에 의존합니다 (이벤트가있는 볼륨의 루트에서 .fseventsd 디렉토리에 저장 됨). 그게 다야. 이것이 바로 최첨단 솔루션입니다. 이벤트를 로그 파일에 쓰십시오. 지루하고 실용적이지만 매우 효과적입니다.

로그가 얼마나 유용한 지 모르겠지만 로그를 확인할 수 있습니다. fsevents에 일부 문제를 일으킬 수있는 많은 파일, 때로는 많은 작은 파일을 처리하는 Time Machine을보고 놀란 것은 아닙니다.


답변

하나의 프로그램이 매우 효율적인 루프 쓰기 변경 사항으로 인해 fseventsd많은 작업이 발생했거나 마운트 된 볼륨 중 하나에서 해결할 수없는 데이터 구조를 처리하는 무한 루프 자체입니다.

이전의 경우 동일한 데이터 스트림을 읽는 fseventer와 같은 프로그램도 중단 될 수 있습니다. 이제 50 % 활용률에서 무한한 양의 데이터를 처리하는 두 개의 프로세스가 있습니다. (이것이 무엇을보고 싶을 때 파고 들면 훌륭한 데이터 포인트입니다.) 왜 syslogd모든 CPU를 가져 가고 있는지 묻는 질문에 비유 할 수 있습니다. 보통 많은 다른 프로그램으로 인해 많은 작업이 발생합니다.

다시 발생하는 경우-프로그램 종료를 시작하고 로그 아웃하십시오. 문제의 항목이 시스템 레벨 프로세스인지 사용자 레벨 프로세스인지 알 수 있습니다. fs_usageIO가 많은 특정 프로그램을 확인하는 데 유용 할 수 있습니다.

fsck 부팅에서 단일 사용자 모드로의 전환은 일반적으로 순환 하드 링크 또는 이와 같은 종류의 활동을 유발할 수있는 기타 퇴화 파일 시스템 보안 사용자가있는 경우에 필요합니다.