LINUX.ORG.RU

Дикие тормоза когда исползуется swap

 ,


0

2

Как только системе нужно что-нибудь записать в swap считай всё. Можно идти убирать дом, готовить, чай, кофе, горячий шоколад, спать и т.п. так как дождаться когда же её отпустит я так ни разу и не смог. Единственный выход это переключится в консоль и оттуда позавершать программы которых не жалко. atop показывает что HDD «busy» и используется на 101%. По использованию CPU первое место, скорее всего, занимает та программа которую я запустил последней или та что система пытается отправить в swap. Ну и ещё иногда какой-то kworker.



Последнее исправление: onemorehuman (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

читал на lwn.net, искать заново лень

anonymous
()

Мне показалось, что 3.9 в таких случаях прекратило тормозить по полчаса (стало менее минуты) и oom killer регулярно убивал кого-нибудь ненужного, но потом в 3.9.1 собралось с bfq и в 1 же день после ребута зависло намертво.

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 1)
Ответ на: комментарий от wakuwaku

oom killer регулярно убивал кого-нибудь ненужного

а зачем ты тогда запускал этого «ненужного»?

а потом когда оно оказалось убитым — ты якобы даже не испытал негатива... что за люди такие....

представь что ты нанял на строительство своего особняка рабочих. потом пришлось платить им зарплату, но денег на всех сразу не хватило, и поэтому ты решил убить нескольких «ненужных» рабочих :-D

(ну увеличь ты swap раз в 10 и не убивай ни кого)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

Я не знаю, можно ли считать нужным протёкшее неиспользуемое приложение, оставшееся на пару дней в фоне. Никаких претензий не имею. В основном убивался либо запросивший гигабайты памяти компилятор, либо глючная виртуалка с псевдонезанятой памятью. Зато теперь в таких случаях теряется состояние всех запущенных приложений, в прошлый раз ещё и файрфокс преманентно потерял сессию с несколькими сотнями вкладок, чего со свободно действующим oom killer никогда не случалось.

swap раз в 10

если приложение захочет целиком в свопе остаться во время активной работы, можно сразу хардресет делать

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 1)
Ответ на: комментарий от wakuwaku

хочу заметить что «потёкшее» приложение хоть и является проблемой (и это очень плохо!), однако оно НЕ обращается ко своей «потёкшей» памяти..

то есть «потёкшее» приложение — попросту даже не знает о том что ему принадлежит некий огромный кусок памяти :-) .. [есть некоторорые исключения: например, высокоуровневая утечка в интерпретируемых языках и «сборщик мусора» который проверяет в том числе и «утёкшую» память]

...а раз так — этот огромный кусок — просто запишется *один-раз* в swap-раздел и ни разу не будет ни кем оттуда прочитан (а следовательно это не должно вызывать излишних тормозов).

такие дела! \(^_^)/

# P.S.: также — не следует путать «потёкшую» память и высокофрагментированную память... иногда высокую фрагментацию, возникающую со временем — пользователи воспринимают как «протечку» (так как признаки похожи. 1. возникает со временем. 2. увеличиваеся занятое место в памяти программой.)... высокую фрагментацию разумеется бесполезно лечить свопом, хотя вопрос спорный, так как аллокатор памяти может по разному работать в различных условиях доступности памяти..

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 6)
Ответ на: комментарий от user_id_68054

Согласно моим наблюдениям, тормоза возникают либо когда вся память закончилась и ядро судорожно пытается освободить её, либо когда имеющаяся свободная память находится в свопе, а её нужно много (в случаях, когда внезапно понадобилось несколько гигов из свопа) и в результате программа едва ли не целиком помещается в своп. Ядро может полностью перестать отвечать на какие-либо команды (можно попытать удачу с magic-key, обычно минут через 10 срабатывает, но время простоя зачастую более критично, чем даже утеря данных в памяти и загрузка всей системы с 0, и оно вовсе не обязательно ограничится этими 10 минутами).

