barvins
barvins 2006-02-24 17:57

Bļa

Windows atmiņas menedžments vienkārši sūkā. Normālā situācijā, ja pietrūkst operatīvā atmiņa, daļa no tās (visvecākie ieraksti) tiek nogrūsti cietajā diskā. Bet izrādās, Windozē šis vislaik savā nodabā swapo uz disku datus no atmiņas pat tad, ja pēc tā nav nekādas vajadzības. Šim vienkārši patīk, ja visu laiku ir kādi 100MB brīvas operatīvās atmiņas. Bļin. Bet tas nozīmē, ka reāli tiek samazināts izmantojamās atmiņas apjoms, jo šie 100 (vai cik tur) MB, ko Windozei patīk vislaik turēt brīvus, tiek izmantoti tikai tajās ne-tik-biežajās situācijās, kad atmiņa tiek aizpildīta ātrāk, nekā šis paspēj citu atmiņas daļu noswapot uz disku, piemēram, atverot vienlaicīgi daudzas milzīgas programmas un strauji starp tām pārslēdzoties.
Nu, tagad vismaz ir skaidrs, kāpēc ir tā, ka ja datoru kādu laiku neaiztiek, un pēc tam mēģina atvērt kādu minimizētu programmu, tad šis nezcikilgi grabina cieto disku, jo ir savā nodabā sagrūdis visu iespējamo cietajā diskā, pat ja operatīvās atmiņas pietiek.
Anonīms gļēvulis 2006-02-25 00:01

Virsraksts nolaizīts

Taa dara gandriiz visas OS un ar gudru zinju, kas nav vajadziigs, to uz cieto disku. Tas paliidz ciiniities ar virtuaalaas atminjas fragmentaaciju.
barvins
barvins 2006-02-25 01:40

Virsraksts nolaizīts

Nu, nez. Atmiņu tas safragmentē tā, ka maz neliekas, izaujot šur un tur pa mazam gabaliņam un iedrāžot cietnī. Ja visu, vai ļoti daudz sagrūztu cietnī, un tad cmuki saliktu atpakaļ - tad varbūt tas palīdzētu pret fragmentāciju.
Katrā ziņā, metodes, pēc kurām OS nosaka, kas ir vajadzīgs, un kas nav vajadzīgs ir pārāk primitīvas - es kā useris gribētu OSam ieskaidrot, ka tās dažas programmas, kuras es visbiežāk lietoju, nevajag vispār nekad nogrūzt cietnī, ja nu vienīgi tad, kad galīgi ūdens smeļas mutē. Bet to, šķiet, pagaidām neļauj neviena OS, un maz ticams, ka kādreiz arī ļaus.
Bet, anyway, kaut kā man nepatīk, ka Windows kaut ko nogrūz cietnī arī tad, kad atmiņas ir vairāk nekā vajadzīgs.
Anonīms gļēvulis 2006-02-25 02:28

Virsraksts nolaizīts

Ko noziimee tureet progu atminjaa? Ir taads "ruulis", ka 80% no visa laika proga izpilda 20% sava koda, taapeec visu progu tureet atminjaa ir neefektiivi, njemot veel veeraa, ka progas muusdienaas ir dikti milziigas.
Piem. Linuxaa taada lieta kaa briivas memas nemaz nav, visa mema, kas netiek izmatota progaam tiek izmantota kaa cache diskam un ja ish redz, ka kaada proga memu labu laiku nelieto ish met to progu laukaa un izmato to memu kesham. Jo ja tava sisteema ir, piemeeram, ftp serveris, tad ir ljoti izdeviigi, ka peec iespeejas vairaak un biezaak lietotie faili staav sakeshoti atminjaa. Strap citu, tev tur DC++ klients griezas uz taa datora?
barvins
barvins 2006-02-25 15:03

Virsraksts nolaizīts

