하나의 프로세스'의 메모리/cpu 사용량을 실시간으로 모니터링하고 싶습니다. 'top'과 유사하지만 한 프로세스만을 대상으로 하며, 가급적이면 어떤 종류의 이력 그래프를 사용하는 것이 좋습니다.
리눅스에서 'top'은 단일 프로세스에 초점을 맞추는 기능을 지원하지만, 히스토리 그래프는 가지고 있지 않다.
top -p PID
이 기능은 다음과 같은 다른 구문을 사용하는 Mac OS X에서도 사용할 수 있습니다.
top -pid PID
pip install psrecord # local user install
sudo apt-get install python-matplotlib python-tk # for plotting; or via pip
psrecord $(pgrep proc-name1) --interval 1 --plot plot1.png
여러 개의 프로세스가 대해 다음과 같은 것이 스크립트입니다 동기화 하였다.
#!/bin/bash
psrecord $(pgrep proc-name1) --interval 1 --duration 60 --plot plot1.png &
P1=$!
psrecord $(pgrep proc-name2) --interval 1 --duration 60 --plot plot2.png &
P2=$!
wait $P1 $P2
echo 'Done'
차트는 다음과 같습니다. ! [ps레코드 예] [2]
이 패키지 는 rss 국한됨 샘플링 (일부 파이썬 특정 플러스 옵션). 또한 레코드 프로세스 색상에는 하였더뇨 프로세스 (지켜보리니 mp로프 도움말에서는 '-').
pip install memory_profiler
mprof run /path/to/executable
mprof plot
기본적으로 이 튀어나올 수 있는 한 트킨터 기반 ('파이썬 tk' 필요할 수 있습니다) 차트입니다 explorer 내보내집니다.
오버킬 단순 무언가 일을 위한 시험으로 있는 것처럼 보일 수도 있습니다 (like a, s, 반드시, 여러 일 디버깅하지 it& # 39 적당합니다. 휴대용 올인원 (all-in-one) '레인전차 / 흑연색 스택할' () 의 grafana& # 39 의 저자) 영상, '파스틸' 및 '스테스트' 클라이언트입니다. 'procmon.py' 는 구축상의.
$ docker run --rm -p 8080:3000 -p 8125:8125/udp raintank/graphite-stack
그 후 다른 컨텍스트에서는 터미널, 시작 대상 프로세스에:
$ sudo apt-get install python-statsd python-psutil # or via pip
$ python procmon.py -s localhost -f chromium -r 'chromium.*'
그 후 '관리' 로 여는 그라파나 dell. http://localhost:8080, 인증, 데이터 관리, 다음과 같은 차트입니다 https://localhost 플롯할 설정할 수 있습니다.
[! [그라파나 차트입니다] [12]] [12]
파이썬 스크립트를 스테스트 위한 기준을 보내는 대신, '테레그래프' ('와' 프로치다트 입력입니다 플러그인에는) 를 전송하십시오 메트릭에 흑연색 직접 사용할 수 있습니다.
최소한의 테레그래프 '구성' 같습니다.
[agent]
interval = "1s"
[[outputs.graphite]]
servers = ["localhost:2003"]
prefix = "testprfx"
[[inputs.procstat]]
pid_file = "/path/to/file/with.pid"
'선' 테레그래프 실행하십시오 구성용 민콘f.콘프. 그러나 메트릭에 그라파나 부품이 같은 이름.
'시스딜' (데비안 및 Ubuntu& # 39 에서 사용할 수 있는 레포스, s) 와 시스딜 검사 ᅴ 여바바 매우 유망한 매우 세밀한 정보를 제공할 수 있지만, ui 는 cpu 활용도 및 rss 와 함께 죄송합니다. 렌더링합니다 시스딜 '그들' can& # 39, t 거르개 이벤트 '시' 프로신포 프로세스별 쓰기 시작했다. 하지만, 사용자 정의 이 수 있어야 한다 (an '시스딜 쓴' 확장명은 루아) 로 만들었다.
['htop'][1]은 'top'의 훌륭한 대체품이다. 그것은... 색깔! 간단한 키보드 단축키! 화살표 키를 사용하여 목록을 스크롤합니다! PID를 남기지 않고 메모하지 않고 프로세스를 중단합니다! 여러 프로세스를 표시하여 모두 죽여라!
모든 기능 중에서 를 누를 수 있다고 맨페이지에 나와 있습니다.F 프로세스를 따르기합니다.
진짜 htop을 한번 먹어보세요. 나는 htop을 처음 사용한 이후로 다시는 top을 시작하지 않았다.
단일 공정 표시:
'htop -p PID'
[1]: http://htop.근원 위조그물
사용하는 데 대한 정보를 스크랩트 이 작업을 수행할 수 있습니다.
calcPercCpu.sh
#!/bin/bash
nPid=$1;
nTimes=10; # customize it
delay=0.1; # customize it
strCalc=`top -d $delay -b -n $nTimes -p $nPid \
|grep $nPid \
|sed -r -e "s;\s\s*; ;g" -e "s;^ *;;" \
|cut -d' ' -f9 \
|tr '\n' '+' \
|sed -r -e "s;(.*)[+]$;\1;" -e "s/.*/scale=2;(&)\/$nTimes/"`;
nPercCpu=`echo "$strCalc" |bc -l`
echo $nPercCpu
다음과 같은 사용 여기서 ' (calcPercCpu.sh) 1234년' 1234년 는 pid
Com/go/4e6b330a_kr 면변형하기 데이터베이스에구성원을 합니다.
저는 보통 다음 두 가지를 사용합니다.
HP caliper : 프로세스를 모니터링하는 매우 좋은 도구이며 통화 그래프 및 기타 낮은 수준의 정보도 확인할 수 있습니다. 하지만 개인적인 용도로만 무료임을 알아두세요.
daemontools : UNIX 서비스 관리를 위한 도구 모음
예를 들어 쉽게 만들 수 있다 '' 와 '의 탑 사용하여 하나의 %CPU %MEM 쉼표로 구분된 로그 (' $9 ') + (' $10 ') 사용 할 수 있는 모든 나중에 급지되었는지 통계와 그래프 목석같은놈.
"' v - b - d - $ p $ 지연입니다 상단형 pid = " 의, awk, ". & # 39 {0, $1+0>. 인쇄하십시오 nf, $ $ $1, 스트라프티메 (%Y-%m-%d %H:%M:%S" ";), 9, 10, $ 페루시 ()} & # 39. "'
과연 출력입니다
2019-03-26 17:43:47,2991,firefox,13.0,5.2
2019-03-26 17:43:48,2991,firefox,4.0,5.2
2019-03-26 17:43:49,2991,firefox,64.0,5.3
2019-03-26 17:43:50,2991,firefox,71.3,5.4
2019-03-26 17:43:51,2991,firefox,67.0,5.4
"' v - b - d - $ p $ 지연입니다 상단형 pid = " 의, awk, ". & # 39, $1 = {3} = $ 시간을 top" "; +0> {1, $ $ $1 달러, 0, $10, 9 시간, 인쇄, nf 페루시 ()} & # 39. "'
그러나 그 후 계속 '에서' $ 지연입니다 타임스탬프와 정확한지 출력입니다 연기될 수 있다.
여기서 컷 다운 리눅스 배포판의 경우 상위 프로세스 당 (p) 옵션 또는 관련 옵션이 없는 상위 명령 단축시킵니다 프로세스 이름 출력물에는 파싱할 수 있습니다, cpu 사용 정보를 얻기 위해 프로세스 당.
while true; do top -bn1 | awk '/your_process_name/ {print $8}' ; sleep 1; done
이 과정에서 당 CPU 사용량 상위 명령 제 8 seabreeze 출력물에는 임베디드 리눅스 분배란
하지만, 여기서 조금 늦게 I& i& # 39 m, 그냥 내 명령행을 사용하여 기본값입니다 ps '트릭' ll 공유하지는 # 39
WATCHED_PID=$({ command_to_profile >log.stdout 2>log.stderr & } && echo $!);
while ps -p $WATCHED_PID --no-headers --format "etime pid %cpu %mem rss" do;
sleep 1
done
이 한 줄 광고문 사용하고 있다. 여기서 첫 번째 줄은 변수에 PID 는 명령이 내려졌다. Ps 는 PID 퍼센트 CPU 사용 후 인쇄인쇄 경과 시간, RSS) 가 메모리 및 메모리. 다른 분야에 대해서도 추가할 수 있습니다.
Pid 운영까지도 프로필링하려면 이미 실행되고 첫 줄 경우 무시할 수 있습니다. 그냥 배치하십시오 원하는 id 의 변수.
00:00 7805 0.0 0.0 2784
00:01 7805 99.0 0.8 63876
00:02 7805 99.5 1.3 104532
00:03 7805 100 1.6 129876
00:04 7805 100 2.1 170796
00:05 7805 100 2.9 234984
00:06 7805 100 3.7 297552
00:07 7805 100 4.0 319464
00:08 7805 100 4.2 337680
00:09 7805 100 4.5 358800
00:10 7805 100 4.7 371736
....