[PYTHON] 파이썬에서의 프로세스 당 CPU 사용량
PYTHON파이썬에서의 프로세스 당 CPU 사용량
현재 파이썬 앱이 사용하고있는 프로세서 사용량 (최대 %)을 볼 수 있습니까?
대본: 내 호스트는 CPU 사용량의 X % 이상을 소비하지 않는 한 내 앱을 실행할 수있게하므로 '자체 점검'및 속도 저하를 원합니다. 그렇다면 앱에서 사용하는 CPU의 양을 어떻게 알 수 있습니까?
대상 플랫폼은 * nix이지만 Win 호스트에서도이 작업을 수행하고 싶습니다.
해결법
-
==============================
1.
>>> import os >>> os.times() (1.296875, 0.765625, 0.0, 0.0, 0.0) >>> print os.times.__doc__ times() -> (utime, stime, cutime, cstime, elapsed_time) Return a tuple of floating point numbers indicating process times.
(2.5) 매뉴얼에서 :
-
==============================
2.psutil을 사용하여 :
psutil을 사용하여 :
>>> import psutil >>> p = psutil.Process() >>> p.cpu_times() cputimes(user=0.06, system=0.03) >>> p.cpu_percent(interval=1) 0.0 >>>
-
==============================
3.리소스 모듈은 getrusage를 제공하며 적어도 유닉스 계열 플랫폼에서 필요한 정보를 제공 할 수 있습니다.
리소스 모듈은 getrusage를 제공하며 적어도 유닉스 계열 플랫폼에서 필요한 정보를 제공 할 수 있습니다.
백분율로 표시된 CPU 사용량은 항상 일정 기간 동안 측정됩니다. 본질적으로, 이것은 프로그램이 간격 시간으로 나눈 것을 수행하는 데 걸리는 시간입니다.
예를 들어 응용 프로그램이 5 초 동안 2 초의 CPU 시간을 소비하면 CPU의 40 %를 사용한다고 할 수 있습니다.
이 계산은 멀티 프로세서 시스템을 사용할 때 까다로울 수 있습니다. 응용 프로그램이 2- 프로세서 시스템에서 5 초의 벽시계 시간에 7 초의 CPU 시간을 사용하는 경우 CPU 사용률이 140 % 또는 70 %라고 말합니까?
업데이트 : gimel에서 언급했듯이 os.times 함수는이 정보를 플랫폼 독립적 인 방식으로 제공합니다. 물론 위 계산 노트는 여전히 적용됩니다.
-
==============================
4.time.clock ()을 사용하여 CPU 시간을 가져옵니다. CPU 사용률 백분율을 구하려면 CPU 시간 경과 / 경과 시간
time.clock ()을 사용하여 CPU 시간을 가져옵니다. CPU 사용률 백분율을 구하려면 CPU 시간 경과 / 경과 시간
예를 들어 CPU 경과 시간이 0.2이고 경과 시간이 1이면 CPU 사용량은 20 %입니다.
참고 : 가지고있는 프로세서의 수에 따라 나누어야합니다. 2 개의 듀얼 코어가있는 경우 :
import decimal,timeit decimal.getcontext().prec=1000 def torture(): decimal.Decimal(2).sqrt() time.sleep(0.1) import time clock=time.clock() while 1: clock=timeit.timeit(torture,number=10) tclock=time.clock() print((tclock-clock)*p) clock=tclock
from https://stackoverflow.com/questions/276281/cpu-usage-per-process-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python : 단어의 철자가 올바른지 확인 [닫힘] (0) | 2018.11.03 |
---|---|
[PYTHON] 복수 파일 필드가있는 장고 양식 (0) | 2018.11.03 |
[PYTHON] 클래스의 메소드에 파이썬 장식자를 적용하기 (0) | 2018.11.02 |
[PYTHON] Python으로 Selenium에서 프로그래밍 방식으로 파이어 폭스 헤드리스를 만드는 방법은 무엇입니까? (0) | 2018.11.02 |
[PYTHON] 세트의 모든 부분 집합을 얻는 방법? (powerset) (0) | 2018.11.02 |