2013-03-05 2 views
3

내 안드로이드 "스마트 TV 상자"에는 다양한 데비안 배포판이 설치되어있는 곳 (ntp, mpd, lighttpd, ...)에 디스크가 부착되어 있습니다. 문제는 스왑 공간이 충분하더라도 많은 데몬 (예 : 머신이 조금 더 바뀔 때)에 내 데몬 중 일부가 "죽는"경향이 있다는 것입니다. 나는 근본 원인이 무엇인지에 대해 모르지만, 아마 그 프로세스를 죽이는 것이 더 나은 것으로 결정하는 일종의 Android OOM 시스템처럼 보일 수 있습니다 (아마도 스왑이 없다는 가정하에 튜닝 되었기 때문일 것입니다).내 데몬을 죽이는 것을 안드로이드를 막는 방법

실제로 이것이 사실인지 어떻게 확인할 수 있습니까?

스왑에 여유 공간이 충분하더라도 커널이 프로세스를 종료하지 못하도록 할 수 있습니까?

+0

안드로이드는 언제든지 서비스를 죽일 수있는 권리를가집니다. 또한 앱당 메모리 한도를 설정하고 램을 가지고 있어도 앱을 넘기지 않습니다. 그러므로 언제든지 아무 이유없이 살해 될 수 있다고 가정하면 서비스를 코딩해야합니다. 한 가지 트릭은 서비스 자체를 startService로 호출하는 것입니다. 몇 가지 이유로 안드로이드는 8 시간마다 모든 것을 죽이는 경향이 있습니다. 이는 문제를 해결합니다 (길을 잃었을 때 무언가를하고 있다면). –

+1

이들은 "죽을"수있는 진정한 네이티브 Linux 데몬이 아니라 SDK 어플리케이션입니까? – CommonsWare

+0

바로 이것들은 안드로이드에 대해 아무것도 모르는 데비안 데몬입니다. – Stefan

답변

3

/sys/module/lowmemorykiller/parameters으로 메모리 킬러 쓰기를 조정할 수 있습니다. 커널 킬러이기 때문에 안드로이드 나 네이티브 프로세스를 차별한다고 생각하지 않지만 잘못된 것일 수 있습니다.

더 자세한 정보를 찾을 수 있습니다 here

+1

시작 스크립트에'echo 1,2,3,4,5,6/sys/module/lowmemorykiller/parameters/minfree'를 추가했는데 문제가 없어졌습니다. 감사합니다. – Stefan

관련 문제