프로그램이 30시간마다 20초씩 죽는 문제
글쓴이: 김정훈@Google / 작성시간: 토, 2018/12/08 - 4:57오후
안녕하세요.
지금 ip카메라 안에있는 리눅스 시스템에서 돌아가는 프로그램을 구현했습니다.
ip카메라에서 영상을 받아 처리해서 특정 서버로 데이터를 전송하는 프로그램인데요,
이상하게 프로그램이 하루하고 조금있다가 죽어버려서 20초후에 프로그램이 자동으로 재실행 되버립니다.
현재로써는 프로그램 실행파일을 ip캠 안으로 업로드하여 실행만 할수 있고 따로 디버깅같은건 못하는 상황입니다..
보통 이렇게 하루마다 죽는 문제는 메모리 릭때문인것 같은데
버퍼관리가 제대로 안되서 그런걸까요..?
영상 프레임을 받아오는 recv_event가 발생하면
deque에다 저장하고 뮤텍스락 해놓고 하나씩 뽑아쓰고있습니다.
영상을 받아올때 버퍼관리가 크게 문제가 없다면
영상처리후 서버로 데이터 전송할때 문제가 있을꺼같은데
디버깅 툴 없이 메모리 누수찾는게 힘들군요..
메모리 누수 말고는 이렇게 하루마다 프로그램이 죽는 문제는 없겠죠..?
Forums:
20초면 시스템이 리부트 되었을 가능성은 없나요?
20초면 시스템이 리부트 되었을 가능성은 없나요?
메모리 누수 말구 deadlock이 되었을 가능성은 없을까요?
결국에는 디버깅할 수 있는 라인 따서 보셔야 할 꺼 같아요
디버깅중..
지금 디버깅용 펌웨어를 올려서 telnet으로 디버깅할수 있는 라인을 확보했습니다.
20초는 os가 프로그램을 죽이고 자동 재시작하는 시간인데요,
메모리 릭 문제는 아니었고 데드락 문제로 보입니다.
제가 짠 코드가 아니어서 힘들긴 하네요..
참고해보세요.
확인해볼만한 사항
- 인터넷 / 랜선 / 공유기 상태
- 메모리 상태
- 가상메모리 상태 및 하드 용량
- 프로세스 점유율
- 리소스 메모리 점유 상태
- 사용자 권한 계정 접속 상태 및 스케쥴링 히스토리 로그
- 전원 설정
- 인터넷 시간
- 장치 드라이브 설치
- 각 함수에 리턴값 / 인자값 / 오류시 예외처리 / 데이터 상태
- 과열 온도
- 더미 데이터로 별도 PC에서 테스트
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기