View Single Post
Staro 22.07.2014., 10:54   #26
calypso
Premium
Moj komp
 
calypso's Avatar
 
Datum registracije: Oct 2002
Lokacija: Zagreb/Rijeka
Postovi: 1,938
Citiraj:
Autor Bubba Pregled postova
Vec dva tjedna mi je slomljena ruka ali vise si ne mogu pomoci gledati ovo.

Prije svega, tema je daleko kompleksnija od "bum si ja ubil swapa kad je RAM tak jeftin" i ovisna je o implementaciji odnosno samom OS-u, no neke stvari vezane za VM su u sustini fundamentalno jednake neovisno o sustavu.

Cinjenica da je drkanje po VM sustavu dostupno korisniku na trivijalan nacin u Windowsima je porazno samo po sebi, pa neminovno rezultira u ovakvim nadrisistemskim "savjetima", da ne kazem budalastinama.

Za poceatk - "swap" se ne "gasi". Nakaradna potreba za time s argumentacijom "pa zasto da mi RAM stoji prazan" pokazuje elementarno nepoznavanje rada OS-a, a jos da ne poznam konja koji je pokrenuo temu... Dobro, jesi ti slusao OS na FER-u, valjda si morao?

Da ne idem od Poncija do Pilata, ukratko, osnova VM sustava je struktura koja se zove page tabela. Ona se prikazuje kao veliko jednodimenzionalno polje koje sadrzi mapiranje virtualne adrese na fizicku adresu (tzv. PTE). Tu se nalazi statusni bitovi, prava pristupa, code, stack, data, BBS, SHM, libovi, kurac, palac i tko sto od developera OS-a voli.

Dakle, pojednostavljeno, vas Kvejk 3 nema nikakvo intrinsicno znanje o tome nalazi li se u RAM-u ili na disku, nego to OS cini za njega, znajuci da je RAM brzi pa u njega kopiras stranice. Kada Kvejk zatrazi nesto cega nema u RAM-u, dogadja se page fault, gdje VM sustav ponovno kopira podatak u RAM predpostavljajuci da ce se ponovno koristit.

Ova tema prica o izbacivanju tih pageova iz memorije cemu swap zapravo i sluzi. To se obicno radi na dva nacina - page replacement algoritmom gdje se zamijenjuju pageovi, odnosno izbacivanjem cjelokupnih procesa, tzv. swappingom.

Koristeci razno razne tehnike i procese, pametan OS odnosno njegov VM nikako nece dozvoliti da vas podplaceni RAM stoji prazan i to nema nikakve veze sa prisilnim drkanjem po velicini swapa, cak naprotiv, micanjem nekoristenih i nepotrebnih pageova, oslobadja se vise RAM-a za cacheiranje korisnih pageova u istom.

Postoje razni algoritmi, od kojih moderni *nixovi koriste clock page replacement dok W7 i navise koriste sofisticirani aging page replacement. Ukratko o njima i ostalima ima na Wikiju a vjerujem i po raznim ostalim referencama na netu.

Drugim rjecima, "gasnje swapa" je vrlo glup i neinteligentan potez kojime se RAM zatrpava nepotrebnim stvarima i u konacnici dovodi iskljucivo do problema.

Gle ga sto se pravi vazan...

Ugasis swap, sve brze radi ako si nezahtjevan korisnik... Upalis swap, komp se vuce... Mudrom dosta... Uostalom, lijepo sam i napisao da nije to za svakoga... Ako mislis vrtit iole ozbiljnije aplikacije, onda ti ovo ne treba, no ako ces samo citat mejl i surfat, onda nek se i iskoristi taj RAM, barem on nije skup... Inace, ja tako radim od 2007-2008 i rijetko kad mi se desilo da stvarno imam probleme, a i tada sam samo dobio upozorenje da ce mi Windoze ubit neku aplikaciju ako ne prestanem sa majmunarijama... Ubijes Skype pa ga ponovo dignes i sve OK...

Inace, nisam slusao OS na FERu jer nisam racunarac, vec automaticar... Mi smo slusali Racunala 1 i 2, odn., low-level programiranje u asemblerima, al to isto mozes macku o rep objesit jer je to ionako neupotrebljivo znanje...


BTW., kog si vraga sad radio da imas slomljenu ruku?! Krivo pageao cache?
__________________

GMKTec K8Plus
AMD Ryzen 7 PRO 8845HS, 3.80-5.10GHz 8-core
64GB DDR5-5200 (2x32GB), quad-channel
NVMe1 - 512GB Micron 3400, PCI-E 4.0 x4
NVMe2 - 512GB Samsung PM981, PCI-E 3.0 x4
AMD Radeon 780M integrirana grafika


2x EIZO EV2336WFS3-BK
23" 1920x1080 IPS


Dell Latitude 7390
intel i7 8650U, 1.90-4.20GHz, 4-core
32GB DDR4
512GB Samsung PM981, PCI-E 3.0 x4
intel UHD 620
13.3" FullHD IPS Touchscreen


calypso je offline   Reply With Quote