2015-01-15 1 views
0

최근 리눅스에서 상태 D에 몇 가지 문제가있었습니다.리눅스 프로세스가 상태 D에서 죽임

나는 어떤 신호를 사용해서도 그들을 죽일 수 없었고, 이후로 이것은 이 전혀 가능하지 않다는 것을 알게되었습니다.

내 질문은 다음과 같습니다

그때는 CPU에 프로세스를 핀,하고 taskset를 사용하는 경우가

/sys/devices/system/cpuX/online,

은 어떻게 든 것을 재조정에서 스케줄러를 방지 할 수 있습니다 사용하여 해당 코어를 비활성화합니다 (정지 된) 상태 -D 프로세스을 여전히 사용 가능한 CPU 인 에로드하면 결국 강제로 종료됩니다.

안부,

스테판

답변

1

웰, D 상태의 처리를 예정하지 않는다. 스케줄러는이를 건너 뛰기 때문에 대기중인 프로세스, 일반적으로 I/O 이벤트에서 자원을 낭비하지 않습니다. 하지만 여전히 흥미로운 질문입니다. 이것에 대한 기술적 인 설명을 듣고 싶습니다.

+0

고마워요! 음. taskset을 통해 선호도를 변경하면 허용 된 CPU 목록이 변경되었습니다. 이것은 스케줄러 코드를 통해 수행되지 않습니까? – user2095033

+0

솔직히 말해서, 나는 모른다. 그러나 재미있는 질문입니다. 나는 그것을 찾아보고 대답을 해보려고 노력할 것입니다. – Alex

관련 문제