2011-01-01から1ヶ月間の記事一覧

XMLの読み込み

設定値を扱うためにXMLを利用したい場合、 どのように扱うのだろうか。 Parserを利用する。 DOM XmlPullParser androidにおけるリソースファイルの読み込み リソースファイルは、XMLで記述されており、これを読み込むためのフレームワークが存在するはず。 …

雑多なメモ

Debug手法? http://omappedia.org/wiki/Android_Debuggingパンダボード http://pandaboard.org/ http://blog.sola-dolphin-1.net/archives/3173852.htmlメモリマップ http://home1.catvmics.ne.jp/~kanemoto/linux/nr-linux.html http://www-06.ibm.com/jp/…

Eclairのメモリキャッシュ問題?

これはどういう意味? https://groups.google.com/group/android-kernel/browse_thread/thread/86c77b8ccb7d8944?hl=ja 今はどうなっているのか。

メモリ空間

Linuxは、どのようにメモリマップを設定しているのか。カーネルのメモリ空間 http://wiki.bit-hive.com/linuxkernelmemo/pg/%A5%AB%A1%BC%A5%CD%A5%EB%B6%F5%B4%D6%A4%CE%A5%E1%A5%E2%A5%EA%A5%DE%A5%C3%A5%D7

Low Memory Killer の ソースコード

という訳で、lowmem_shrink() の詳細をチェックする。 static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask) { struct task_struct *p; struct task_struct *selected = NULL; int rem = 0; int tasksize; int i; int min_adj = OOM_ADJUST_MAX + 1;in…

LowMemory Killer

いまさらながら、androidさんには、プロセスが殺される要因として、 OOM Killerとは別に、LowMemoryKiller が存在していることに気づいた。そして、OOM Killerによって殺されていると考えていたのが間違いだった。 http://blog.kmckk.com/archives/2795577.h…

NativeのOOM Killer 避け関数

以下のような記述有り。 frameworks/base/cmds/dumpstate/utils.c にあった。 /* prevents the OOM killer from killing us */ void protect_from_oom_killer() { int fd;fd = open("/proc/self/oom_adj", O_WRONLY); if (fd >= 0) { // -17 should make us …

OOM Killer 起動条件

突然プロセスが殺されるOOM Killerは、メモリが不足した時に起動されるようです。 メモリが不足したとは、どのような状態なのでしょうか? グーグル先生に聞いてみます。 メモリ確保について Linuxは、仮想メモリ+物理メモリ以上にmallocできる。 それは、…