리눅스 서버내 여러 프로그램을 돌릴때 과부하는 어떤이유에서 오는건가요?
글쓴이: scc6920 / 작성시간: 토, 2018/04/14 - 2:20오후
간단한 정렬 코드(merge, quick)를 여러 상황에서 돌려 분석하는 과제를 하고 있습니다.
그중에 리눅스 서버 내에서 사용자 여러명이 정렬을 할때 늘어나는 시간에 따른 분석을 하고있는데요
(서버는 16스레드이고 돌리는 코드는 스레드1개일때 / 스레드 16개일때 입니다)
물론 여러 프로그램을 돌리면 cpu에 과부하가 일어나서 시간이 늘어난다는것은 당연히 알지만
구체적으로 왜 그런일이 발생하는지에 대해 정확한 이유가 궁금합니다.
Forums:
CPU 를 20% 만 쓰는 프로그램 다섯 개가 돈다면
CPU 를 20% 만 쓰는 프로그램 다섯 개가 돈다면 얼마가 됐든 제시간에 끝나겠지만,
여섯개가 돈다면... CPU 에 20% 과부하가 걸리는 게 아니라 프로램별 완료 시간이 각각 20% 씩 더 걸립니다.
CPU 는 언제나 100% 부하이고, 정말 아무런 할 일이 없을 때의 idle 을 구현하기 위해 halt/wfi 같은 걸 동원해서 강제로 재우죠.
댓글 달기