관심 있는 프로세스가 CPU를 점유할 수 있도록 관련되지 않은 다른 프로세스를 일시 중단하는 방법은 무엇입니까?

관심 있는 프로세스가 CPU를 점유할 수 있도록 관련되지 않은 다른 프로세스를 일시 중단하는 방법은 무엇입니까?

~하는 것이 가능하니

  • 먼저 관심 있는 프로세스를 실행하는 데 어떤 프로세스가 필요한지 알아보고
  • 그런 다음 관심 있는 프로세스가 CPU를 최대한 많이 사용할 수 있도록 관련되지 않은 다른 모든 프로세스를 일시 중지합니다.
  • 관심 있는 프로세스의 실행이 끝나면 일시 중지된 프로세스를 재개하시겠습니까?

예를 들어, 관심 있는 프로세스는 djview입니다.

감사해요.

답변1

영구적인 연결이 있다면 (적어도 많은 경우에) 가능합니다. 그런 다음 소켓과 FIFO(일반 파일을 사용하는 경우 더 어려움)를 확인 /proc/PID/fd하고 이에 속한 프로세스를 찾을 수 있습니다.

하지만 다른 프로세스를 완전히 차단하지는 않을 것입니다. 그건 위험한 것 같아요. 실수를 하면 교착 상태가 발생할 수 있습니다(그리고 다른 문제가 발생할 수도 있습니다).

모든 프로세스의 CPU 및 I/O 우선순위를 덤프하고 이를 조정( renice, ionice)한 후 나중에 복원하는 것이 좋습니다. 이로 인해 주 프로세스의 성능이 10% 저하될 수 있지만 안전한 편입니다.

관련 정보