LINUX.ORG.RU

kswapd0

 


0

1

Регулярно примерно раз в 2-3 дня всё начинает тормозить адски в X вобще мышь не двигается. При переключении в Ctrl-Alt-F2 и запуске top показывается некий KSWAPD0. Неубиваемый процесс с PID 29. Что это за говно. Как с этим бороться?


может своп полностью забит и памяти не хватает ? а в терминале ошибки какие нибудь есть ? и кстати что в логе /var/log/Xorg.log (или как то так) ?

gnigma
()
Ответ на: комментарий от gnigma

свопа вобще нет, не создавал его при установке. так как памяти 5 гигабайт а в туториале предлагалось что то типа размером 512 мегабайт создать своп я подумал нахрен эти 512 мегабайт ещё лишняя загрузка на диск будет всё тормозить когда он свопит. да блин неужели ему 5 гигабайт стало мало кто то же говорил что 64 килобайта должно хватить всем.

iluha16
() автор топика
Ответ на: комментарий от iluha16

да блин неужели ему 5 гигабайт стало мало

5 гигабайт - это вообще ни о чем. Сейчас и 16 GB уже мало. У меня, например, один браузер 5-8 GB занимает. Ну и независимо от загрузки памяти, своп нужен все равно - лучше излишки памяти под кеш файловой системы отдать, чем держать там неиспользуемые в данный момент данные.

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

с каждой новой версией браузер жрёт всё больше ресурсов а функционал всё тот же. что за хрень!

что делать с этим kswapd0? Почему эта тварь не умирает от команды `kill -KILL 29`?

iluha16
() автор топика
Ответ на: комментарий от iluha16

Создай своп. Это у тебя память кончается.

anonymous
()
Ответ на: комментарий от iluha16

потому что это ядерный процесс. эта тварь старается не подпустить к твоим процессам ООМ-киллер (зря, конечно, буратин надо наказывать).

SevikL ★★★★★
()
Ответ на: комментарий от iluha16

Потому что это не хрень, а ядерный поток.

anonymous
()
Ответ на: комментарий от SevikL

Да хоть термоядерный))) А что такое ООМ-киллер?

iluha16
() автор топика
Ответ на: комментарий от Deleted

считаю неправильным когда один процесс вешает всю систему. в надёжной системе процессу должно уделяться столько процессорного времени что бы оставался запас для работы с другими процессами что бы гуй не зависал например. возможно ли как то добиться этого в линаксе?

и ещё вопрос. если этот процесс kswapd0 занимается свэпингом а свэп отсутствует какого хера он вобще делает с таким усердием что гуй виснет на 10 минут.

в свопе не вижу смысла и так на SSD установлено зачем дисковые буферы в памяти засорять память.

iluha16
() автор топика
Ответ на: комментарий от iluha16

Это не процессу выделяются ресурсы, этот процесс — ядро. Ядру не хватает памяти для работы. Оно виснет из-за рекурсивной проблемы: для высвобождения памяти часто приходится сначала выделить ещё больше памяти. Сделай своп и добавь планок памяти.

anonymous
()
Ответ на: комментарий от iluha16

Процессор тут не причём, да и диск тоже не особо, ядро висит в блокировках или даже тупо в бесконечном цикле — натурально в ядре так и сделано, не удалось выделить памяти — висим в цикле, тк чтобы что-то делать нужно выделить памяти которой нет. Это просто плохой дизайн говнокода а может просто решение для упрощения.

anonymous
()
Ответ на: комментарий от anonymous

Какое-то говно, а не алгоритмы. Или я чего-то не понимаю. Но разве нельзя сделать миниатюрного убийцу процессов, который ВСЕГДА будет в оперативке, и который при нехватке памяти будет отстреливать самые жирные/спящие процессы?

Deleted
()
Ответ на: комментарий от Deleted

Описываю в рамках своего понимания. Проблема в рекурсивных зависимостях: одно дело убить процесс, другое дело понять, что его память теперь свободна для использования. Например дисковые буферы это память ядра, если процесс был убит в процессе записи данных, эти данные в буферах всё равно считается что должны быть записаны, даже если они скоррапчены, тк ядро уже не знает, что это память того процесса. А ведь драйверам дискового контроллера, диска и файловой системы в этот момент тоже нужна память.

anonymous
()
Ответ на: комментарий от anonymous

что это память того процесса

В смысле в рамках механизмов ядра нет, но с точки зрения пользователя и выполняемых задач — да.

anonymous
()
Ответ на: комментарий от Deleted

Или ещё пример, пара процессов выжрала памяти и второй блокировкой ждёт первого, а первый завис тк не смог выделить памяти, ну или можно смотреть на это что система остановила его от выжирания памяти. С ним завис и второй процесс, но допустим он был временный и если бы блокировка была освобождена он бы сам закрылся, освободив паямть. Те выходит остановив первый процесс чтобы остановить жор памяти система наоборот помешала высвобождению памяти косвенно не дав закрыться второму процессу.

