응용 메모리 누 출 검사 (셸)

1778 단어
코드 쓰기 - 디 버 깅 - 버그 수정
고 쳐 보면 아직 발견 되 지 않 은 문제 가 존재 할 수 있 고 공 사 량 이 많 을 때 더욱 쉽게 발생 할 수 있다. 예 를 들 어 메모리 누 출 과 같은 문 제 는 시스템 성능 에 심각 한 영향 을 미친다.
인터넷 상에 서 C 프로그램 에 메모리 누 출 도구 가 있 는 지 확인 하 는 것 도 좋 습 니 다. 예 를 들 어 vagrind.
서버 에서 실행 중인 응용 프로그램 에 메모리 누 출 문제 가 있 는 지 해결 하기 위해 스 크 립 트 를 작성 하여 검 측 했 습 니 다.
사고방식 은 다음 과 같다.
01. 파일 1: ProcessList, 메모리 누 출 검사 가 필요 한 프로그램 이름 을 저장 하 는 데 사용 되 며, 파일 2: Test Manage 를 통 해 관리 되 며,.../TestManage - a 를 통 해 응용 이름 추가 하거나.../TestManage - d 이름 으로 제거 합 니 다.
02. 파일 3: Memory LeakTest, 주 프로그램. 먼저 파일 4: RSSList (프로 세 스 의 메모리 검사 결 과 를 저장 하 는 데 사용) 와 파일 5 를 비 웁 니 다. 메모리 누 출 이 있 는 프로그램 이름 을 저장 하기 위해 LeakMemory. log.
03. 1 번 순환 을 시작 하고 6 번 순환 합 니 다. 매번 순환 할 때마다 파일 1 의 모든 프로그램 이름 인 프로 세 스 번호 - status 파일 을 통 해 메모리 크기 를 차지 하고 파일 4 에 저장 합 니 다. 순환 할 때마다 1800 초 간격 이 있 기 때문에 총 2 시간 반 입 니 다.
04. 세 번 째 단계 가 끝 난 후에 파일 4 에 저 장 된 모든 프로그램의 6 번 메모리 크기 에 따라 두 개의 비교 와 인접 합 니 다. 만약 에 뒤의 것 이 앞의 10% 보다 크 면 flag 변수 값 + 1 은 모두 5 번 비교 합 니 다. 만약 에 flag 가 4 보다 크 면 이 응용 에 메모리 누 출 이 존재 한 다 는 것 을 인정 합 니 다.
셸 노트:
01. sed 용법:
일치 하 는 문자열 의 다음 줄 에 추가: sed - i/$str/a\\"$str new"  $filename
일치 하 는 문자열 에 다음 줄 을 추가 합 니 다: sed - i "/$str/i\\\$str new"$filename   $str_new 앞의 하 나 는 전의 입 니 다.
두 변 수 를 밑줄 로 연결 합 니 다: ${str1} ${str2}
02. 
grep -m m "$str1" |awk -F $str2 '{print $p}'| sed -n "np"

 
앞의 m 줄 의 str1 과 일치 하 며, str 2 를 포함 한 p 열 에서 n 줄 을 취한 다.

좋은 웹페이지 즐겨찾기