Hát ha virtuál, legyen virtuál! Felkapcsoltam a Process Explorerben a "Virtual Size" oszlopot. És ott volt!
Kerekített értékekkel a következő:
- firefox indítás után 480MB
- letöltési lista megnyitása után kb. 1000MB
- a letöltési lista scrollozás után (64 tétel) kb. 1700MB
Hát a HUPnak nincs annyi tárhelye, így nem írom le mi mindent próbáltam ki, állitottam be és át.
Az eredmény semmi.
Leteszteltettem egy barátommal más rendszeren - értsd nem olyan vacakon, mint az enyém - és a jelenség reprodukálható.
Minekfölhovatovább: visszaálltam a 36.x verzióra.
Az eredmény:
- firefox indítás után 480MB
- letöltési lista megnyitása után kb. 500MB
- a letöltési lista scrollozás után (64 tétel) kb. 500MB
És nem vontam le a következtetést, hogy legalább 64GB memória és Windows 10 kellene a Firefox bugjainak teszteléséhez. ;)
Közben teszteltük több Windows verzióval is. Elfogyaszt még sokkal többet is...
Mintha a fejlesztők sem tudnák mitől, de a 38 verzióban már kijavult! :)
Bug 1145762 - Scrolling in the downloads list will cause a OOM message. Memory use grows to 1.8GB
"Az ügy lezárva." (Sherlock Holmes)
- bucko blogja
- A hozzászóláshoz be kell jelentkezni
- 1724 megtekintés
Hozzászólások
Virtuális memória nélkül nem szabad Windows-t futtatni. Egyébként minden browser éhes.
- A hozzászóláshoz be kell jelentkezni
Ugy erted lapozofajl nelkul. Virtualis memoria(kezeles) nelkul nem tudod futtatni a Windowst...
(Amugy 32G-nel en kikapcsoltam :)
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Igen. Még ott sem kapcsolnám ki, hasznos az, ha valami kezd kifutni. Linux-on is ezért ajánlják.
- A hozzászóláshoz be kell jelentkezni
Ajánlják? Kik, miért, minek, hova? Mekkora rendszer, és mi fut rajta?
Kifutni? Azt a tej szokott.
Hihetetlen, de van olyan rendszer, amit megterveznek.
Itt van pl. egy szerver:
Memory Stats MB
RAM --- 4045.4
High -- 3197.9
Low --- 847.5
Swap -- 0.0
Meg rajta egy glassfish, adatbázis szerver, egyszerre kb. 100 hálózati kapcsolat, amelyen keresztül ugyanennyi rendszert 5 perc késleltetéssel ment. Naponta több mint 55.000.000 processzt futtat.
Több mint 26.000.000 mentés van rajta (tömörítetlenül kb. 30TB), és bármelyik(ek)et szinte 0 idő alatt előveszi.
Eszembe nem jutott volna a swap használata. Túlterhelné a rendszert! ;)
- A hozzászóláshoz be kell jelentkezni
Elkezd például egy alkalmazás memóriát zabálni.
Vagy teljesen ok minden, csak éppen a futó processzeknek több memóriát tud biztosítani mert ki tudja swap-olni azt ami épp idle.
- A hozzászóláshoz be kell jelentkezni
Memóriát zabálni? Ez egy éles rendszer, tehát ilyen nem fordulhat elő.
A számok azt mutatják, hogy a futó processzek SEM foglaltak el mintegy 800MB memóriát. Néha a buffer cache miatt lehet 100% a foglalás, amikor több GB méretű adatbázisok mentését végzi a rendszer. De az majd éjfél után...
- A hozzászóláshoz be kell jelentkezni
Nekem a 37.0.2-es 64 bites verziója Linuxon jelenleg közel 1.3 GB-ot eszik, de ez szerintem csak a foglalt, nem pedig a ténylegesen felhasznált. Sőt, biztos, mert jelenleg 0 swap-et használ épp, és az összes memóriahasználat minden folyamatra 1.05 GB.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Igen. Tippre amugy a 2G privat cimterbol fogy ki a 32 bites Firefox a topicban emlitett esetben.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Szerintem a tortenet: valami elkezd memleakelni, viszont tenylegesen nem kezdi el lefoglalni a memoriat (bar azt nem irtad meg, hogy mennyi a private bytes).
Mivel 32 bites Windowson alapbol 4G-s cimter van, abbol a felso felet viszi az oprendszer meg a hardverek, igy a programoknak csak 2G cimter marad.
Viszont ha elkezdek allokalni memoriat, azt az oprendszer nem adja oda egybol a programoknak, hanem tenylegesen csak akkor, ha azt hasznalod is. Ezt ugy eri el, hogy minden programnak van egy egyedi memoriacimtere. Ezt hivjak virtualis memoriakezelesnek. Persze, PAE-vel lehet mondjuk 64G fizikai ramot is kezelni megfelelo CPU tamogatassal, (ilyen van a Linuxban es a 32 bites Windows Serverben is), viszont egy alkalmazasnak ugyanugy 2G privat cimtere van.
Szoval siman elkepzelheto, hogy csak a virtualis cimteret leakeli el valami (azaz virtualisan allokal 2G ramot), viszont fizikailag csak 100M ramot foglal, mert tenylegesen annyit hasznalt fel. Ha ez az eset all fenn, akkor erre a problemara az se adna megoldast, ha 512G ramot pakolsz a gepbe (ugyanigy, a pagefile se sokat segit), csak az, hogy attersz 64 bites Firefoxra, ahol (joval) nagyobb a cimter.
Persze, meg jobb, ha fixaljak a bugot.
Mondjuk egyebkent meg 2G ram mellett Windowst pagefile nelkul futtatni az meredek.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Egy kisebb, 48 elemű listánál [MB]:
Private Bytes: 205 -> 1070
Working Set: 119 -> 124
Virtual Size: 440 -> 1350
Sajnos volt olyan, amikor 1-2 ezer tételt hagytam a letöltési listán.(Bocsánat, magyarul: download history)
Belátható, hogy a fenti algoritmus szerint 2000 tételhez kb. 32GB kell. Ettől kezdve lényegtelen a 32/64 bit.
Persze ez csak egy bug, én meg rosszhiszemű vagyok. Feltételezem, hogy a Firefox az 500MB foglalás helyett - még mindig ugyanazzal a technológiával - kevesebb, mint feleannyiban is elfutna. Nem, nem a ram kerülne kevesebbe! Az okos programozó urak nem tanulták meg az alapszabályt, miszerint 2x annyi memóriát 2x annyi idő alatt lehet megtölteni. És ez a "csak egy bug" annyira nem tűnt fel senkinek, hogy két frissítés sem javítota ki. "A brózer sokat fogyaszt." A skype meg feleannyit...
"Mondjuk egyebkent meg 2G ram mellett Windowst pagefile nelkul futtatni az meredek."
Ez azért olyan "homeopátiás szakvéleménynek" tűnik. ;) Nekem az elmúlt 12 évben nem igazán jelentett problémát. A nyitó topicban a rendszer leírás első sorában van elrejtve a trükk: Nlite. Az alatta felsorolt főbb programok egyszerre képesek futni, de ezeken kívül még megy egypár apróság.
A firefoxban közel 100MB-ot foglaló plugin-ok futnak. Ezek nélkül, csak internetezésre elegendő az 512MB ram.
- A hozzászóláshoz be kell jelentkezni
Hát akkor légy boldog swap nélkül, de alapvetően rosszat tesz a rendszernek ha nincs. Nyilván Windows XP meg az SP2 is sokat elmond a felhasználóról :)
- A hozzászóláshoz be kell jelentkezni
A Windows XP minimálisan megkövetelt lapozófájl mérete: 2MB, ti. rá kell férnie a minidump-nak. Ennek hiányában 0.
A memória sebessége több mint két nagyságrenddel nagyobb a diszkek sebességénél, szóval vajmi kevés értelme van lapozófájlt használni. Olyan programot sem érdemes futtatni, ami nem fér a memóriába, mert drasztikus sebességcsökkenést okozhat. Az a program, amelynek a memóriaigénye meghatározhatatlan, ahhoz:
1) meghatározhatatlan mennyiségű memória szükséges,
2) vagy inkább el kell felejteni!
Mindenesetre munkavégzéshez nem ajánlanám.
A Windows XP azt jelenti: a felhasználó elég olvasott ahhoz, hogy meg tudja ítélni: pl. a Windows 7 semilyen többletet nem hozna. (Legfeljebb szívásban.)
Az SP2 azt jelenti: a felhasználó már az SP3 megjelenésekor volt olyan felkészült, hogy megítélje: az SP3 fícsörei számára csak negatívumokat jelentenek.
Gondolom a biztonsági frissítés hiánya is borzongásra késztet! De ne aggódj! Amit ezek a frissítések javítanának (???), nos azoknak az összetevőknek úgy 90 százaléka hiányzik a gépről.
Már csak egy gondolat bánt: mi az, ami alapvetően rosszat tesz a rendszernek? Vajon megfázhat-e egy számítógép? :( Aggódok!
- A hozzászóláshoz be kell jelentkezni
> Az a program, amelynek a memóriaigénye meghatározhatatlan, ahhoz:
> 1) meghatározhatatlan mennyiségű memória szükséges,
> 2) vagy inkább el kell felejteni!
Akkor ne használj számítógépet...
- A hozzászóláshoz be kell jelentkezni
Ezzel kicsit elkéstél. Már több mint 30 éve ebből élek. :)
- A hozzászóláshoz be kell jelentkezni
Hát..., izé. A memória foglalása azért meghatározhatatlan, mert a feldolgozandó tartalomtól függ. Jellemzően ezért foglalunk dinamikusan memóriát. Teszem azt, be kell járnod rekurzívan egy alkönyvtárat. Ki tudja, melyikben hány file, alkönyvtár van, s milyen mélységben? Előre nem tudod megmondani, mennyi RAM kell majd.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nem is tudod, mennyire beletrafáltál a windóz lelkivilágába! Ezért megérdemelsz két történetet is. :)
Egyszer volt, naplót kellett feldolgoznom. Soronként. Nem bonyolult, memória nem gond. Azért csak megkérdeztem a sorok maximális hosszát. Némi duma után kiderült: "Hűha! Nem korlátoztuk le a sor hosszát?!"
De a kolléga nem volt rest, megadta a korrekt választ. Méghozzá egy Microsoft developer link segítségével! Szóval a Microsoft specifikációja szerint egy string maximális mérete: legfeljebb akkora lehet, mint a diszk. Ha nem hiszed, járj utána!
Azért lássuk már be, hogy ez az adott szituációban (is) OS-TO-BA-SÁG!
Rekurzív alkönyvtár? Hehe. Tudós kolléga (Csend legyen! Őneki van érettségi ÉS "Microsoft Certified Expert"!!) feltalálta, bár a világon nem először az adattárolást! Méghozzá 16^5 elemet tartalmazó directory struktúra képében. Ez azért tökéletes, mert UUID-ből jól lehet képezni a neveket. :) S mindez még előnyös is! A hátrányai pedig a következők:
- A Windows cache kezelése miatt villámgyorsan elfogy a memória.
- Iszonyúan lassítja a rendszert.
- Szintúgy lassú az elérése.
Ezt úgy kell érteni, hogy többek között ilyen struktúrákat tartalmazó 32GB memóriájú szerverekről mentegetek, és roskadnak. És ez csak az egyik adattípus a 12-ből!
Mindenesetre a mentést kevesebb erőforrás felhasználásával lehet kiolvasni - akár 100 szerver mentését is, mint egy szerverről leolvasni az adatokat. És természetesen gyorsabban, mint az egy szerverről.
Ezekből a példákból az látszik, hogy a tervezés hiánya és/vagy az átgondolatlan feledatmegoldás előre megjósolhatatlan hatásokkal jár együtt. Az ilyen alkalmazások nem üzemeltethetők, vagy az egyszerű felhasználó nem készíthető fel a lekezelésére.
No, de térjünk vissza a nyitó eseményekre!
A Firefox bug talán nem is bug? Lehetséges, hogy az én gépem bit, bájt és operációs rendszer verziószáma túlságosan alacsony a pont ilyen rendszerre készült program futtatására? Lehet.
De.
Ha egy letöltött tétel jellemzőit sikerül 3kB helyett 16MB-ban tárolni, akkor inkább csak bug. Ha ez pont így jó, akkor irreális, és a program használhatatlan.
- A hozzászóláshoz be kell jelentkezni
Mi a baj azzal hogy a cache zabálja a memóriát? És hogy dobja ki a swap-ba az olyan dolgokat amik nem kellenek?
Ami miatt kell a swap:
- a Windows nagyon furán kezd viselkedni ha nincs és valami kéri a memóriát
- éppen fagyásnak induló Linux-ot (eszeveszett load miatt) még ki lehet menteni ha időben észreveszed (vagy van egy autómatád ami ezt figyeli)
A számítástechnika ezen része (általános oprendszerek, konzumer cuccok) nem determinisztikus, így pontosan tervezni sem lehet. Hogy neked ez működik az nem azt jelenti hogy általánosan ez a jó.
- A hozzászóláshoz be kell jelentkezni
"Mi a baj azzal hogy a cache zabálja a memóriát?"
Az, hogy egyesek szerint még mindig az a jó, hogy ha a memória 90%-a kihasználatlan, csak ott van a gépben feleslegesen.
"És hogy dobja ki a swap-ba az olyan dolgokat amik nem kellenek?"
De hát akkó' meg minek fut!!!!444
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Igazad van, a cache zabálhat. Nem ez a baj. Linuxon pl. 1GB copy elfoglalhatja az 1GB memóriát. A stratégia/terhelés függvényében látod a fogyasztáson, hogy puff - visszaadta a memóriát. Windows esetén azért teszteltem, ment a szerver memória mennyisége degradálódott, sőt úgy is maradt. (sysinternals is a barátunk!) És nem csak ezért, hanem a C++ programokban elhagyogatott memóriadarabkák miatt is. Tehát a Windows memóriakezelése miatt a memória gyakran nem visszanyerhető. Pedig itt egy komolyabb szerverrről van szó, szerver operációs rendszerrel. :) (Én meg Superman vagyok, mert azt állítom magamról. ;))
Lényegében az üzemeltető srácok tervezni szokták a szabadságot, mert bizon a naagy-naagy adatbázis- és webszervereket meghatározott időnként újra kell indítani.
Értem a swapról vallott nézeteidet, Windows esetén nagyon gagyi a memóriakezelés, amire a programok még rátesznek. Windowson tevékenykedni 10 év AIX programozás/üzemeltetés után kezdtem. Sztori:
Fiatal versenyzőből IBM szervizes lett. Kiszállt, beszélgettünk. Látta, hogy értek valamihez és barátságos is vagyok, így egyszer felhívott:
- Milyen gyakran szoktatok bootolni?
- Ó, nagyon gyakran! A dög villanyszerelők állandóan hazudoznak, meg csavarokat húzogatnak!
- Hm. Nem erre gondoltm, hanem azért, hogy a felesleges programok kitakarodjanak a memóriából.
- ??? Nálam csak olyan program fut, amit én akarok. Sőt, csak olyan csomag van felrakva, ami szükséges.
Szóval számomra a Windows egy silány módon kivitelezett, de színes AIX. :)))))
De azért a fenti elvek szerint kivitelezve. Hosszasan sorolhatnám mi az ami teljesen hiányzik a gyári rendszerből, illetve milyen kihagyott, de lényeges komponens helyett milyen egyéb, kisebb és jobban működő programot használok.
Tehát a megoldásom nem általános, mindössze 20 installációt készítettem gyerekeknek, felnőtteknek, internetezésre, munkára és játékra. Ezek a rendszerek mind kifogástalanul működnek.
Szóval igazad van, de azért mert "konzumer rendszerem van", attól még nem elfogadható, hogy bármikor széthullhat a rendszerem, és nem tudok dolgozni, vagy zenét hallgatni stb. Azt sem tudtam elfogadni, amit kezdő windózos koromban mondtak: Szakember havonta újrarakja a rendszert! Sőt nemegyszer cseréltem alaplapot vagy diszket is alatta.
Szerintem egyezzünk meg döntetlenben! ;)
- A hozzászóláshoz be kell jelentkezni
lock.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Dafuq did i just read?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Abban az időben még az volt a csúcstechnológia :)
Egyébként bejegyzés írója által használt Windows XP SP2-n futtatott progik elektronikával foglalkozó emberre utal... Nos, van ami WIn7-ben még rosszabbul vannak megoldva dolgok, például kifagyás a virtuális soros porttól és így tovább... Kapaszkodj meg, van ahol éles rendszerként még Windows 98-at használnak ;)
- A hozzászóláshoz be kell jelentkezni
Ez igaz, de nem jellemző.
Most éppen elektronika fejlesztése a munkám, és ehhez pont megfelel az XP.
Az XP mellett ragadásnak több oka is van. Egyrészt megszoktam, másrészt mindig zenét hallgatok. Amikor megvettem a külső hangeszközömet, akkor hiányzott 30eFt ahhoz, hogy linuxos driverű (de szép szó!) szerkezetet vegyek. Ez nem volt azért rossz választás!
Több mint 20 évig AIX üzemeltető és rendszerprogramozó voltam. Otthon '96-tól egy Motorola Atlas 604-en dolgoztam AIX 4-en. Az első 10 évben 8-10 linux konzolt használtam, ami egy 386DX-en futott. 2004-től ezt lecseréltem egy p615-re, és XP-re. Egy IBM-es kolléga aranyköpése szerint: "A Windows nagyon jó, mert sok putty ablakot lehet nyitni rajta!"
Szóval, amikor másfél millárdos, többszáz felhasználós (nem Microsoft) rendszer szervereinek java részén futottak a szoftvereim, akkor vajon mennyire számít, hogy ki, melyik nap melyik Microsoft hulladékot tartja csúcstechnikának, vagy sem?
Szerintem az XP csúcstechnika! Soha nem kellett ilyen topicot indítanom, hogyaszongya: "Torrentezek, és megáll a diszk, a hálózat és a képernyő. A CPU meg pörög..." :)
- A hozzászóláshoz be kell jelentkezni
Igen, ezzel tisztában vagyok, viszont ott nem panaszkodnak hogy nincs Internet (tényleg melyik az utolsó browser ami Win98 alatt fut?).
- A hozzászóláshoz be kell jelentkezni
"Nekem az elmúlt 12 évben nem igazán jelentett problémát."
Vagy csak nem tudsz róla.
"Az okos programozó urak nem tanulták meg az alapszabályt, miszerint 2x annyi memóriát 2x annyi idő alatt lehet megtölteni."
Az okosabb programozó urak megtanulták már azt is, hogy célszerű adaptívan megírni a szoftvert, hogy skálázódjon a géphez. Lepődj meg, eltérő mennyiségű memóriával indítva eltérő mennyiséget fognak foglalni a szoftvereid egy része.
"A nyitó topicban a rendszer leírás első sorában van elrejtve a trükk: Nlite."
Ismerem az ilyen trükköket, általában úgy néz ki, hogy az ember elcsesz vele egyszer egy csomó időt, míg megcsinálja vele álmai rendszerét, aztán meg azért csesz el vele még rengeteg időt, hogy a hiányzó részek miatt nem futó szarokat életre keltse.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ezt nem is értem. Úgy gondolod, hogy azt hittem elfér egy program a memóriában, aztán mégse fért el, csak aszittem?
Adaptív! Ezt megjegyzem! Azért érzek egy kis ellentmondást. A skype virtual size azért 200MB - ami több, mint egy video+hang+kommunikációs program - merthogy adaptív. Vagy az egyes modulok között túl sok lenne az asszociativitás? Megállapítom, hogy túl sok az a 2GB! Kevesebb memóriával kevesebbet foglalna! EZT az adaptívot eddig úgy ejtettem: trehány.
"az ember elcsesz vele egyszer egy csomó időt, míg megcsinálja vele álmai rendszerét"
Tényleg tudsz valamit! Ez szóról szóra így történt!
"aztán meg azért csesz el vele még rengeteg időt, hogy a hiányzó részek miatt nem futó szarokat életre keltse"
Ez már csak közepes. Történetesen ráértem, és a további 20 installáció bőségesen szétosztotta az első nagy fáradalmat. Nem olyan bonyolult ez! Meg aztán az olvasás is megy. Pl. Az IBM is árul blade-eket Windows szerverként is. Nagyon jó leírásuk van arról, hogyan lehet megbízható, stabil működésű szervert konfigurálni. Akár hiszed, akár nem, javarészt ugyanazt csinálom annyi különbséggel, hogy ami egy szerverbe sem kell, nekem sem - azt kihagyom.
És akkor érkezik az egyk haver, aki jó kis programot talált. Valami korlátozást lehet 10-ről akár 50-re beállítani. Elindítottam, de nekem már install óta ugyanaz 1000 volt. :)
Szóval az nlite munkaigényes, viszont 30 óra helyett 1-2 órára csökkenti a konfigurálási időt. Ebben meg nem is az időmegtakarítás a lényeg, hanem ha egyszer már megvolt, utána nehezebb eltéveszteni.
- A hozzászóláshoz be kell jelentkezni
"EZT az adaptívot eddig úgy ejtettem: trehány."
Nem arról van szó, hogy a Skype 200M ramot miért foglal, hanem arról, hogy normális helyen a szoftver képes figyelni arra, hogy mennyi szabad ram van a gépben és az alapján választani cachelési technikát. Nagyjából minden értelmes oprendszerben van arra valamilyen jelzés, hogy mikor lenne jó, ha egy program visszavenne az arcából. Igen, Windowsban is.
Pl. szövegszerkesztő: ha látja, hogy van elég ram, betöltheti a dokumentum teljes részét a lemezről, mert RAM-ból gyorsabb dolgozni. Ha nincs, akkor meg csak annyit tölt be, ami elfér. Vagy hogy az oprendszer visszavesz a dolgaiból, ha másnak kell. Tudod, kétirányú ez a folyamat.
De ha nem akarod és inkább csak a zagyvaságaid mondogatnád tovább, akkor ne értsd.
"Nagyon jó leírásuk van arról, hogyan lehet megbízható, stabil működésű szervert konfigurálni."
Kétlem, hogy az nlite közte lenne, mint musthave eszköz.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
+1
2 GB-ről folyamatosan nőtt a RAM az egyik gépemben, most tart 16 GB-nél, de amióta világ a világ, normális használatt mellett (a telepített programok, illetve a felhasználás nem igazán változott menet közben) kb. 60-70% foglalt.
- A hozzászóláshoz be kell jelentkezni
Bizony, a szövegszerkesztők már a WordStar óta - vagy tán korábban - így működtek. Pedig ott még virtuális memória sem volt. Ilyet először 1984-ben használtam.
Nyilvánvalóan azt is jól látod, hogy a Windowsban vannak memóriakezelő függvények, és signaling technikával értesülhetnek az egyes programok a memória hogylétéről.
Csak az nem értem, hogy ezek a tények mennyiben befolyásolják azt a jelenséget, amikor a
main() { printf("cica\n"); }
program mérete 1kB és 100MB között bárkinek teljesen természetes dolog. Ha viszont ugyanez 273MB, akkor biztosan Win11-re készült, vagy trehány programozó készítette.
Azért a Firefoxnak is kellett vagy 10 év, hogy a szigorúan monoton növekvő memóriafoglalást megállítsák. :)
Nem, az nlite nem musthave. Az csak egy eszköz a sok közül. Ízlés szerint változtathatsz a rendszered beállításain egérrel, szkripttel, stb., vagy használhatod úgy is, ahogy a Microsoft megálmodta. Elvégre vallásszabadság is van a világon. ;)
- A hozzászóláshoz be kell jelentkezni
"amikor a
main() { printf("cica\n"); }
program mérete 1kB és 100MB között bárkinek teljesen természetes dolog."
Mutass már kérlek egy ilyen programot, ami 100M ramot le fog foglalni.
Amúgy tisztázzuk már, hogy számodra mit jelent a virtual memory fogalma.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Remélem nem a printf cicát (alias kis jelentéktelen programocska) értetted félre!
Mutatni nem mutatok, de az egyik kollégám rendszeresen tölt ki adatbázisból xml-be 4GB adatot. Memóriába, amit úgy foglal, hogy ki ne menjen a diszkre, mert megállna a szerver. Csak azt nem árulja el, hogy ezt a nyomtatóra vagy a képernyőre fogja kiküldeni. :)
A virtuális memória az, amit a programok rendelkezésére bocsájt a cpu védett üzemmódban. Ez ősidők óta 4kB méretű lapokra osztott, mely alól kivételt képeztek a DEC VAX gépek, ahol a lapméret 2kB-ra sikerült. (Vagy valami egyéb kerek érték. :) A modern cpu-k már sokkal nagyobb lapmérettel is képesek dolgozni.
A lapoknak van néhány tulajdonsága, pl.:
- csak kijelölt
- memóriában van
- osztott program
- osztott adat
- privát
- stb.
Ezekhez a lapokhoz tartozó fizikai memóriát a kernel/cpu egyes programok számára a kívánt virtuális címtartományba képzi le, így azok "ott látják, ahol szeretnék".
Egy "mini védett üzemmódot" a 80-as évek vége felé készítettem 8085-re. A taszkváltás automatikusan belapozta a taszkhoz tartozó privát memóriát. A taszk futásakor a "kernel" memóriaterülete nem volt elérhető és természetesen a többi taszké sem. Az egyes programokhoz saját stack is került, miközben e kernelnek is ott volt a sajátja. Nagyon nagyképűen fogalmazva kismértékben hasonlított a 80286 taszk kapun keresztüli hívásához. Persze egy sigsegv előállításához rengeteg alkatrész kellett volna...
- A hozzászóláshoz be kell jelentkezni
"Mutatni nem mutatok, de az egyik kollégám rendszeresen tölt ki adatbázisból xml-be 4GB adatot. Memóriába, amit úgy foglal, hogy ki ne menjen a diszkre, mert megállna a szerver. Csak azt nem árulja el, hogy ezt a nyomtatóra vagy a képernyőre fogja kiküldeni. :)"
És ezzel most azt akartad mondani, hogy ...?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ott indult a dolog: "programozó urak..."
Íme egy jól kvalifikált, zseniális szakember munkája.
- Pazarolja az erőforrásokat. (32GB ram/32GB swap, 8 vagy 16 mag)
- Néha ő maga sem tudja néha mit csinál.
- A rendszer az ügyfelek rémálma, javarészt a lassúsága miatt.
És ez a jelenség manapság elég általános, nem csak Windows környezetben.
- A hozzászóláshoz be kell jelentkezni
Mi volt a requirement?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ugye tudod hogy a Windows XP egy halott termék?
--
arch,debian,openelec,android
- A hozzászóláshoz be kell jelentkezni
Nem akarom feltámasztani.
Nem akarom megvenni.
Nem akarom eladni.
Végképp nem akarom frissíteni - hiszen a kritikus elemek nincsenek felrakva.
Minden működik, megfelelő sebességgel, biztonságosan.
Vajon mit kellene tennem?
Apró ízelítő: A Windows Tűzfal helyett a Kerio Personal Firewall 2.15-öt használom. Néhány igen hülye ember - tán hasonló mint én - még Windows 8-on is ezt használja. Ezen azért elgondolkodhatnál. :)
- A hozzászóláshoz be kell jelentkezni
Oké, akárhogy is kerülgeted, egy biztonsági támogatás nélküli rendszert használsz, én meg csak jót akartam :)
--
arch,debian,openelec,android
- A hozzászóláshoz be kell jelentkezni