Получается при занятости оперативки на 40% - начинает использоваться swap.
Нет.
vm.swappiness не связан с тем, когда надо использовать swap, более того - это даже не процент оперативки, а соотношение страниц памяти занятых под файловый кеш и анонимных страниц памяти (анонимные это те в которых хранятся данные порождённые в процессе работы программы и не имеющие отображения на диске - переменные грубо говоря).
Если выставить vm.swappiness равным нулю, то сначала будет выгружен на диск весь возможный файловый кеш и только после этого в swap будут выгружены анонимные страницы (а в swap выгружаются только анонимные страницы).
Если vm.swappiness равен 100, то на одну страницу файлового кеша будет выгружена одна старница анонимного кеша в swap.
И в свежих ядрах vm.swappiness может быть выставлен в 200, то есть ситуация диаметрально противоположная vm.swappiness выставленному в 0 - сначала будет сброшен в swap весь анонимный кеш и только потом начнёт выгружаться на диск файловый кеш.
Остав в покое vm.swappiness и прочие параметры ядра пока не разберёшься, с тем что они делают и даже тогда не стоит их трогать - в лучшем случае ничего не измениться, но скорее всего ты сделаешь хуже.