簡単な答え:zramにvm.swappiness=100
は適切な値です(少なくともLinux 4.9でのDebian Stretchでは、それが最良の値だと思います)
私はすでにテストvm.swappiness=100
しています。
どの値が最適かを確認する簡単なテストを実行できると思います。
また、この質問をテストするための別の簡単なプログラムを作成しました。x私のマシンでは、非常に低いvm.swappiness
値(などvm.swappiness=1
)により、明らかな応答性の問題が発生します。
SwapCached
で/proc/meminfo
:
まず、試してみてくださいvm.page-cluster=0
。これによりSwapCached
、スワップインによる無駄な作業を減らすことができます。
SwapCachedは、非zramスワップデバイスと同じようにzramを高速化できます
SwapCached
必要なときに再利用できます(無料):
./linux-4.9/mm$ grep -rn delete_from_swap_cache
memory-failure.c:715: delete_from_swap_cache(p);
shmem.c:1115: delete_from_swap_cache(*pagep);
shmem.c:1645: * unaccounting, now delete_from_swap_cache() will do
shmem.c:1652: delete_from_swap_cache(page);
shmem.c:1668: delete_from_swap_cache(page);
vmscan.c:673: __delete_from_swap_cache(page);
swap_state.c:137:void __delete_from_swap_cache(struct page *page)
swap_state.c:218:void delete_from_swap_cache(struct page *page)
swap_state.c:227: __delete_from_swap_cache(page);
swapfile.c:947: delete_from_swap_cache(page);
swapfile.c:987: delete_from_swap_cache(page);
swapfile.c:1023: delete_from_swap_cache(page);
swapfile.c:1571: delete_from_swap_cache(page);
./linux-4.9/mm$