При нормальной работе, я не наблюдаю никаких симптомов нехватки памяти с нормальным использованием свопа. Т.е. если программа разместит некоторые свои сегменты на диске, никаких проблем от этого не будет.

И я предполагаю, что OOM-killer должен отдавать предпочтение в первую очередь «текущим» процессам.

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

magic-key, обычно минут через 10 срабатывает

нужно сначала alt+sysrq+r дабы иксы не перехватывали клавиатуру, затем alt+sysrq+f или переключаться в vt. ни при каких условиях у меня не занимает больше нескольких секунд

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

у меня занимает… говорю же, мне кажется это всё из-за bfq, хотя сat /sys/block/sda/queue/scheduler сейчас вообще говорит none, но вроде и лагов не наблюдаю пока и своп не занят, поэтому сложно судить.

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

а ещё у тебя scsi_mod.use_blk_mq=Y, да? blk_mq сейчас ещё не поддерживает io шедулеры, отсюда тормоза и «none»

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

Хм, это так, но ведь CONFIG_SCSI_MQ_DEFAULT=y у меня since forever и как раз все тормоза полностью пропали после улучшений, добавленных в 3.19.0 (точно помню, что после перехода с 3.18.6 на 3.19.0 bfq в патче тогда не было), вот дифф между хорошо работавшим и дважды исправленным текущим. Время не совсем точное, на самом деле тот конфиг использовался куда дольше, с тем лишь различием, что там прежде был мультилиб. Через пару недель аптайма можно будет сказать точнее, как проявит себя текущий.

wakuwaku ★★★★
()

для начала, установи линукс, что ли

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

Если линукс развивается, то почему дремучий XP, который раньше сливал линухам вчистую, стал опережать его на том же железе? Или ядро начали на жабоскрипте писать?

старенький ноут на ТРЕТЬЕМ ПНЕ и с 512 мегами памяти, но с XP, >справляется с задачами примерно также.

Чует моё сердце, где-то привираешь, только никак не могу понять - где...

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

zswap + ssd = незаметный сваппинг.

может проще всё-таки память докупить и девушку найти, вместо того чтобы собачку дома мучить?

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

На слабых компах - линуксу больше не место, не тянет.

а теперь установи антивирус на винду и заткнись

darkenshvein ★★★★★
()

а ты уверен что диск тут совершенно не причём? может на диске badblok в области свопа? посмотри смарт, попробуй переместить своп в другое место на диске или вообще на другой диск или вообще на флешку.

mm3 ★★★
()

Итак, из моего личного опыта: 1. Если нужно перманентное решение проблемы, то все делается просто освобождением свопа командной sudo swapoff -a 2. Можно отрегулировать, чтобы система не использовала своп до определенного количества оставшейся свободной оперативки, гугли «swappiness»

Проблема медленного свопа в том, что жесткий диск очень медленный сам по себе и когда программа работает из свопа, то все процессы чтения-записи работают медленнее раз так в десять.

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

как маленькая девочка винду без антивируса сравниваешь?

common sence 2015 уже не катит?)

Это платье тебя толстит?

Какого цвета?

devl547 ★★★★★
()

Зато бесплатно.

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

почему тогда не сделают в ядре это поумолчанию

at least one already existing swap device is required in order for zswap to be used

как это понимать?

zswap требует swap-раздел? (ну не на астрал же он будет писать данные.. это и понятно).. какие новые трудности это открывает?

как это мешает быть ему поумолчанию в ядре? :-)

обычный swap (не zswap) — тоже требует для себя swap-раздел. однако по умолчанию в ядре это есть, и ни кто не жалуется :-)..

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

как это понимать?

для того чтобы использовать zswap, нужен как минимум один swap

как это мешает быть ему поумолчанию в ядре?

большинству swap вообще не нужен, а c zswap его нужно включать

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

