프로세스가 소비하는 메모리를 모니터링하는 방법은 무엇입니까?


16

프로세스가 실행되는 동안 소비하는 메모리 양을 확인하고 싶은 프로세스가 있습니다.

지금 나는 이것을한다 :

ps faux | grep casper

그러나 그것은 단지 그 순간의 정보를 제공합니다. 스크립트가 진행됨에 따라 값이 변경되는 것을 보는 것이 좋습니다.

내가 할 수있는 방법은 무엇입니까?

답변:


15

방법 1

운영:

top

프로그램의 PID (첫 번째 열)를 확인한 후 다음을 실행하십시오.

top -p PID

방법 2

이것을 터미널에 붙여 넣거나 mem_usage.sh로 저장 한 후 터미널에서 실행하십시오.

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done

1
% 표시에서 어떻게 변경할 수 있습니까? 관심 없음 :-)
Wilf

나는 스크립트를 실행할 때 이것을 얻는다 : bash : ./memory_usage.sh : bin / bash : 나쁜 해석기 : 그런 파일이나 디렉토리가 없다
Hommer Smith

바! 편집했습니다! 게시하기 전에 올바르게 확인해야합니다. 첫 번째 줄은 / 빈 / bash는에서 실행 위치를 말해야한다 (이 떠들썩한 파티를위한 빈라는 폴더에 로컬로 확인 그래서 나는 빈 / bash는했다)
줄리안 스털링

1
@ wilf ps faux | 그렙 캐스퍼 | awk '{print $ 11} {print $ 6}'한 줄에 프로그램 이름과 다음 실제 메모리 크기를 kB로 표시해야합니다.
Julian Stirling

6

프로세스 만 모니터링하려면 / proc / PID / status 또는 / proc / PID / statm을 확인할 수 있습니다.

/ proc / PID / statm 정보 :

수행 한 후 cat /proc/PID/statm다음을 확인해야합니다.

611450 185001 883 18 0 593431 0

설명 :

  1. 크기 :-총 프로그램 크기 (611450 X 4096/1024 = 2445800kB = 2388M)
  2. 상주 :-상주 세트 크기 (185001 X 4096/1024 = 740004kB = 722M)
  3. 공유 :-공유 페이지 (883 X 4096 = 3532)
  4. trs :-텍스트 (코드) (18 X 4096/1024 = 72kB = VmExe)
  5. drs :-데이터 / 스택
  6. lrs :-라이브러리 (593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt :-더티 페이지

또한 날짜와 고양이를 사용하여 루프를 수행하는 프로세스의 메모리 활동을 기록 할 수 있습니다.


4

'top'을 사용할 수 있습니다.

man top

이 프로그램을 사용하면 RSS, VSZ, CPU 등을 기준으로 리소스 사용량을 정렬 할 수 있습니다. 매우 유용합니다.

또는 메모리 사용에 대한 자세한 내용을 보려면 'pmap'을 시도하십시오.

man pmap

사용법 예 :

pmap -x 1234

건배

sc.


1
와 함께 pmap -x PID, 당신은 엄청나게 자세한 사용법을 의미 했습니까? :-)
Wilf

실제로-충분히 세부 사항을 가질 수 없습니다 :)
swisscheese

1
내 (Ubuntu 16.04.5 LTS) PID와 함께 "pmap -x"는 PID 및 명령 이외의 것을 표시하지 않습니다. -X도 마찬가지입니다.
orrd September

2

시스템 모니터를 열고 Processes탭으로 이동 하십시오.


1

시도해보십시오 :

watch 'ps faux | grep -v grep | grep casper'

--interval <seconds>매개 변수를 사용하여 새로 고침 간격을 변경할 수도 있습니다 .


1
마지막 것을 grep [c] asper로 변경하면 -v grep이 필요하지 않습니다. 그것은 캐스퍼와 일치하지만 자체는 아닙니다.
Wudang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.