On 05/13/2016 11:58 AM, Xishi Qiu wrote: > I find the count nr_file_pages is not equal to nr_inactive_file + nr_active_file. > There are 8 cpus, 2 zones in my system. > > I think may be the pagevec trigger the problem, but PAGEVEC_SIZE is only 14. > Does anyone know the reason? One thing I can see is the ram backed filesystem where the page is counted as NR_FILE_PAGE but go into the anonymous LRU list instead of the file LRU list. See function shmem_getpage_gfp. An example: [aaron@aaronlu ~]$ head -11 /proc/vmstat nr_free_pages 194472 nr_alloc_batch 58 nr_inactive_anon 483386 nr_active_anon 298161 nr_inactive_file 452791 nr_active_file 1942376 nr_unevictable 84 nr_mlock 84 nr_anon_pages 445332 nr_mapped 93553 nr_file_pages 2731481 [aaron@aaronlu ~]$ fallocate -l 400M /dev/shm/test [aaron@aaronlu ~]$ head -11 /proc/vmstat nr_free_pages 94808 nr_alloc_batch 838 nr_inactive_anon 582385 nr_active_anon 298371 nr_inactive_file 452795 nr_active_file 1942380 nr_unevictable 84 nr_mlock 84 nr_anon_pages 445543 nr_mapped 93658 nr_file_pages 2830488 The nr_file_pages increased with nr_inactive_anon while the nr_{in}active_file don't see much change. Regards, Aaron > > Thanks, > Xishi Qiu > > root@hi3650:/ # cat /proc/vmstat > nr_free_pages 54192 > nr_inactive_anon 39830 > nr_active_anon 28794 > nr_inactive_file 432444 > nr_active_file 20659 > nr_unevictable 2363 > nr_mlock 0 > nr_anon_pages 65249 > nr_mapped 19742 > nr_file_pages 462723 > nr_dirty 20 > nr_writeback 0 > ... > > > nr_inactive_file 432444 > nr_active_file 20659 > total is 453103 > > nr_file_pages 462723 > > -- > 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> > -- 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>