А теперь скажи, зачем винде антивирус, если я хожу только по деловым сайтам, почте и не устанавливаю всякий мусор? Однако, приходится сидеть с администраторскими правами, так как иначе не работает DNC, винда она такая, винда.

Хотя, судя по твоим комментариям, вряд ли ты способен вести нормальный диалог.

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

Всегда хотел спросить «свапоненужников» - а куда комп засыпает? Я действительно не знаю и всегда считал что в свап. Так куда?

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

Да знаю я про всякие каки, только, как это касается меня? Кстати, сижу я за двумями роутерами, да и в Фоксе стоят ноускрипты и адблоки. А про то, что антивирусы уже отказываются потихоньку от поддуржки устаревшей винды - я слышал, а также, про то, что антивирусы на тестах отлавливали не более 30% херни, отсюда и ненужно.

И кстати 2 - поскольку ноут сломали, буду лепить новый, на линуксе. Потому что без привычного софта не удобно, а кадов и дынц есть теперь и под линь.

Но со своей точки зрения я не уйду. Линукс разжирел и не способен расшевелить старую железку. Тут спорить не о чем.

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

Это сегодня, а завтра захочешь скачать какую-нибудь картинку на обои или песенку, или кино посмотреть. Или какой безобидный файл с нужным документом, который тебе передали. А там вирус прицеплен, и он внезапно исполнится! Хотя куда выгодней распространять трояны с рантаймом на пару сотен мегабайт, да всякие прочие evilware, это не отменяет того, что возможность всегда существует. Но проще и эффективней цеплять полезный код к setup.exe или keygen.exe, это да.

не способен расшевелить старую железку

ещё скажи ХР на п3 юзабельна, п4 то с сп уже совсем не потянет. А вот тот же tiny core — более чем оживит, даже более древний хлам, и его можно будет даже использовать без особой боли. Так что ты гонишь.

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

ещё есть p2, там 384M из-за ограничения чипсета

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

В компах того времени было поменьше памяти, как правило (больше просто не было нужно). Да и 1 гиг это уже значит использовать, отказавшись от любого требовательного софта.

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

сейчас уже не «то время»

1 гиг это уже значит использовать, отказавшись от любого

в «то время» я гонял на этом в ждалкера без тормозов

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

Я помню, как это было, с игрушками в свопе. :3 Тормозов во время игры могло и не быть, но все эти загрузки по 5 минут и прочее…

А так-то с 4-пнём и 1 гигом у меня запускались и более современные игори, это не показатель, игори — узкоспециализированное ПО. А уж с 2… Но это всё полумеры, не отменяет факта того, что свинья даже визуально куда медленней думает на таком железе, чем оптимизированный по ресурсам дистр.

Алсо, «то время» это 15 лет назад, а не 5.

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 4)
Ответ на: комментарий от Deleted

А зачем комп засыпать? Ты комп для засыпания юзаешь или для работы? Работает система без свапа гораздо быстрее.

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

загрузки по 5 минут

не помню, думаю значительно меньше было

даже визуально куда медленней

пока не засвопится, работает одинаково везде

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

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

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

Работает система без свапа гораздо быстрее.

и тут ты такой с воспроизводимым тестом

anonymous
()

Проблему подтверждаю. Как только не хватает памяти и начинает работать kswapd - тут же тормоза дичайшие...

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

2гб озу вполне достаточно для использования КДЕ. Полноценного использования. Если подключить свап, будут тормоза.

LightDiver ★★★★★
()

Какая неожиданность: винч это МЕДЛЕННЫЙ эмулятор оперативки.

Жесткий диск - очень медленный эмулятор оперативки, работающий в тысячи, если не миллионы раз медленнее настоящей оперативки. И вы хотите чтобы использование не тормозило? Мечтать не вредно. Настоящее решение - добить оперативки :). Если не получается - zram задействуйте.

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