bytebuster: (ITCrowd-Moss)
[personal profile] bytebuster
Капець.
В Лінуксовому ядрі, починаючи з 2007 року, сидить бага, яку ніяк не можуть відловити.
Якщо система вижирає усю RAM+swap (або просто RAM, якщо своп вимкнено), все мерзне насмерть. До красної кнопки.
Пісєц же! У вінди навіть приснопам'ятної 95-ї все було нормально. Ну, гальмувало, але ж не висло до фізичного ресету!

Баг від 2007: System freeze on high memory usage
Численні реінкарнації:
2013: System freeze on high memory usage
2015: System freeze/restart on high memory usage
AskUbuntu.SE: Computer freezing on almost full RAM, possibly disk cache problem

Так це ще не все! Виявляється, що воно ще й страждає від фрагментації своп-файлу! Йоханий бабай, а я-то думаю, чому у мене iotop показує 700kb/s швидкості свопа при страшенному шарудінні механічним винтом…
Unix&Linux.SE: How can swapoff be that slow?

Йомайо, як так можна жити?! Ці дєтські болєзні вінда вилікувала ще у минулому тисячолітті, блін! І клава/миша лишалися responsive під час навіть сильного свопу (особливо, якщо UDMA; ну так 21 століття на дворі).

Карочє, я в афігєнії. Як люди з цим живуть?!

Натомість, відкрив для себе zram та irqbalance. Тепер на 8 Гб фізичних до свопу не лізе навіть при використаних 11 Гб. Хоч щось.

...

Дата: Середа, 21 Червень 2017 05:37 (UTC)
balu: (Default)
Від: [personal profile] balu
Відбивати malloc?
Не варіант, оскільки нема можливості нормальної обробки такої ситуації.
Падати аплікаціями?
Якими саме аплікаціями, бо їх може бути тисячі? Я б волів щоб була червона кнопка, замість довільних незрозумілих падінь.

Так, що миша не рухається.
Миша не рухається по тій причіні, що у графічної підсистеми такий же приорітет, що і у іншого користувацького процеса. У мене таке теж буває, як процесор завантажений на 100%. На вінді таке саме. Що на вінді краще - миша менш чутлива до тормозів через роботу з винтом, але описане тобою трапляється під час мережевих затримок.

Лінух такий усічка-пусічка, працює на 512М памʼяті і не страждає.
Дивлячись який лінух. У мене вже давно 16Г стоїть.
Змінено Дата: Середа, 21 Червень 2017 05:49 (UTC)

...

Дата: Середа, 21 Червень 2017 09:35 (UTC)
balu: (Default)
Від: [personal profile] balu
Процес отримує malloc()=null, а далі якщо програмер не лінивий, то обробляє
1) Для корректної обробки вже нема пам'яті, у тебе вона вся вижрана. 0 байтів вільно.
2) Зараз купа програм написана на мовах, що самі керують пам'яттю.

Окей, червона кнопка + штатний засіб індикації аварійного стану?
Гном 2 мені колись щось таке пропонував, коли своп майже закінчився.

...

Дата: Середа, 21 Червень 2017 10:18 (UTC)
balu: (Default)
Від: [personal profile] balu
В любому випадкові ми впираємось в:
1) вичерпання пам'яті - це аварійна ситуація, яка потребує реакції і від ОС, і від розробника.
2) далеко не всі програми взагалі матимуть змогу цю ситуацію коректно обробити.

Враховуючи те, що така ситуація досить рідкісна, то з цим можна не морочитись і робити більш цікаві задачі.

...

Дата: Четвер, 22 Червень 2017 05:42 (UTC)
balu: (Default)
Від: [personal profile] balu
Там, де є нестача якогось ресурсу неодмінно формуються певні практики розробки. Наприклад, в мобайл девелопменті це червоною ниткою проходить через архітектуру програм.
Якщо говорити про проблему обробки раптової нестачі пам'яті, то у юнікс-культурі не сформувалось відповідних практик. Навпаки, з самого моменту появи юніксів широко розповсюдженою практикою було використовувати мови, де програміст не турбувався про керування пам'яттю (дивись Unix Way).

...

Дата: П'ятниця, 23 Червень 2017 07:08 (UTC)
balu: (Default)
Від: [personal profile] balu
1) Оброби таке на bash-ові
2) Власне ти і підкреслив мою тезу: там, де це є дійсною проблемою, там і обробляється.

...

Дата: П'ятниця, 23 Червень 2017 13:32 (UTC)
balu: (Default)
Від: [personal profile] balu
Баш — не мова програмування. Це високорівнева, скриптова мова.
І що? Це все рівно мова, причому, Тьюрінг-повна. На якій написано тони коду. А те, що воно потребує інтерпретатора не є аргументом.

Де обробляється?
Наприклад, в java я задовбуюсь орбробляти потенційні проблеми з, наприклад, файловою системою. В Python теж автоматично обробляються такі випадки.

...

Дата: Середа, 21 Червень 2017 09:38 (UTC)
balu: (Default)
Від: [personal profile] balu
У мене миша не рухалась коли проц на 100% зайнятий розрахунками.

Я у вінди не бачив мерзлої миші з моменту
Не так давно я бачив мерзлу клаву на сімці.
Сторінку створено Субота, 14 Лютий 2026 22:53

Грудень 2025

П В С Ч П С Н
1234567
891011121314
15161718192021
22232425262728
2930 31    
Створено з Dreamwidth Studios

За стиль дякувати