![CPU를 많이 사용하는 다른 프로세스가 실행 중인 경우 프로세스를 일시 중지하고 재개하는 감시 스크립트를 어떻게 생성할 수 있습니까?](https://linux55.com/image/178409/CPU%EB%A5%BC%20%EB%A7%8E%EC%9D%B4%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%8B%A4%EB%A5%B8%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80%20%EC%8B%A4%ED%96%89%20%EC%A4%91%EC%9D%B8%20%EA%B2%BD%EC%9A%B0%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%9D%BC%EC%8B%9C%20%EC%A4%91%EC%A7%80%ED%95%98%EA%B3%A0%20%EC%9E%AC%EA%B0%9C%ED%95%98%EB%8A%94%20%EA%B0%90%EC%8B%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
저는 대학의 여러 그룹에서 사용하는 서버에서 며칠 동안 매우 큰 테스트 설정을 실행하고 있습니다.
pid로 프로세스(현재 실행 중인 프로세스가 있는 경우 실행 중인 프로세스)를 일시 중지하고 CPU 집약적인 프로세스가 중지되면 계속 진행하고 싶습니다. 적어도 하나의 코어가 15초 이상 100%로 실행됩니다.
("상위" 출력을 어떻게 해석해야 할지 잘 모르겠지만 CPU 사용량이 2300%인 프로세스가 종종 있습니다. 이는 23개의 코어가 100%에서 실행되거나 22개의 코어가 (100%-x%에서 실행되는 것으로 해석됩니다) ) *22=2300% ETC 실행).
프로세스를 일시 중지하려면 두 가지 bash 명령 중 하나를 선택해야 합니다.
kill -TSTP [pid]
그리고
kill -STOP [pid]
프로세스를 계속하려면 다음을 사용합니다.
kill -CONT [pid]
내 이후로파이썬 스크립트테스트 설정에서 확실하게 실행실행된 프로세스의 런타임 측정혹시 방법이 있는지 묻고 싶습니다프로세스가 실행되는 동안에만 시간을 측정하세요.? (또한 내 Python 스크립트에서 실행되는 프로세스의 내장 함수를 통해 정확한 계산 시간을 측정했지만 일부 의심스러운 결과로 인해(절대 시간은 문제가 있고 상대 시간은 올바른 것 같습니다) 정확도가 떨어지는 경우도 있습니다. 최소한 일부 사용 가능한 시간 측정이 외부에서 가능합니다(파이썬 스크립트).
일반화하다
- 이러한 프로세스를 찾고 그에 따라 대응하는 스크립트를 어떻게 설계할 수 있습니까? (서버에 루트가 없지만 실행된 모든 프로세스를 볼 수 있고 직접 처리할 수 있습니다)
- 프로세스가 일시 중지된 시간을 제외하고 이러한 프로세스에 대한 정확한 시간 측정(+/- 10초)을 어떻게 얻을 수 있습니까?