» »

Katastrofalen hrošč v Linuxovem jedru 5.12-rc1 žrl podatke

Katastrofalen hrošč v Linuxovem jedru 5.12-rc1 žrl podatke

Slo-Tech - Minuli teden se je pokazalo, da obstajajo zelo utemeljeni razlogi, da testnih verzij programske opreme, četudi nosi oznako rc (release candidate), ni modro uporabljati na produkcijskih sistemih. V nedeljo, 28. februarja, je Linus Torvalds izdal prvo verzijo rc Linuxovega jedra 5.12, kar je po navadi precej dolgočasen dogodek. Če se v verziji rc najdejo kakšni večji hrošči, se ti popravijo in izide naslednja verzija rc, sicer postane verzija končna. To pot pa je imelo jedro 5.12-rc1 katastrofalnega hrošča.

Težava je bila tako resna, da je jedro dobilo oznako 5.12-rc1-dontuse, Torvalds pa je izrecno odsvetoval uporabo in hrošča označil kot double ungood. V kodo se je ob čiščenju prikradel na prvi pogled nenevaren hrošč, ki je okvaril delovanje izmenjalnih datotek (swap). Po navadi se v Linuxu v ta namen uporablja ločena particija (swap partition), ki je hrošč ne prizadene, zato ga niso odkrili takoj. Kdor pa uporablja datoteke za swap, mu bo hrošč pojedel podatke na disku. Zaradi hrošča bo operacijski sistem zapisoval podatke iz prepolnega polnilnika na naključna mesta na disku in ne v datoteko swap. Rezultat je razsut datotečni sistem, kar lahko okvari vse datoteke na isti particiji.

Torvalds je ob tem spomnil, da so bile doslej verzije rc dovolj stabilne, da so jih ljudje čedalje pogosteje uporabljali, čeprav gre še vedno za testno kodo. Popravek je sledil v nekaj dneh. Zaradi hrošča je nova verzija rc2 izšla predčasno.

59 komentarjev

«
1
2

carota ::

Pifffff, that was close. Kakšna sreča, da so to odkrili preden je izšla naslednja verzija Debiana ... :))

poweroff ::

Sramota.
sudo poweroff

Ales ::

Morda bo novica pomagala komu, ki iz nekega razloga uporablja še neizdane kernele kar na delovni mašini in poleg tega uporablja kombinacijo swapa v datoteki, za vse druge pa to odkritje spada bolj pod trivialne zanimivosti...

WhiteAngel ::

Kaj je naloženo na vozičku?

lovrenca ::

Well...yes. Sej zato pa se gre celo zadevo z RC-ji preden gre final release ven, da se take buge polovi.
Bo pa zanimiv pogledat kaj je šlo narobe.

Markoff ::

označil kot double ungood

Hrošča Goldsteina smo zatrli v kali, preden je naredil doubleplus ungood. Nothing to see here, chocolate rations are up 10% again...
Antifašizem je danes poslednje pribežališče ničvredneža, je ideologija ničesar
in neizprosen boj proti neobstoječemu sovražniku - v zameno za državni denar
in neprofitno najemno stanovanje v središču Ljubljane. -- Tomaž Štih, 2021

Invictus ::

poweroff je izjavil:

Sramota.

Niti ne. Se zgodi...

Kaže se samo na butaste IT admine, ki morajo vsako novost namestiti v produkcijo, po možnosti brez testiranja...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

srus ::

Če uporabljaš swap, že imaš problem.

Zvezdica27 ::

nepredviljiva, a pač saj se ve, kaj je rc...

c3p0 ::

RC na produkciji, mogoče pa le nisi primeren za to službo...

igorpec ::

c3p0 je izjavil:

RC na produkciji, mogoče pa le nisi primeren za to službo...


:D

Cela ta zgodba je IMO totalna neumnost in precej vsakdanja zadeva za RC in sveža jedra. Običajno se podatki ne izgubljajo na tako absurden način oz. se to odpravi preden se koda tagira.

S produkcijo pa to nima prav nobene zveze. RC jeder niti ArchLinux uporabniki ne jemljejo resno. Najbolj sveže x86 jedro za produkcijsko rabo je 5.4.y ...

Invictus ::

No, to ni čisto res.

Slovenska podjetja so nagnjena k tem, da v produkcijo dajejo

latest and greatest
.

