«kswapd0» занимает часть процессорного времени моего устройства, хотя у меня нет свопа. В чем дело?

Используя Ozcan ROM 6.3 на моем Samsung Galaxy S4, я наблюдаю , как процесс kswapd0 замедляет работу процессора. То же самое произошло и на другом TW KK ROM - Omega. После изучения этого в течение нескольких недель я понял, что это процесс, который выполняет работу SWAP — перенос содержимого ОЗУ в хранилище, когда памяти мало.

В настоящее время я не хочу использовать SWAP, поэтому ниже приведены обходные пути, которые я пытался отключить SWAP:

  • Пробовал такие приложения, как Swapper2, сброс Swap для удаления файла подкачки. Процесс исчезает на несколько секунд, но похоже, что файл подкачки снова создается (проверено с помощью команды, бесплатно).
  • Использовал команду swapoff -a(Остановить подкачку на всех устройствах подкачки), но она выдает ошибку - swapoff: /etc/fstab: No such file or directory .

Итак, мои запросы выглядят следующим образом:

  • Почему и как SWAP включается автоматически? За это отвечает ядро ​​или ПЗУ?

  • Когда на самом деле мог быть создан раздел SWAP, если я не делал этого вручную? При перепрошивке ПЗУ?

  • Что я делаю неправильно в команде swapoff? Прочитав о той же ошибке, я думаю, что это связано с расположением файла подкачки. Итак, как я могу узнать местоположение файла подкачки? Любые предложения по постоянному отключению SWAP или уменьшению использования процессора kswapd0, если отставание не связано напрямую с SWAP?

(Первоначально опубликовано на XDA )

Привет и добро пожаловать в Android.SE! Спасибо за этот хороший вопрос. Мы надеемся, что вам понравится это место и вы решите остаться. Я знаю, что вам понадобилось больше полугода, чтобы получить ответ. На будущее: старайтесь почаще возвращаться и редактировать свои оставшиеся без ответа вопросы. Добавляйте обновления о ходе ваших исследований и экспериментов. Каждый раз, когда вы редактируете, ваш вопрос поднимается вверх главной страницы, потенциально привлекая к нему больше внимания.
creieras.wordpress.com/2011/12/16/… говорит, что проблема связана с тем, как ядро ​​обрабатывает память.

Ответы (1)

Возможно, отключить kswapd0 невозможно. Даже если его можно отключить, не стоит пытаться. Видите ли, kswapd0 выполняет важную работу, даже если у вас нет файла подкачки.

На веб-сайте Ubuntu Stack Exchange psusi объясняет:

Пространство подкачки используется только для данных, которые не поддерживаются никаким другим файлом. Данные, отображаемые из других файлов на диске (например, исполняемых программ), по-прежнему заменяются соответствующими файлами, даже если у вас нет устройства подкачки.

Вы должны посетить оригинальный ответ psusi и проголосовать за него.

хорошо, но почему он загружает процессор?
@endolith: я предполагаю, что он подкачивает двоичные файлы в ОЗУ и из него. Это требует процессорного времени. Не беспокойтесь о процессорном времени, которое занимает kswapd0.
Но это занимает МНОГО процессорного времени, и телефон без причины греется.
Сколько это много? Кроме того, насколько горячий телефон? Что бы это ни стоило, некоторые приложения могут сообщать вам температуру батареи (с помощью термистора, встроенного в каждую батарею телефона Android). Кроме того, другие приложения могут сообщать вам температуру процессора . Кроме того, вы можете использовать какое-либо внешнее устройство для измерения внешней температуры телефона. Может тепловизор?