it-swarm-ko.tech

메모리 사용량을 그래프로 표시하는 간단한 도구?

메모리 사용량을 그래프로 표시하는 스크립트가 있습니까 (예 : 원형 차트). 각 프로세스는 별도의 조각이됩니까?

시간 경과에 따른 메모리 사용량을 그래프로 나타 내기 위해 Munin 같은 것을 찾고있는 것이 아니라 단일 시점에서 프로세스 별 메모리 사용량을 보여줍니다.

내 요청을 더 모호하게 만들기 위해 헤드리스 서버 (X 응용 프로그램 없음)를위한 것입니다. 가장 간단한 방법은 PNG 파일 또는 HTML 파일을 작성하는 것입니다 (Javascript를 사용하여 프로세스 필터링, 그래프 유형 간 변경 등을 허용 할 수 있음).

14
dbr

프로세스 당 메모리 계산은 몇 가지 이유로 까다 롭습니다. 간단한 모니터링의 경우 gkrellmd 또는 nagios 스크립트로 충분할 것입니다. 더 높은 정확도를 원하면 더 세게보아야합니다.

smemProportional Set Size의 개념을 소개합니다.

물리적 메모리의 많은 부분이 일반적으로 여러 응용 프로그램간에 공유되기 때문에 RSS (Resident Set Size)로 알려진 메모리 사용량의 표준 측정은 메모리 사용량을 크게 과대 평가합니다. 대신 PSS는 각 응용 프로그램의 각 공유 영역에 대한 "공정한 공유"를 측정하여 현실적인 측정을 제공합니다.

예 : GNOME을 시작하면 각 애플릿과 프로그램에 대해 하나씩 여러 프로세스가 시작됩니다. 그들은 모두 libglib에 연결됩니다. Linux는 libglib를 하나의 메모리 블록에로드하고 libglib를 원하는 모든 프로세스에 매핑합니다. 순진한 메모리 계정은 연결된 모든 프로세스에 대해 전체 libglib 크기를 계산합니다.

smem은 libglib를 사용하는 프로세스간에 libglib의 비용을 나누어 현실을 더 가깝게 보여줍니다. 또한 웹 사이트에서 메모리 사용량을 표시하는 여러 옵션이 있습니다.

  1. 기본 프로세스 정보 smem 표시
  2. 시스템 뷰 표시 smem -R 4G -K/path/to/vmlinux -w
  3. 합계 및 백분율 표시 smem -t -p
  4. 다른 열 표시 smem -c "name user pss"
  5. Smem -M libxml 매핑으로 필터링 된 프로세스 표시
  6. 프로세스 smem -m -P [e] volution에 의해 필터링 된 매핑 표시
  7. 캡처 tarball smem --source capture.tar.gz에서 데이터 읽기
  8. pid smem --bar pid -c "pss uss"로 레이블이 지정된 막대 차트 표시
  9. 이름 smem --pie name -s rss 로 레이블이 지정된 RSS의 원형 차트를 표시합니다.

그러나 최신 커널 (> 2.6.27)이 필요합니다.

13
jldugger

선반에서 아무것도 생각할 수 없습니다

그러나 PHP script exec'ing ps -AH v | awk '{print $ 8, $ 9, $ 10}' 그리고 pChart 와 함께 사용하면 원하는 작업을 수행 할 수있는 웹 페이지를 얻을 수 있습니까? (Kb 단위의 사용, 총 비율 및 프로세스 이름)

5
Mark Regensberg

sarface 살펴보십시오-sar 데이터에 따라 다르며 메모리 사용량 (및 기타 모든 sar/sysstat 데이터)을 실시간으로 모니터링 할 수 있습니다.

2
Xerxes

그리고 collectd 는 어떻습니까?

1
jnrg

스스로 해. RRD 데이터베이스를 업데이트하는 간단한 셸 스크립트를 만듭니다. 그런 다음 rrdtool을 사용하여 그래프를 그립니다.

1
ahes

정말로 낮은 수준의 세부 사항에 관심이 있다면 collectl을 잊지 마십시오. 다음은보고 할 수있는 프로세스 별 메모리 활용 유형의 예입니다.

 RECORD 1 cag-dl585-02 (1244758290.002) (2009 년 6 월 11 일 목요일 18:11:30) 
 
 PROCESS SUMMARY (카운터는/초) 
 # PID 사용자 S VmSize VmLck VmRSS VmData VmStk VmExe VmLib MajF MinF 명령 
 9089 root S 66856K 0 2328K 1440K 212K 736K 6812K 00 sendmail : 
 9097 smmsp S 57600K 0 1772K 1304K 204K 736K 5904K 0 0 sendmail : 
 9108 루트 S 6428K 0 360K 180K 84K 88K 1944K 000 gpm 
 9120 루트 S 74808K 0 1136K 476K 520K 48K 1920K 000 crond 
 9173 xfs S 20904K 0 1828K 1124K 88K 104K 3084K 0 0 xfs 

특정 프로세스에 관심이있는 경우 적절한 필터 (스레드를 표시하는 스위치 포함)를 지정할 수 있습니다.

일반적으로 메모리에 관심이 있다면 슬래브 세부 정보를 표시하고 vmstat 형식 출력도 표시 할 수 있습니다. 기존 도구에서 이미 데이터를 표시하는데 vmstat 형식으로 데이터를 표시하려는 이유는 무엇입니까? 간단합니다. 집합 적으로 통계를 파일에 기록하고 나중에 여러 형식으로 재생할 수 있습니다.

시도해보세요. 좋아할 것입니다.

1
Mark Seger
  1. 프로세스를 확인하십시오.
  2. 출력을 구문 분석하고 쉼표로 구분 된 형식으로 텍스트 파일에 저장합니다.
  3. excel에서 쉼표로 구분 된 파일을 엽니 다.
  4. Excel의 차트 유틸리티를 사용하여 해당 데이터에 대한 그래프를 그립니다.

다른 시간 간격으로 메모리 스냅 샷을 원하는 경우 ... 원하는 간격으로 cron 작업을 설정하고 스크립트를 실행하십시오.

도움이 되길 바랍니다 ....

1
Manu

음, gnuplot FAQ는 원형 차트를 지원하지 않음 라고 말하지만 Bernhard Reiter의 piechart 를 제안합니다. .

0
Philip Durbin

#top 또는 #sysstat를 사용할 수 있습니다.

0
Rajat

This 정확히 찾고있는 것은 아니지만 this reference ( "Per Process Memory Usage"찾기)를 사용하여 필요에 맞게 조정할 수 있습니다.

0
Ivan

kSar, sar 데이터를 기반으로하지만 Java 기반이므로 플랫폼 독립적이며 원격 호스트에 ssh하여 데이터를 가져올 수 있습니다.

http://ksar.atomique.net/

0
Greeblesnort

더 자세히 설명하지는 않았지만 collectl에는 구분 기호로 구분 된 출력을 생성하는 옵션이 있으므로 gnuplot의 경우 공백이있는 데이터를 생성하면 모든 설정이 완료됩니다. Excel에도 잘로드됩니다. 쉼표를 원하면 구분 기호를 변경할 수 있으며 실제로 rrd 경로를 수행하려면 (플롯이 데이터와 일치 할 필요가 없기 때문에주의하십시오!) 구분 기호를 콜론으로 변경하고 타임 스탬프를 UTC로 변경할 수도 있습니다. -표

0
Mark Seger

phpsysinfo 어떻게 든 프로세스 정보를 볼 수있는 기능을 제공하지 않습니까?

0
djangofan