Почему не работает vm.swappiness?

 ~ uname -a
Linux user 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 ~ cat /proc/sys/vm/swappiness
 5

 ~ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.7Gi       6.0Gi       123Mi       1.1Gi       1.5Gi       278Mi
Swap:         3.8Gi       2.0Gi       1.8Gi

Такое же поведение было в Ubuntu 18.04, и я думал, что в Ubuntu 20.04 проблема будет решена, но у меня такая же проблема.

Неважно, использую ли я файл подкачки или zram, установка vm.swappiness никогда не работает.

Согласно запросу:

top - 21:46:46 up 13 min,  2 users,  load average: 3.86, 3.82, 2.20
Tasks: 268 total,   3 running, 265 sleeping,   0 stopped,   0 zombie
%Cpu(s): 39.0 us, 14.0 sy,  0.1 ni, 46.8 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7858.1 total,    146.8 free,   5743.9 used,   1967.3 buff/cache
MiB Swap:   4096.0 total,   3960.5 free,    135.5 used.    971.5 avail Mem

 ~ grep -i swap /etc/fstab
/swapfile                                 none            swap    sw              0       0
0
задан 29 September 2020 в 21:49

1 ответ

Наоборот, в ядре 5.4 что-то не так в системе ВМ.

В ядрах серии 5.4 я могу иметь около 4 ГБ приложений, работающих на моей 16-гигабайтной системе дома, делать что-то, включающее около 5-10 ГБ+ дискового ввода-вывода, и в конечном итоге я выгружаю около 2 ГБ+... и приятно большая пауза подкачки, если я открываю меню или что-то в этом роде. Кажется, что установка vm.swappiness=1 по сравнению с vm.swappiness=100 по умолчанию практически не влияет на ядра 5.4.x.

В ядрах до 5.4 я работал в Ubuntu 18.04, а также с ядром 5.7.x я запускал в Ubuntu 18.04 с основной линией (установщик основного ядра Ubuntu), если вы установите vm.swappiness=100, это все еще не было столь агрессивным. со свопом как 5.4 есть. Не то, чтобы я рекомендовал такое низкое значение, как vm.swappiness=1, но в серии 5.4.x кажется, что он все еще довольно сильно подкачивает, в ядрах до 5.4 и после 5.4, если бы я запускал достаточно приложений, это позволяло бы приложениям виртуально заполнять ОЗУ. до того, как он поменялся местами, что привело к довольно плохой производительности из-за крошечного объема оперативной памяти, оставшейся для дискового кеша; он действительно показывал почти нулевое использование подкачки, пока ОЗУ не было полностью заполнено.

1
ответ дан 13 December 2020 в 04:22

Другие вопросы по тегам:

Похожие вопросы: