У меня возникла проблема, из-за которой Linux, похоже, использует своп вместо оперативной памяти. Мне кажется, что я вызвал ошибку, потому что:
- Своп, кажется, используется для хранения данных, которые регулярно используются,
практически не используется.
- Весь ПК кажется очень медленным, чтобы реагировать на любые
команда (например, открытие меню «Пуск», переключение окон, запуск
новый терминал и т.д.)
- использование памяти подкачки составляет 100%, когда у меня осталось 28 ГБ (двадцать восемь) ОЗУ (используется 4 ГБ)
- Своп используется для приложений, которые я только что запустил (например, chrome, R-studio), потому что он поднимается, когда я запускаю эти приложения, и освобождается, когда я их закрываю.
Есть ли способ сила linux прекратить использовать своп для нового выделения памяти? Я установил swappiness на 0.
РЕДАКТИРОВАТЬ:
Прежде чем я задал вопрос, я изменил swappiness через sudo sysctl vm.swappiness=0
и я сделал изменение постоянным в /etc/sysctl.conf
. Это не имело значения.Я не перезагружал свой компьютер, потому что у меня есть работа, но время работы составляет всего 3 дня.
$ кошка /proc/sys/vm/swappiness
0
$ время безотказной работы
09:08:54 вверх 3 дня, 6 мин, 1 пользователь, средняя загрузка: 1,90, 2,23, 2,45
$ uname -a
5.4.0-72-generic #80~18.04.1-Ubuntu SMP пн 12 апр 23:26:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ бесплатно -м
общее количество использованных бесплатных общих баффов/доступных кешей
Память: 32022 1891 229 610 29901 29069
Обмен: 2047 988 1059
EDIT2: я запускаю сценарий SQL для базы данных postgresql. Сценарий очень длинный, но состоит всего из нескольких \копировать(выбрать...)
операторы, которые выгружают данные в csvs. Я бы предположил, что не psql забивает своп, а ядро решает, какую память использовать?