Tako postanejo zastonj beta testerji za velike firme, pa še cel kup problemov si nakopljejo...

Biznis pa trpi...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Zgodovina sprememb…

  • spremenil: Invictus ()

mtosev ::

Še dobro, da ni bil final release / gold, ker bi bil takrat bigger fail.
Core i9 10900X, ASUS Prime X299 Edition 30, 32GB 4x8 3600Mhz G.skill, CM H500M,
ASUS ROG Strix RTX 2080 Super, Samsung 970 PRO, UltraSharp UP3017, Win 11 Pro,
Enermax Platimax 1700W | moj oče darko 1960-2016, moj labradorec max 2002-2013

eVro ::

srus je izjavil:

Če uporabljaš swap, že imaš problem.


Res je, swap je že sam po sebi neželen obliž. Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika. Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

Z nepotrebno vklopljenim swapom se dvigne verjetnost okvare podatkov v (v)RAMu, ker je v povprečju pomnjenih nekaj več podatkov in to deloma na izjemno počasnem mediju. Odvisnosti so sicer nelinearne, ampak hitro se opazi, da vRAM lahko stvari kvečjemu poslabša, razen seveda skupne kapacitete. Download more RAM!

win64 ::

eVro je izjavil:

srus je izjavil:

Če uporabljaš swap, že imaš problem.


Res je, swap je že sam po sebi neželen obliž. Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika. Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

Z nepotrebno vklopljenim swapom se dvigne verjetnost okvare podatkov v (v)RAMu, ker je v povprečju pomnjenih nekaj več podatkov in to deloma na izjemno počasnem mediju. Odvisnosti so sicer nelinearne, ampak hitro se opazi, da vRAM lahko stvari kvečjemu poslabša, razen seveda skupne kapacitete. Download more RAM!


Fedora mašina, 16GB rama. Trenutno prižgan RDP client, firefox z recimo 12 tabi in thunderbird:
MiB Mem : 15895,4 total, 9648,0 free, 4140,3 used, 2107,2 buff/cache
MiB Swap: 20478,0 total, 16227,1 free, 4250,9 used. 10955,8 avail Mem
Trenutno torej uporabljenih 4GB swapa, čeprav je 10GB prostega RAM-a. Torej to ni le neka čudna lastnost Windowsa.

Invictus ::

eVro je izjavil:

Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

kaj nabijaš.Če je dovolj RAMa, Windowsi lepo delajo z 16 MB swapa. Izklop pa ni priporočljiv, ker se mu pol res včasih mal zmeša...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

sbawe64 ::

Na winsih imam 400 MB pagefile (rama je +8gb), drugače včasih pojambra low memory.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

LightBit ::

Invictus je izjavil:

eVro je izjavil:

Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

kaj nabijaš.Če je dovolj RAMa, Windowsi lepo delajo z 16 MB swapa. Izklop pa ni priporočljiv, ker se mu pol res včasih mal zmeša...

Swap je tudi na Linuxu priporočljiv, ampak se priporoča swap particija.

win64 je izjavil:

eVro je izjavil:

srus je izjavil:

Če uporabljaš swap, že imaš problem.


Res je, swap je že sam po sebi neželen obliž. Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika. Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

Z nepotrebno vklopljenim swapom se dvigne verjetnost okvare podatkov v (v)RAMu, ker je v povprečju pomnjenih nekaj več podatkov in to deloma na izjemno počasnem mediju. Odvisnosti so sicer nelinearne, ampak hitro se opazi, da vRAM lahko stvari kvečjemu poslabša, razen seveda skupne kapacitete. Download more RAM!


Fedora mašina, 16GB rama. Trenutno prižgan RDP client, firefox z recimo 12 tabi in thunderbird:
MiB Mem : 15895,4 total, 9648,0 free, 4140,3 used, 2107,2 buff/cache
MiB Swap: 20478,0 total, 16227,1 free, 4250,9 used. 10955,8 avail Mem
Trenutno torej uporabljenih 4GB swapa, čeprav je 10GB prostega RAM-a. Torej to ni le neka čudna lastnost Windowsa.

Zanimivo, jaz na svoji Fedori še nisem opazil da bi bilo kdaj kaj na swap-u. Ali je to morda kaj z hibernacijo?

Zgodovina sprememb…

  • spremenil: LightBit ()

Glugy ::

Kaj je ta swap sploh?

