it-swarm-ko.tech

ureadahead는 부팅시 시스템을 차단하는 것 같습니다

bootcharts를 살펴 봤는데 문제가있는 것 같습니다. ureadahead 프로세스는 수행 할 작업 (디스크 사용률은 대부분 100 %)을 수행하지만 다른 작업도 차단합니다.

속도가 느린 랩탑 하드 드라이브가 있으므로 ureadahead 자체는 부팅 시간의 ~ 50s를 차지합니다. 그런 다음 나머지 보이는 부팅 순서는 많은 CPU를 사용하지만 최대 한도를 초과하지 않고 IO (거의 100 % 거의 항상) 인 다른 100을 완료하는 데 걸립니다.

이것은 나에게 이상하게 보인다. 내 ureadahead이 (가) 잘못 구성 되었습니까? CPU를 많이 사용하는 것으로 보이는 네트워크 가동과 같은 작업을 차단하는 이유는 무엇입니까? 부팅 차트 시간의 일반적으로 ~ 50 %가 걸리나요?

편집 : 부팅 차트 예는 다음과 같습니다. http://img191.imageshack.us/img191/1049/localhostkarmic20100815.png (또는 직접 부팅이 작동하지 않는 경우 : http : //yfrog.com/f/5blocalhostkarmic20100815p/ )

5
viraptor

부팅 차단은 의도적으로 설계된 것입니다. 요소의 요점은 부팅에 필요한 모든 데이터를 미리로드하는 것입니다. 이렇게하는 이유는 디스크 속도 저하의 주요 원인은 탐색 시간이기 때문입니다. 심지어 느린 하드 드라이브에서도 50MB/초 이상을 읽을 수는 있지만 수십에서 밀리 초 탐색 당-그것은 극적으로 감소합니다. 미리 실행하면 ureadahead는 검색을 최소화하여 부팅에 필요한 모든 데이터를 읽는 데 필요한 시간을 최소화 할 수 있어야합니다.

그래서 이상 부트 차트는 100 % I/O 사용률에서 우레아 헤드처럼 보이고, 시작하지 않고 (디스크) I/O를 사용하는 다른 모든 것이 뒤 따릅니다. 이 부팅은 실제로 우리가 시작하는 많은 서비스가 디스크에 기록하기 때문에 실제로 달성 할 수는 없지만 그 아이디어입니다.

부트 차트를 보면 실제로 디스크에서 데이터를 가져 오는 데 어려움을 겪고있는 것으로 보입니다. 처리량이 매우 적은 시간이 많이 있습니다. 그럼에도 불구하고, 일부 작업을 수행하는 것처럼 보입니다. 요소가 시작된 후 부팅은 I/O 바인딩이 아닌 대부분 CPU 바인딩이며 I/O 바인딩 부팅의 큰 패치는 preload 발사.

preload을 (를) 제거하거나 부팅 프로파일을 재조정하려고하거나 파일 중 일부가 매우 조각화되었거나 우레아 헤드의 버그 일 수 있습니다.

1 :/var/lib/ureadahead에서 pack 파일을 제거하면 다음 부팅시 ureadahead의 프로필이 변경됩니다.

4
RAOF