게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금!] Linux memory leak 관련..
게시물ID : programmer_18423짧은주소 복사하기
작성자 : 행복한ㄱㄴㅅ
추천 : 1
조회수 : 774회
댓글수 : 3개
등록시간 : 2016/09/13 10:46:55
옵션
  • 본인삭제금지

저는 지금 임베디드 장비에 올릴 OS 개발쪽을 담당하고 있습니당

다름이 아니고.. 제가 개발한 기능 포함 OS 전체적으로 개발 test 중인데

시간이 지날수록 memory 사용률이 올라가다가 out of memory 발생하여 임베디드 장비가 rebooting 되버립니다

linux 에서 memory leak이 어디서 발생하는지 알수 있는 방법이 있을까요?

일단 제가 해본 방법으로는 다음과 같습니다.

1. 장비에서 slabtop 으로 조회한 결과, 아래와 같이 kmalloc-32, kmalloc-192 에 대해 점차적으로 size 및 slabs 항목의 값이 시간이 지날수록 커집니다.
메모리 할당 관련해서는 kmem_cache_create(), kmem_cache_alloc(), kmem_cache_free() 를 사용하였습니다

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
428800 428768  99%    0.03K   3350      128     13400K kmalloc-32
382914 382877  99%    0.19K  18234       21     72936K kmalloc-192

2. 장비에서는 valgrind와 같은 memory leak 확인을 위한 프로그램을 실행시킬 수 없습니다..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호