LightBit ::

Zvezdica27 ::

lejte... včasih moraš dati rc gor, da kak nov HW dela... pač. Tvegaš.

Swap: lej, dokler je po defaultu swap, že vedo zakaj mora to biti. Sem testiral brez in ne vem kaj... daš default in č.a.o.

zz

driver_x ::

eVro je izjavil:

Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno.


Vklopiš za tisti en primer na 15 let, ko iz bilokaterega razloga porabiš vseh 64GB RAM-a.

pffff ::

eVro je izjavil:

srus je izjavil:

Če uporabljaš swap, že imaš problem.


Res je, swap je že sam po sebi neželen obliž. Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika. Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

Z nepotrebno vklopljenim swapom se dvigne verjetnost okvare podatkov v (v)RAMu, ker je v povprečju pomnjenih nekaj več podatkov in to deloma na izjemno počasnem mediju. Odvisnosti so sicer nelinearne, ampak hitro se opazi, da vRAM lahko stvari kvečjemu poslabša, razen seveda skupne kapacitete. Download more RAM!


Neumnost. Imam 32Gb RAMA, KVM, virtualka 8Gb rama, gnome 3 (ja, ja, prvic in zadnjic) zraven pozenem se recimo goland, codium (dejansko se moram tega sranja znebiti), nekaj browserjev (ne tabov, locenih instanc), evolution, pa sem na dobri poti, da se bo oglasil oomkiller (ki ga je nek kreten naredil virtualkam sovraznega in ubije ravno tisto, kar me najbolj boli, sem ga ukrotil ampak wtf).

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"), zraven so v kurcu spisane se web strani, skratka java* golta ram in res se mi ne da z vsakim softwarom ukvarjat in ga tweakat zato, da ne bo pretirano pozresen.

Zgodovina sprememb…

  • spremenilo: pffff ()

Samael ::

eVro je izjavil:

Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika.

Ne pa nujno za vsako pizdarijo tipa OpenVPN, kakšen IRC client, statičen webpage, itd ... zakupljene virtualke v VPS hosting industriji, ane?
Samael != Samuel

LightBit ::

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.

pffff ::

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.


Naah, ne more preziveti ubitja procesa.

eVro ::

win64 je izjavil:


Fedora mašina, 16GB rama. Trenutno prižgan RDP client, firefox z recimo 12 tabi in thunderbird:
MiB Mem : 15895,4 total, 9648,0 free, 4140,3 used, 2107,2 buff/cache
MiB Swap: 20478,0 total, 16227,1 free, 4250,9 used. 10955,8 avail Mem
Trenutno torej uporabljenih 4GB swapa, čeprav je 10GB prostega RAM-a. Torej to ni le neka čudna lastnost Windowsa.


Tipičen primer, kjer swap lahko samo bremza in ne more pomagati. Linux ga vseeno uporablja za starejše podatke v RAMu za primer, da bi na hitro moral nasloviti veliko pravega RAMa in da takrat ne bo treba čakati prepisovanja na disk. Kernel parameter "swappiness" nelinearno nastavlja razmerje in se med distribucijami razlikuje (bi rekel da zato @LightBit opaža drugačno obnašanje - lahko objavita vrednosti /proc/sys/vm/swappiness pa vidimo).

Če ne potrebuješ več kot 16GB v vsakem trenutku, lahko swap izklopiš in prišparaš plac, kako milisekundo tu in tam ter kako minutko na bateriji. Vprašanje je bolj, ali moderni brskalniki res rabijo vse te gigabajte pomnilnika in kako? V zgornjem primeru Firefox recimo žre 6GB od 8GB uporabljenega pomnilnika. Po drugi strani se na računalniku s 4GB RAMa in 2GB swapa tudi z 12 zavihki verjetno še ne bi ravno usul. Delal bi pa počasneje, ker bi si (lahko) privoščil manj pomnilnika, morda tudi zaradi pogostejšega swappanja.

Danes imamo tako na eni strani brskalnike, ki s svojo "optimizacijo" razkošno žrejo gigabajte pomnilnika (in so v vsesplošni uporabi), na drugi strani pa privzeto vklopljene paging mehanizme, ki samo navidezno ustvarijo več delovnega pomnilnika. Obe optimizaciji skupaj sta kontraproduktivni. Smiselno bi bilo, da bi brskalniki imeli svoje mehanizme za ostranjevanje (paging), hec pa je v tem, da jih že imajo, samo jih izgleda da ne znajo več uporabljat (predpomnilnik na disku oz. disk cache).