anonymous
()
Ответ на: комментарий от anonymous

да какого говна напихали в это ядро что ему 5 гигов мало. и раз уж оно выполняет что то то пусть выполняет но при этом не тормозит гуй. разве это не правильно я говорю? система должна зарезервировать объём памяти необходимый для того что бы этот ядерный процесс выполнился не тормозя всё остальное в бэкграунде.

iluha16
() автор топика
Ответ на: комментарий от iluha16

5 гигов мало не ядру, а программам, просто ядро ту же память использует что занимают приложения, вернее не может, тк она ими занята. Гуй работает ЧЕРЕЗ ядро, как и всё в системе, а не ядро что-то там выполняет. Ну а то что работа при нехватке памяти в линуксе сделана через жёпу это не новость.

anonymous
()
Ответ на: комментарий от anonymous

почему ядро не может зарезервировать себе память?

а в какой системе работа при нехватке памяти сделана не через жёпу?

iluha16
() автор топика
Ответ на: комментарий от iluha16

Почему эта тварь не умирает от команды `kill -KILL 29`?

Потому что это ядерный процесс. Убить его - все равно, что кнопку Reset нажать ;).

что делать с этим kswapd0?

Выделить место под своп. Желательно на быстром носителе (SSD). Увеличить RAM.

с каждой новой версией браузер жрёт всё больше ресурсов а функционал всё тот же. что за хрень!

Дело не в браузерах, а в web-разработчиках, которые так сайты пишут :(.

Serge10 ★★★★★
()

сначала от свопа избавляются, а потом страдают.

Deleted
()

Какая у тебя версия ведра? Это баг, а не фича. В рассылке гдет-то было для CentOS.
Если места под своп нет, то делай своп файл. Болтаться будет просто, но kswap0 тупить не будет.

TomBOY ★★
()
Ответ на: комментарий от Serge10

Т.е. если сделать 512 мегабайт свопа эта хрень прекратится? А может проще 512 мегабайт памяти вставить? Есть разница какая то?

iluha16
() автор топика
Ответ на: комментарий от iluha16

Solaris, FreeBSD.

В DFBSD ещё не очень хорошо, последний релиз при установке пакетов сжирает 16 гигов и лезет в своп, в мастере это чуток пофиксили.

Но тебе эти системы не осилить…

anonymous
()
Ответ на: комментарий от iluha16

Память конечно лучше, но ещё лучше и добавить памяти и включить своп вместе, чтобы в своп сбрасывались неактивные данные и не занимали настоящую оперативку.

anonymous
()
Ответ на: комментарий от iluha16

свопа вобще нет

linux без swap работать адекватно не может. Обратись к документации, например redhat.

King_Carlo ★★★★★
()
Ответ на: комментарий от anonymous

не осилить говоришь. freebsd я ставил успешно и пользовался. про solaris не знаю, он же вроде проприетарный или нет?

iluha16
() автор топика
Ответ на: комментарий от iluha16

freebsd я ставил успешно и пользовался

поставь снова и подобные вопросы отпадут :)

про solaris не знаю, он же вроде проприетарный или нет?

SmartOS — виртуалки/контейнеры крутить, OmniOS — прочие сервера, OpenIndiana — десктоп, если видяха Intel или Nvidia.

anonymous
()
Ответ на: комментарий от iluha16

Т.е. если сделать 512 мегабайт свопа эта хрень прекратится?

Нет, не прекратится. Вам уже сказали выше - своп нужен при работе в Linux. Так здесь устроено управление памятью. Могу лишь утешить, что при достаточном размере RAM наличие свопа к тормозам не приведет.

Serge10 ★★★★★
()
Ответ на: комментарий от iluha16

на зло мамке отморожу уши, что тут ещё можно сказать

anonymous
()
Ответ на: комментарий от iluha16

а в какой системе работа при нехватке памяти сделана не через жёпу?

macOS, тебе определённо стоит её попробовать.

EXL ★★★★★
()
Ответ на: комментарий от iluha16

ну они-то точно умнее тебя. а если учесть, что эту платформу выбирает для работы дохерард программистов и инжинеров, то ты жидко обосралсо.

anonymous
()
Ответ на: комментарий от anonymous

а если учесть, что эту платформу выбирает для томных вздыханий дохерард хтмл-программистов и PHP-инжинеров сомнительной ориентации, то ты нифига не смыслишь в смазках и анальных плагах!

Пропагандируем-с?

anonymous
()
Ответ на: комментарий от anonymous

а вот и латентная гомосятина подтянулась со своими влажными фантазиями

У кого что болит. Правда, это совсем не я вскинулся на защиту и гордо пукнул про «инжиниров». Но ты продолжай, продолжай — твой друг в награду наверняка пощекочет тебя своей бородкой!

anonymous
()
Ответ на: комментарий от anonymous

да мне пофиг какие гении её выбирают учитывая тот факт что мне в ней не нравится чуть более чем всё я ей пользоваться не собираюсь

iluha16
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.