Mja, tas nu skaidrs, ka serverim ir jēga izmantot visu iespējamo atmiņu kešam. Darba stacijām ir bik savādāk - tur svarīgāk, lai labi uzvedas konkrētā programma, ar kuru tu strādā, un piekāst visu pārējo.
Un piekāst arī kodu. Kods aizņem tik maz atmiņas, ka nav nopietni ņemams. Savukārt, datu struktūras, ko progza var uzģenerēt, var būt milzīgas. Teiksim, Photošopā, ja ielādē kādu pamatīgāku projektu, tur ir n-tie layeri, n-tās bildes, kas aizņem nezcikdaudz atmiņas. Jeb, kaut vai visparastākā mājaslapa, ko tu nokačā no WebServera kā 100KB, bet browserim ir jāizmanto, teiksim, kādi 2MB atmiņas, lai to lapu norenderētu.
Nja, tomēr gribētu, lai būtu iespēja smalkāk pieregulēt atmiņas menedžmentu, atkarībā no tā, kādām vajadzībām dators tiek izmantots. Pagaidām atrisināju savu problēmu vienkārši piepērkot papildus atmiņu.

Hmm, DC++ ieslēdzu tikai tad, kad kaut ko vajag - tomēr iebremzē, gan tīklu, gan procesoru, gan cietni. Bet skaidrs, ka failu keša apjoms DC++ ātrdarbību dramatiski neuzlabo - viens caurmēra fails, ko no manis varētu kačāt, parasti aizņem kāadus 600MB - neiekešosi tādu atmiņā. Ja ir daudzi sīki bieži izmantojami failiņi, tad gan.
Anonīms gļēvulis 2006-03-22 18:37

Virsraksts nolaizīts

Linux kodolam bez minētās "taktikas" ir vēl kas - papildus tam tiek swapotas arī tās programmas, kuras netiek izmantotas, BET atstājot tās papildus arī RAM. Rezultātā - ja programma pēkšņi tomēr ir vajadzīga, tā jau ir RAMā, bet ja to pēkšņi vajag noswapot - tas jau ir paveikts. Cik man zināms, sīkmīkstie šādu iespēju nepiedāvā.
barvins
barvins 2006-03-22 21:37

Virsraksts nolaizīts

Visnotaļ saprātīgi.
Īstenībā, derētu papētīt, cik advancēti ir uztaisīta kešošana linux kernelī un cik daudz pūļu prasītu pievienot iespēju to visu piekonfigurēt atbilstoši katra konkrēta jūzera vajadzībām. Source tā kā būtu pieejama, bet rakties tam visam cauri, mja, tas varētu prasīt daudz laika...
Neesmu par to pilnīgi drošs, bet, šķiet, ka arī linux neiet tik tālu, lai ļautu jūzeriem pašiem noteikt, kuras aplikācijas ir kritiskas un nevajag swapot, vai, teiksim, vajag swapot tikai galējos gadījumos, piemēram, ja atmiņas pietrūkst kernelim. Kaut arī tas ir normāli swapot diskā vissenāk lietotos atmiņas ierakstus, pieņemot, ka tie ir vismazāk vajadzīgi, tomēr tas ir kaitinoši atklāt, ka, piemēram, browseris un e-mail klients ir pa nakti noswapots cietnī, jo opsistēma izdomāja veltīt vairāk atmiņas failu kešam, jo fonā visu laiku darbojas dc++ visu laiku lasot un rakstot failus, bet patiesībā dc++ un failu kešs man nav nekāda prioritāte un man ir nospļauties par to, cik optimāli dators darbojas tad, kad es pie tā nesēžu.
barvins
barvins 2006-02-25 02:08

Virsraksts nolaizīts

It īpaši kaitinoši tas ir tad, kad tu atver pāris milzīgus Photoshopa failus, tā, ka rezultātā tie aizņem visu atmiņu, pēc tam aizej uzpīpēt, un, kad atnāc atpakaļ gatavs kaut ko darīt, tad konstatē, ka Windows pa to laiku ir izdomājis, ka viņam vajag brīvus pārsimt megabaitus atmiņas, un ir mierīgi nogrūdis tos failus atpakaļ cietajā diskā - gaidi nu atkal, kamēr ielasīs atmiņā.
Anonīms gļēvulis 2006-02-25 02:34

Virsraksts nolaizīts

Sen man nav bijis windows vai photoshops, sen es arii vairs kaa nepiipeeju...
barvins
barvins 2006-02-25 14:35

Virsraksts nolaizīts

:)