@Samael: govorimo o primeru desktop distrojev, ne serverskih. Pa tudi sicer ne pravim, da swap ni uporaben, samo da ne bi rabil biti ama čisto povsod vklopljen. Tudi @novichok ga rabi in bi mu v hipotetičnem nasprotnem primeru svetoval vklop, takoj za nasvetom, da očitno za svoje delo rabi še več RAMa. Ali pa karierni zavoj kak nivo programske abstrakcije niže, zna biti dobro za živce.

LightBit ::

pffff je izjavil:

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.


Naah, ne more preziveti ubitja procesa.

To itak. Samo ko kakšen program začasno rabi veliko rama, ga potem sicer GC pobere, ampak ga HotSpot ne vrača sistemu (morda čez dalj časa).

eVro je izjavil:

lahko objavita vrednosti /proc/sys/vm/swappiness pa vidimo

Pri meni je 60.

Zgodovina sprememb…

  • spremenil: LightBit ()

win64 ::

LightBit je izjavil:

pffff je izjavil:

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.


Naah, ne more preziveti ubitja procesa.

To itak. Samo ko kakšen program začasno rabi veliko rama, ga potem sicer GC pobere, ampak ga HotSpot ne vrača sistemu (morda čez dalj časa).

eVro je izjavil:

lahko objavita vrednosti /proc/sys/vm/swappiness pa vidimo

Pri meni je 60.

Pri meni tudi 60.

ales85 ::

Ceprav se strinjam, da swap v veliko primerih ni potreben (ali zazelen), pa ne gre vedno brez. Vsaj ne brez enormnih kolicin RAMa.

Trenutno imam aplikacijo na strezniku z 128GB RAMa, 250GB swap in 300GB tmpfs.

Brez tega aplikacija ne deluje dovolj hitro, imeti 512GB RAMa pa trenutno ni mogoce/ni prakticno. Swap povsem zadostuje za resitev tezave.

eVro ::

Kot je @LightBit prej pravilno ugotovil, je swap povezan tudi s hibernacijo in drugimi optimizacijami za baterijsko napajane sisteme. Na izrabo swapa vpiva tudi dejanska količina RAMa, velikost swapa in koliko je trenutno skupaj izrabljenega pomnilnika (oziroma razmerja med njimi).

LightBit ::

win64 je izjavil:

LightBit je izjavil:

eVro je izjavil:

lahko objavita vrednosti /proc/sys/vm/swappiness pa vidimo

Pri meni je 60.

Pri meni tudi 60.

Mogoče imaš dalj časa prižgano. Kakor sem bral lahko kakšne stvari, ki se redko rabijo, čez čas premaknejo na swap.
Potem je več prostora za "žive" stvari (tudi FS cache in tmpfs).

Tako da se mi zdi swap vsekakor koristen. Naj OS sam optimizira kaj se pogosto rabi in kaj ne.
Poleg tega SSD ni dobro preveč nafilat in je swap particija lahko kot dodatna varovalka, če je večinoma prazen. Ok, bolj slaba, ampak ni stran vržen prostor.

filip007 ::

Se pravi bodo potrebne spremembe, če bomo hoteli imeti enkrat 1TB RAM, no saj ko se inštalira ne določiš swap particije pa je, samo sem vedno izbral samodejno postavitev.
Trevor Philips Industries

LightBit ::

Saj samo iz /etc/fstab vrstico z swap izbrišeš, če hočeš izklopit.
Potem pa lahko particijo izbrišeš in drugo povečaš.
Samo zakaj?

filip007 ::

Na Polknah sem ukinil hibernacijo potem zbriše okoli 4GB se mi zdi, na Ubuntu je pa swap velik 2GB, potem se nisem več ukvarjal z ročnim particijam.

Imam oba sistema, vsak na svojem SSDju, no trenutno počiva zaradi strojne zablode, še nevem kaj naj dam notri.
Trevor Philips Industries

win64 ::

filip007 je izjavil:

Na Polknah sem ukinil hibernacijo potem zbriše okoli 4GB se mi zdi, na Ubuntu je pa swap velik 2GB, potem se nisem več ukvarjal z ročnim particijam.

