Я провожу некоторые исследования, которые должны использовать возможности подкачки Linux.Я добавил новую зону, которая предназначена только для моего использования, другие приложения или само ядро не могут выделить страницы из этой зоны.Когда зона достигает водяной метки обмена, она запускает kswapd и пытается поменять некоторые страницы внутри зоны.Однако проблема в том, что вся статистика использования внутри этой зоны равна 0 (например, NR_INACTIVE_ANON
, NR_INACTIVE_FILE
).Поэтому kswapd
пропустит эту зону.Я выделяю память из этой зоны, изменяя текущую подпрограмму vmalloc
.Я установил флаг страницы как исправимый.Также из вывода /proc/pagetypes
я вижу, что все выделенные страницы из моей зоны можно восстановить.Я не знаю, почему в моей зоне нет статистики.
Вот вывод зоны для:
nr_free_pages 752735
nr_inactive_anon 0
nr_active_anon 0
nr_inactive_file 0
nr_active_file 0
nr_unevictable 0
nr_mlock 0
nr_anon_pages 0
nr_mapped 0
nr_file_pages 0
nr_dirty 0
nr_writeback 0
nr_slab_reclaimable 0
nr_slab_unreclaimable 0
nr_page_table_pages 0
nr_kernel_stack 0
nr_unstable 0
nr_bounce 0
nr_vmscan_write 0
nr_writeback_temp 0
nr_isolated_anon 0
nr_isolated_file 0
nr_shmem 0