이 간단한 파이썬 스크립트는 당신이 원하는 것을해야합니다 :
import time
import string
import sys
import commands
def get_cpumem(pid):
d = [i for i in commands.getoutput("ps aux").split("\n")
if i.split()[1] == str(pid)]
return (float(d[0].split()[2]), float(d[0].split()[3])) if d else None
if __name__ == '__main__':
if not len(sys.argv) == 2 or not all(i in string.digits for i in sys.argv[1]):
print("usage: %s PID" % sys.argv[0])
exit(2)
print("%CPU\t%MEM")
try:
while True:
x,y = get_cpumem(sys.argv[1])
if not x:
print("no such process")
exit(1)
print("%.2f\t%.2f" % (x,y))
time.sleep(0.5)
except KeyboardInterrupt:
print
exit(0)
먼저 모니터링하려는 프로그램의 프로세스 ID를 찾아야하며 PID를 인수로 사용하여 스크립트를 실행할 수 있습니다.
python log.py 3912
CPU 사용량과 램 사용량을 초당 2 회 백분율로 인쇄합니다.
%CPU %MEM
0.90 0.40
1.43 0.40
8.21 0.40
...
그런 다음 출력을 파일로 리디렉션하여 나중에 스프레드 시트로 가져오고 ( python log.py 9391 > firefox_log.txt
) 데이터를 스프레드 시트로 가져 와서 Tab
구분 기호로 선택할 수 있습니다.
Ctrl + C를 누르거나 프로세스가 종료되면 프로그램이 종료됩니다.
ps
할 수 있습니다top
. stackoverflow.com/questions/131303/…