Imam oba sistema, vsak na svojem SSDju, no trenutno počiva zaradi strojne zablode, še nevem kaj naj dam notri.

Samo Windows ima za hibernacijo ločeno datoteko(iz glave hyberfil.sys) - to ni enako swap. Načeloma bi ta datoteka morala biti tako velika kolikor imaš fizičnega RAM-a.

pffff ::

eVro je izjavil:

V zgornjem primeru Firefox recimo žre 6GB od 8GB uporabljenega pomnilnika.


V bistvu ga ne, razen ce je vanj nafilal vse kar leze in gre od pluginov in ima oprtih 100 zavihkov. Zre ~2gb.

Spiko ::

Js sm šu za foro delat softverski RAID 1 s 7200 diski na čist prešvoh CPU-ju pol pa hočem še dve virtualki gor lavfat. swapoff občutno pohitri stvari ob npr. posodabljanju, tako da je sedaj kar stalno izklopljen swap. Na VPSjih kjer nimam dovolj rama ga pa še uporabljam. Nisem pa vedel da sploh lahko deluje kot file.
Take that, dirty Linux hippies! Take that, Thieving Macintosh Republicans! XD

c3p0 ::

LightBit je izjavil:

Saj samo iz /etc/fstab vrstico z swap izbrišeš, če hočeš izklopit.
Potem pa lahko particijo izbrišeš in drugo povečaš.
Samo zakaj?


Pa še swapoff uporabiš, da ni treba it na win metode (reset za upgrade notepad.exe ipd.)

Invictus ::

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.

Seveda ga vrne, sam večina java programerjev in adminov tega ne zna nastaviti ali ročno sprožiti.

Sicer je pa to tak rana vseh sodobnih jezikov, ki delajo avtomatski "memory management". Mularija danes pa sploh ne ve, kaj je to malloc, free in pointerji...

Tako ali tako so vsi javascript code monkeyi...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

igorpec ::

Še bolje bo podalševanje spomina s kompresiranjem. V večini primerov bo boljša pot (ZRAM / ZSWAP). To se kar dosti uporablja v kategoriji, kjer spomina ni v izobilju (mobilni telefoni, embedded Linux, Armbian default praktično od dneva nič). Še vedno imaš na koncu opcijsko swap datoteko kot zadnjo možnost.

LightBit ::

Invictus je izjavil:

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.

Seveda ga vrne, sam večina java programerjev in adminov tega ne zna nastaviti ali ročno sprožiti.

Saj ročno klicanje GC ni priporočeno.
Je pa res da je veliko crapwara vsepovsod, ki razsipa. Menim da bi vsak programer vsaj C moral malo znat, da razume ozadje.

So pa vidim da tudi opcije:
-XX:MaxHeapFreeRatio=70 (Maximum percentage of heap free after GC to avoid shrinking)
-XX:MinHeapFreeRatio=40 (Minimum percentage of heap free after GC to avoid expansion)

Invictus ::

LightBit je izjavil:


Saj ročno klicanje GC ni priporočeno.
Je pa res da je veliko crapwara vsepovsod, ki razsipa. Menim da bi vsak programer vsaj C moral malo znat, da razume ozadje.

So pa vidim da tudi opcije:
-XX:MaxHeapFreeRatio=70 (Maximum percentage of heap free after GC to avoid shrinking)
-XX:MinHeapFreeRatio=40 (Minimum percentage of heap free after GC to avoid expansion)

Admin bi ga čisto lahko sprožil v času nizke obremenitve. Brez nekih hudig posledic.

Sam že vzpostavitev nadzora (MONITORING) je za večino adminov rocket science, kaj šele, da bi znali meriti porabo pomnilnika Java VM in ustrezno ukrepati.

Restart serverjev je ponavadi najboljša rešitev za njih >:D.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

BigWhale ::

Invictus je izjavil:

Slovenska podjetja so nagnjena k tem, da v produkcijo dajejo


To je ena taka bullshit izjava kot una banka, ki ti je ponarejene bankovce vrnila.

BigWhale ::

Swap imas zato, da lahko pravocasno ujames kak proces, ki pobegne pri porabi rama. Ni pogosto, se pa dogaja. Dovolj je ze grdo spisana spletna stran.

Zimonem ::

Invictus je izjavil:

LightBit je izjavil:

pffff je izjavil:

