Я столкнулся с проблемой, когда linux использует подкачку вместо оперативной памяти. Мне кажется, что я вызвал ошибку, потому что:
Есть ли способ заставитьlinux прекратить использование подкачки для нового выделения памяти? Я установил swappiness на 0.
РЕДАКТИРОВАТЬ: Прежде чем я задал вопрос, я изменил swappiness через sudo sysctl vm.swappiness=0
и сделал изменение постоянным в /etc/sysctl.conf
. Это не имело значения. Я не перезагружал свой компьютер, потому что у меня есть работа, но время работы составляет всего 3 дня.
$ cat /proc/sys/vm/swappiness
0
$ uptime
09:08:54 up 3 days, 6 min, 1 user, load average: 1.90, 2.23, 2.45
$ uname -a
5.4.0-72-generic #80~18.04.1-Ubuntu SMP Mon Apr 12 23:26:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ free -m
total used free shared buff/cache available
Mem: 32022 1891 229 610 29901 29069
Swap: 2047 988 1059
РЕДАКТИРОВАТЬ 2: Я запускаю сценарий SQL для базы данных postgresql. Сценарий очень длинный, но состоит всего из нескольких операторов \copy(select ...)
, которые выгружают данные в csvs. Могу предположить, что не psql забивает своп, а ядро решает, какую память использовать?