Enough Free Pages But High Number Of Major Page Faults And Page Reclaims

Home » CentOS » Enough Free Pages But High Number Of Major Page Faults And Page Reclaims
CentOS No Comments

We find that for some servers io disk read is very high. We also notice that there are many major page faults on those servers. But we checked the /proc/zoneinfo, there are enough free pages. Here is the content of /proc/zoneinfo:
pages free 3913507
min 11333
low 14166
high 16999
scanned 0
spanned 16777216
present 16777216
managed 16507043
nr_free_pages 3913507
We also use “perf” to monitor the event of “mm_filemap_delete_from_page_cache”. Here is the result of perf:
7fff81189dd0 __delete_from_page_cache ([kernel.kallsyms])
7fff8119b771 __remove_mapping ([kernel.kallsyms])
7fff8119c8e8 shrink_page_list ([kernel.kallsyms])
7fff8119d45a shrink_inactive_list ([kernel.kallsyms])
7fff8119df55 shrink_lruvec ([kernel.kallsyms])
7fff8119e376 shrink_zone ([kernel.kallsyms])
7fff8119e880 do_try_to_free_pages ([kernel.kallsyms])
7fff8119ed6c try_to_free_pages ([kernel.kallsyms])
7fff816ac515 __alloc_pages_slowpath ([kernel.kallsyms])
7fff811932d5 __alloc_pages_nodemask ([kernel.kallsyms])
7fff811d7a68 alloc_pages_current ([kernel.kallsyms])
7fff811e27f5 new_slab ([kernel.kallsyms])
7fff811e40fc ___slab_alloc ([kernel.kallsyms])
7fff816adaf1 __slab_alloc ([kernel.kallsyms])
7fff811e609b kmem_cache_alloc ([kernel.kallsyms])
7fff812778ed proc_alloc_inode ([kernel.kallsyms])
7fff812234d0 alloc_inode ([kernel.kallsyms])
7fff81225771 new_inode_pseudo ([kernel.kallsyms])
7fff812257d9 new_inode ([kernel.kallsyms])
7fff8127bc1e proc_pid_make_inode ([kernel.kallsyms])
7fff812800e5 proc_fd_instantiate ([kernel.kallsyms])
7fff8127c54c proc_fill_cache ([kernel.kallsyms])
7fff812802dd proc_readfd_common ([kernel.kallsyms])
7fff812803f5 proc_readfd ([kernel.kallsyms])
7fff8121c246 vfs_readdir ([kernel.kallsyms])
7fff8121c665 sys_getdents ([kernel.kallsyms])
7fff816c2715 system_call_fastpath ([kernel.kallsyms])
bab95 __getdents64 (/usr/lib64/libc-2.17.so)
It seems that os is carrying on page reclaim. But I don’t know since there are enough free pages, why could page reclaim ocurr?