Razlog za tako pozresnost pa je, da je ves software, se posebaj javanski spisan totalno v kurcu ("hej saj imam garbage collector, zakaj bi pa pazil kaj delam"),

Problem je implementacija Jave same, ker rama ne vrne sistemu (v imenu performanc). Recimo, če uporabiš OpenJ9 namesto HotSpot je malo manj požrešno.

Seveda ga vrne, sam večina java programerjev in adminov tega ne zna nastaviti ali ročno sprožiti.

Sicer je pa to tak rana vseh sodobnih jezikov, ki delajo avtomatski "memory management". Mularija danes pa sploh ne ve, kaj je to malloc, free in pointerji...

Tako ali tako so vsi javascript code monkeyi...

Koda ki je zamočila, je spisana ravno v c ju in ne od amaterjev. Upravljanje z pomnilnikom sploh v ne trivialnih sistemih je raketna znanost. Gc vsaj kdaj počisti, večina programerjev pa ne znamo.

BigWhale ::

Ja, Garbage Collection od vecine visje nivojskih jezikov dela bolje od vecine povprecnih C programerjev. :>

Zimonem ::

LightBit je izjavil:

Invictus je izjavil:

eVro je izjavil:

Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

kaj nabijaš.Če je dovolj RAMa, Windowsi lepo delajo z 16 MB swapa. Izklop pa ni priporočljiv, ker se mu pol res včasih mal zmeša...

Swap je tudi na Linuxu priporočljiv, ampak se priporoča swap particija.

win64 je izjavil:

eVro je izjavil:

srus je izjavil:

Če uporabljaš swap, že imaš problem.


Res je, swap je že sam po sebi neželen obliž. Kaj danes, v časih gigabajtnih DDR3/DDR4 palčk, običajni uporabniki počnejo s swapom, ni jasno. Še zadnji RPi ima gigabajt pomnilnika. Niso to Windowsi, kjer rabiš pol gigabajta paging fajla, da sploh deluje vsa funkcionalnost sistema. Pa še vedno imam na polovici Win mašin paging raje izklopljen, ni vredno praskanja po disku (s stališča RAMa sta trdi disk in SSD čisto enako počasna).

Z nepotrebno vklopljenim swapom se dvigne verjetnost okvare podatkov v (v)RAMu, ker je v povprečju pomnjenih nekaj več podatkov in to deloma na izjemno počasnem mediju. Odvisnosti so sicer nelinearne, ampak hitro se opazi, da vRAM lahko stvari kvečjemu poslabša, razen seveda skupne kapacitete. Download more RAM!


Fedora mašina, 16GB rama. Trenutno prižgan RDP client, firefox z recimo 12 tabi in thunderbird:
MiB Mem : 15895,4 total, 9648,0 free, 4140,3 used, 2107,2 buff/cache
MiB Swap: 20478,0 total, 16227,1 free, 4250,9 used. 10955,8 avail Mem
Trenutno torej uporabljenih 4GB swapa, čeprav je 10GB prostega RAM-a. Torej to ni le neka čudna lastnost Windowsa.

Zanimivo, jaz na svoji Fedori še nisem opazil da bi bilo kdaj kaj na swap-u. Ali je to morda kaj z hibernacijo?

Pa nehajte že z temi medovernet idejami. Os in arhitektura ti zagotavljata naslovni prostor, če ni rama je skrajna rešitev disk. Za povrh je pa z gpujem zadeva še rahlo bolj zakomplicirana.

Zimonem ::

BigWhale je izjavil:

Ja, Garbage Collection od vecine visje nivojskih jezikov dela bolje od vecine povprecnih C programerjev. :>

Odvisno od problema, stdlib se upam spisat, mehkega web from/back enda na parih mašinah pa ne znam.
«
1
2


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Ubuntu in Windows 7 dual boot

Oddelek: Pomoč in nasveti
265687 (4756) borča
»

Izšlo jedro Linux 3.3 (strani: 1 2 )

Oddelek: Novice / Operacijski sistemi
5615874 (13038) Icematxyz
»

Kandidati za izid (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
569596 (6545) Hardstyle
»

Jaz grem pa hitro Windows .Net Server vunpotegnit

Oddelek: Novice / Operacijski sistemi
52162 (2162) andrej
»

Windows XP Home Edition

Oddelek: Programska oprema
271571 (1202) Tomi

Več podobnih tem