나는 매일 프로그램을 작성합니다. 하지만 너무 까다로운 작업(예: 멀티스레드 컴파일)을 시도할 때마다 높은 CPU 사용량으로 인해 시스템이 잠길 수 있다고 생각합니다. 평범한 일을 전혀 하지 않는데도 내 언어 서버는 CPU를 너무 많이 사용하여 전체 시스템을 정지시킵니다.
이런 일이 발생하지 않도록 할 수 있나요? 이런 일이 발생하면 어떻게 해야 없앨 수 있나요? 이런 일이 발생하면 일반적으로 컴퓨터를 다시 시작해야 하며 그 과정에서 일부 작업이 손실됩니다.
답변1
CPU 요구 사항이 더 높은 프로세스는 nice
d 또는 reniced
d일 수 있습니다. 후자는 이미 실행 중인 프로세스에 적용됩니다. 이로 인해 CPU가 필요한 다른 프로세스의 우선 순위가 결정됩니다.
nice
디스크 IO나 메모리(ab) 사용자에게는 아무런 영향이 없을 것 같습니다 . 시스템 사용의 이러한 측면을 제한하는 것은 가능하지만 보다 정교한 도구인 cgroups 프레임워크가 필요합니다.