memory empty but swap full?

Я на Ubuntu mate 21.04 с swappiness установлен на 60 по умолчанию. Почему система преимущественно использует своп, если есть ~55 ГБ пустой памяти? Файл подкачки находится на диске nvme, но память все равно быстрее, так почему при стандартном значении swappiness он не используется больше?

enter image description here

2
задан 22 August 2021 в 06:21

2 ответа

Действительно, используется много свопа, несмотря на низкое использование памяти и большое количество свободной памяти. Однако текущее состояние зависит от истории использования. Если в начале сеанса память использовалась интенсивно, неиспользуемые страницы будут перемещены на диск. Эти страницы не будут удалены из свопа, если только они не понадобятся снова. Если они не нужны, они просто останутся в свопе, даже если снова появится много свободной памяти.

3
ответ дан 4 September 2021 в 09:28

Исторически сложилось так, что 2G / файл подкачки никогда не было достаточно.

Давайте увеличим ваш / swapfile с 2G до 4G и изменим значение vm.swappiness ...

/ swapfile

Примечание : неправильное использование rm и Команды] dd могут вызвать потерю данных. Предложите скопировать / вставить.

В терминале ...

sudo swapoff -a           # turn off swap
sudo rm -i /swapfile      # remove old /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

sudo chmod 600 /swapfile  # set proper file protections
sudo mkswap /swapfile     # init /swapfile
sudo swapon /swapfile     # turn on swap
free -h                   # confirm 64G RAM and 4G swap

Отредактируйте / etc / fstab, используя sudo -H gedit / etc / fstab или sudo pico / etc / fstab .

Подтвердите эту строку / swapfile в / etc / fstab ... и подтвердите отсутствие других строк "swap" ... используйте ПРОБЕЛЫ в этой строке ... подтвердите NO TABS ...

/swapfile  none  swap  sw  0  0

reboot                    # reboot and verify operation

vm.swappiness

Поскольку у вас так много оперативной памяти, установите vm.swappiness = 10. Это уменьшит необходимость подкачки вашей конфигурации. Похоже, вы знаете, как это сделать (отредактируйте /etc/sysctl.conf), но если нет, попросите дальнейших инструкций.

1
ответ дан 4 September 2021 в 09:28

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

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