[Adding Greg to CC as the current maintainer of the staging and dropping majordomo] I am not Johannes but, On Thu 20-11-14 09:26:05, zhiyuan_zhu@xxxxxxx wrote: > hi Johannes > > My name is Zhiyuan zhu, an android development engineer in htc. > We encounter a lowmemorykiller’s problem. > Coluld you help to kindly support? Thank you. Please note that lowmemory killer is not part of Memory cgroup resource controller. It is a staging driver which is supposed to be supported by support by Android people. I am not sure about the current state but the implementation and some concepts used to be broken in many ways. Anyway I think the driver should be dropped from the tree or try to get promoted to the regular tree _after_ it passes a proper review. > Problem describtion: > We noticed that gap of dumping cached value from “lowmemorykiller” > and “/proc/meminfo/” are different apparently. Like example below, > lowmemorykiller showed cache only has 72460kB while launcher was > killed, but /proc/meminfo showed cached still has 142448kB. Please > check why the gap of cache value between lowmemorykill and > /proc/meminfo are huge. lowmem_scan prints: other_file = global_page_state(NR_FILE_PAGES) - global_page_state(NR_SHMEM) - total_swapcache_pages(); as per meminfo_proc_show(), Cached value corresponds to: cached = global_page_state(NR_FILE_PAGES) - total_swapcache_pages() - i.bufferram; So those two values are quite different. E.g. lowmem killer ignores shmem pages. This can be considerable amount of memory. > kernel_e0058_0001_20141107_204711_LC4ABYA00200_htc_a31ul_0.54.999.1.txt at LC4ABYA00200 > 6 161030.084144 2014-11-07 21:44:53.304 lowmemorykiller: Killing 'om.htc.launcher' (4486), adj 294, > 6 161030.084144 2014-11-07 21:44:53.304 to free 47856kB on behalf of 'kworker/u8:14' (20594) because > 6 161030.084144 2014-11-07 21:44:53.304 cache 72460kB is below limit 73728kB for oom_score_adj 235 > 6 161030.084144 2014-11-07 21:44:53.304 Free memory is 51304kB above reserved > 4 161030.084797 2014-11-07 21:44:53.304 MemFree: 55676 kB > 4 161030.084797 2014-11-07 21:44:53.304 Buffers: 1240 kB > 4 161030.084797 2014-11-07 21:44:53.304 Cached: 142448 kB I do not see any code in drivers/staging/android/lowmemorykiller.c that would print such an information in the current tree. > Lowmemorykiller calculated cache value is 72460kB, but the > /proc/meminfo’s cached is 142448 kB > > After checked the code, I found that: > Lowmemorykiller’s memory information is comes from /proc/zoneinfo > file’s nr_file_pages So I want to know how different the > /proc/zoneinfo file’s nr_file_pages and /proc/meminfo file’s > Cached ? See the above. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>