2017-10-11 1 views
1

임베디드 시스템에서 실행되는 일련의 bash 스크립트가 있습니다. bash 스크립트는 다른 것들을 포함하고 있으며, 그들이 할 때, 그들의 메모리 사용량이 뛰어 오른 것처럼 보입니다. 메모리가 어디로 가는지 나는 알아낼 필요가bash에서 메모리 사용을 추적하는 방법

showmem() { 
     echo "[$1] $(ps up $$ | tail -1 | awk '{print $6}')" 
} 

showmem "about to include" 
. foo.sh 
showmem "done include" 

을 그리고 값이 이하에 있음을 출력

[about to include] 3356 
[done include] 5244 

공지를 얻을 ... 그래서 : 그래서 예를 들어, 내가 가진. 처음에는 그것이 포함 된 파일의 실제 크기라고 생각했는데 (파일에 다른 파일 등이 포함되어 있음), 이제는 모든 파일 크기를 합한 것으로 중요하지 않습니다. 또한 env의 출력 크기도 크게 증가하지 않으므로 비대화 된 환경이 아니며 프로세스 트리에 하위 프로세스가 표시되지 않습니다.

메모리가 어떤 용도로 사용되고 있는지 알려주는 도구가 있습니까? bash 스크립트의 어떤 지점에서 사용되지 않는 메모리를 '비울'수있는 방법이 있습니까?

(참고 :이 특정 bash 스크립트는 이벤트를 기다리고 특정 시점에 여러 인스턴스가 실행되기 때문에 이는 중요합니다.

답변

0

어쩌면 불가능합니다. bash 자체는 매우 복잡하며 메모리 사용량은 실행중인 스크립트에 의해 단순히 cacluated되지 않을 수도 있습니다.

관련 문제