Kswapd0 занимает много процессора

Процесс kswapd0 - это процесс, который управляет виртуальной памятью. Ваша машина должен есть оперативная память, ПОДКАЧКА и EXT4 на вашем жестком диске / SSD. ext4 - это место, где хранится все, и доступ к нему всегда медленнее, чем к оперативной памяти. Оперативная память - это как бы промежуточное рабочее пространство для быстрого доступа программ к информации. Большинство компьютеров имеют по крайней мере 4 ГБ оперативной памяти, чего при нормальных условиях вполне достаточно. Однако, играя в игру, у вас может не хватить места в оперативной памяти, и именно здесь на помощь приходит ПОДКАЧКА.

SWAP - это поддельная оперативная память, расположенная на вашем жестком диске / SSD рядом с вашим EXT4. Доступ к нему быстрее, чем к EXT4, но он намного медленнее, чем фактическая оперативная память. Когда у вас заканчивается память, kswapd0 перемещает программы, которые вы не используете / используете не так часто, как другие программы, в подкачку, что вызывает крайнюю задержку в этих процессах. Если бы вашей игре требовалось 5 ГБ оперативной памяти, то как МИНИМУМ 1 ГБ было бы подкачано. Это означает, что когда он пытается получить доступ к этой информации, ему приходится ждать дольше, чтобы получить ее.

Весь этот процесс приводит к чрезмерной загрузке процессора, перемещению информации из подкачки и оперативной памяти и обработке запроса информации одновременно. Как решить эту проблему?

  1. Скажите kswapd0, чтобы он перемещал данные для подкачки только тогда, когда у вас полностью закончилась оперативная память. Это единственный наиболее эффективный метод решения проблем со свопом. Бежать

    echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf

    где 0 является ли процент, оставшийся вне 100 при котором следует использовать SWAP (когда у вас останется 0% оперативной памяти, SWAP начнет принимать данные). Вы также можете просто отредактировать /etc /sysctl.conf по своему вкусу вместо того, чтобы добавлять эту команду в конец каждый раз, используя gedit или nano или что-то еще, но обязательно sudo, этот файл принадлежит root. Перезагрузитесь, и все готово!

  2. Уменьшите потребление оперативной памяти другими процессами или закройте другие программы во время выполнения программ с большим объемом памяти. Вот почему большинство игр советуют вам закрыть все остальные окна перед началом игры, или установки делают то же самое. Такие вещи, как службы синхронизации файлов, как правило, занимают много памяти.
  3. Купите больше оперативной памяти. Установка оперативной памяти не так сложна, как кажется. Один или два винта на небольшом отсеке (если вы используете ноутбук) и простой щелчок. Просто убедитесь, что вы покупаете правильный сорт!
  4. Уменьшите нагрузку на процессор так же, как вы это делали с оперативной памятью. Это поможет тем, кто использует оперативную память для ОБМЕНА пакетами, работать намного плавнее.

Это лучшее, что ты можешь сделать. Другие могут сказать, что полностью отключите swap, но это опасно, и я бы не рекомендовал этого делать. Это может привести к зависанию целых систем, если произойдет утечка памяти или будет запущено слишком много приложений. Просто поймите, что ПОДКАЧКА является безотказной для оперативной памяти. Это определенно не так быстро и эффективно, как оперативная память, но это лучше, чем файл подкачки Window! (который достигает той же цели)

РЕДАКТИРОВАТЬ: Если вам интересно узнать больше о SWAP, см. здесь.