Swap-partition - Er den overhovedet nødvendig i dag?

Nyheder om Open Source, Ubuntu, andre distributioner og meget mere.
AJenbo
Admin
Indlæg: 20860
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf AJenbo » 22. apr 2015, 09:17

Det meste af din ram er kun brugt til buffere/cache, så du krydser først 60% i det du starter den 3.

thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf thj01 » 22. apr 2015, 09:31

Hvad er forskellen på "almindelige" RAM forbrug og buffere/cache?

For mig at se er øvelsen at undgå at bruge HD uagtet om det er buffere/cache eller "almindelig RAM".

PS
En windowsmaskine samme antal virtuelle maskiner vil have det MEGET skidt ... det ved jeg fra elevernes maskiner g
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."

AJenbo
Admin
Indlæg: 20860
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf AJenbo » 22. apr 2015, 10:07

Almindelig RAM forbrug er det som de enkelte programmer aktivt benytter og som er krævet for at de kan køre.

Buffer er Linux der indlæser en del af harddisken i RAM så at hvis den pågældende data skal indlæses går det lynhurtigt. Det er noget der sker løbende med den RAM der er ledig på systemet. Det ville ingen mening give at tillade at noget af denne buffer blev lagt i SWAP da det jo så blot er tilbage på en harddisk.

thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf thj01 » 22. apr 2015, 15:23

Jamen så giver svaret jo nærmest sig selv i denne sammenhæng (IMHO). Ja Man skal bruge swap - netop for at Linux med sine algoritmer kan sørge for at de programmer man arbejder med her og nu kører bedst muligt. Ved at tvinge sine filer i RAM mister Linux jo så muligheden for at konfigurere sig som det helst vil.

Det kan godt være at sætte swapiness til 0 var en god ide med mekaniske diske - men med SSD tvivler jeg på at gevinsten er speciel stor. og ved at lægge filerne i RAM så bliver der mindre læsning og skrivning til SSD disken

Reelt set vil det jo kræve nogle hastighedsmålinger at afgøre dette, for problemet er mere komplekst end som så
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf lath » 22. apr 2015, 19:39

thj01 skrev:Jeg får:

Kode: Vælg alt

thoj@thoj-Precision-M4800:~$ sysctl vm.swappiness
vm.swappiness = 60


...

Det jeg ikke forstår er:

Hvordan kan det være at mit system ikke anvender swap - når det if. sysctl burde gøre det?

Kan det være fordi systemet registrerer at jeg kører med SSD og der "ved" at gevinsten er minimal, og derfor påtvinger swapiness=0 et andet sted?


En SSD er et block device og har som sådan ikke noget med virtuel memory at gøre.

Jeg har gravet et spørgsmål og svar op fra "UNIX & Linux afsnittet af strackexchange.com":
"What does the vm.swappiness parameter really control?": http://unix.stackexchange.com/questions/32333/what-does-the-vm-swappiness-parameter-really-control
Jeg synes det er besvaret meget godt.

For reference her er de 3 mest interessante svar:
Since kernel version 2.6.28, Linux uses a Split Least Recently Used (LRU) page replacement strategy. Pages with a filesystem source, such as program text or shared libraries belong to the file cache. Pages without filesystem backing are called anonymous pages, and consist of runtime data such as the stack space reserved for applications etc. Typically pages belonging to the file cache are cheaper to evict from memory (as these can simple be read back from disk when needed). Since anonymous pages have no filesystem backing, they must remain in memory as long as they are needed by a program unless there is swap space to store them to.

The vm.swappiness option comes into play in get_scan_count() defined in mm/vmscan.c. get_scan_count() determines how aggressively the anonymous and file LRU lists should be scanned when looking for pages to evict. The value of each case is is determined by the floating average of recently rotated and recently scanned ratios where more recent references have more weight than older ones in order take into account the changing workload of the system.

The vm.swappiness is a modifier that changes the balance between swapping out file cache pages in favour of anonymous pages. vm.swappiness is the priority value given to anonymous pages, by default set to 60. The file cache is given an priority value of 200 from which the vm.swappiness modifier is deducted (file_prio=200-anon_prio). This means that, by default, the priority weights stand moderately in favour of anonymous pages (anon_prio=60, file_prio=200-60=140). However, when the system is close to an out-of-memory condition, the both anonymous and file LRU lists are scanned equally, unless vm.swappiness is set to zero.

When vm.swappiness is set to 100, the priorities would be equal (anon_prio=100, file_prio=200-100=100). Setting vm.swappiness to zero will prevent the kernel from evicting anonymous pages in favour of pages from the file cache.

, og
There is a formula which is used to compute what page will be swapped. In vmscan.c you can see this algorithm:

Kode: Vælg alt

swap tendency = mapped_ratio / 2 + distress + vm_swappiness


Here you can see that swappiness is a scale, which is added in some algorithm and you can control by this parameter how the kernel will behave when it must swap. You can figure it as an percentage of probability, that some inactive memory page will be swapped. If you set swappiness to 100, there is no probability, but a guarantee that it will swap and if you set it to 0, the kernel will try not to swap at all as long as it has some empty memory.

,samt
It has been said (I think Norman 1986) that often the "CLOSE DOOR" button in an elevator is either broken or never was connected to anything in the first place. This makes the ersatz control not a way of manipulating the elevator but of pacifying the over-hurried rider.

In a similar fashion, swappiness has an effect unrelated to its well-defined, deterministic control of a kernel predicate. As was noted by @neon_overlord on askubuntu.com

Because most believe that swapping = bad and that if you don't reduce swappiness, the system will swap when it really doesn't need to. Neither of those are really true. People associate swapping with times where their system is getting bogged down - however, it's mostly swapping because the system is getting bogged down, not the other way around. It's true that there are certain times when swapping can have a noticeable penalty, but reducing swappiness for that case can reduce overall system performance or stability in other ways which may later become noticeable…


So what does it really control? One valid answer — in addition to the fine answers already provided — is that it modifies your expectation that you have more control over your system and that twiddling a knob will allow you to exert that control in a meaningful fashion.



/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf lath » 22. apr 2015, 19:59

Der er også en Ubuntu Swap FAQ: https://help.ubuntu.com/community/SwapFaq/, samt den her: http://askubuntu.com/questions/157793/why-is-swap-being-used-even-though-i-have-plenty-of-free-ram

Ubuntu Swap FAQ har et script til at få læsset alt i swap ind i RAM igen (hvis altså fri RAM > brugt swap).

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf thj01 » 23. apr 2015, 10:55

@lath

Jeg er ikke så teknisk funderet som dig (er humanist ;) ), så kan du ikke give et sammendrag?.

Det jeg forstår ud af det er, at man ikke bør pille ved swapiness, fordi man risikerer at gøre ens system langsommere (igen - jeg er ikke teknisk minded).
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf lath » 23. apr 2015, 12:00

thj01 skrev:@lath

Jeg er ikke så teknisk funderet som dig (er humanist ;) ), så kan du ikke give et sammendrag?.

Det jeg forstår ud af det er, at man ikke bør pille ved swapiness, fordi man risikerer at gøre ens system langsommere (igen - jeg er ikke teknisk minded).

Forkert, det er lige det modsatte, hvis din computer har meget RAM (feks, 16 GB RAM). Her sætter du swappiness til 10. Har du kun 8 GB RAM sættes den højere op , f.eks. 30, så swapping sker tidligere, i forhold til et system der har 16 GB RAM, som har swappiness=10.

Du bør lige netop pille ved swappiness, hvis din computer har meget RAM. Årsagen er at hvis du sætter swappiness til en lavere værdi end 60, lad os sige 10 (anbefales hvis meget fysisk RAM), så flytter du tærskelen for hvornår at der flyttes pages (1 page=4KB) ud i swap.

En disk - hvilken som helst disk - er markant langsommere end fysisk RAM - så du får et mere livligt system med en lavere swapiness værdi, fordi at styresystemet svarer hurtigere, end hvis swappiness var sat til en højere værdi.

En ting du bør være opmærksom på er hvis du har et usædvanligt brugsmønster for virtuel hukommelse. Så kan det godt betale sig at sætte swappiness højere op.
Du må prøve dig frem og finde den grænse hvor systemet sådan generelt er mest livligt, uden lige pludseligt at blive meget sløvt fordi du starter noget software op der æder virkeligt meget virtuel hukommelse, hvor "meget virtuel hukommelse" er i forhold til hvor meget fysik RAM din computer har.

Hvordan du skruer på swappiness er tidligere nævnt, men her er lidt om hvordan du vurderer værdien:
  • Hvis du sætter swappiness til en højere værdi, så bliver systemet mindre livligt, da mere af den virtuelle hukommelse er i swap. Til gengæld kan det hurtigere starte programmer op der bruger meget virtuel hukommelse uden at hele styresystemet bliver mere sløvt.
  • Hvis du sætter swappiness til en lavere værdi, så bliver systemet mere livligt, da mindre af den virtuelle hukommelse er i swap. Til gengæld er den langsommere om at starte programmer op der bruger meget virtuel hukommelse, fordi at der er pages der først lige skal swappes data ud. Nogle gange kan systemet blive ekstremt sløvt.
    • Der er 2 ekstremer:
    • vm.swappiness=0 betyder at swap kun tages i brug når systemet løber tør for fysisk RAM.
    • vm.swappiness=100 betyder at der stort set straks swappes pages ud til disk.

----
Overnævnte er for dekstops:
På servere er det anderledes: Her kan det godt anbefales at have en vm.swappiness på 60. Det kan betale sig fordi at kernen så hurtigere lægger en page ud i swap.
Med en høj swappiness værdi kan serveren så hurtigere allokere RAM til noget indhold, hvis der pludseligt er en web side der bliver hot (mange vil have den side).

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

AJenbo
Admin
Indlæg: 20860
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf AJenbo » 23. apr 2015, 12:36

Hvis det hade været universalt sandt ville linux kernen nok selv justere den værdi op og ned alt efter hvor meget ram der var i maskinen. Som så meget andet med performance kommer det an på hvilken form for arbejdsbyrde du pålægger maskinen.

thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf thj01 » 24. apr 2015, 15:19

@lath

Jeg stiller lige et (dumt?) spørgsmål igen.

Jeg giver nogle eksempler ovenfor hvor jeg starter 3 windows maskiner op i VB - det er først ved den sidste at systemet skriver i swap.

Vil det overhovedet ændre sig ved at jeg laver swapiness om til 10? - altså teoretisk

Grunden til at jeg spørger er, at jeg ingen swapforbrug har før jeg rammer de 3 virtuelle maskiner.
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf lath » 24. apr 2015, 15:50

thj01 skrev:@lath

Jeg stiller lige et (dumt?) spørgsmål igen.

Jeg giver nogle eksempler ovenfor hvor jeg starter 3 windows maskiner op i VB - det er først ved den sidste at systemet skriver i swap.

Vil det overhovedet ændre sig ved at jeg laver swapiness om til 10? - altså teoretisk

Grunden til at jeg spørger er, at jeg ingen swapforbrug har før jeg rammer de 3 virtuelle maskiner.


Det vil det teoretisk, jo.

Der vil være et større forbrug af RAM før swap tages i brug, når swappiness=10, i forhold til swappiness=60.
Det betyder dog ikke at swap ikke tages i brug når du tager din 3. VM i brug, da en VM spiser godt til med RAM. Med andre ord så kan du sagtens komme over grænsen for hvornår swap tages i brug, når du tager din 3. VM i brug.

For mig ser det ud til at dit brugsmønster på maskinen er sådan at du får mest fordel af swappiness=10, når du bruger Ubuntu og har fra 0 (nul) til 2 (incl.) VM kørende.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

AJenbo
Admin
Indlæg: 20860
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf AJenbo » 24. apr 2015, 19:48

hvis det ram der optages af programmerene / VM kan det også være du får en bedre ydelse af at det bliver lagt i swap så ram istedet kan bruges som buffer. Det er der for værdien ikke blot altid er sat til 0

Brugeravatar
Blueeyez
Forfatter
Indlæg: 885
Tilmeldt: 24. jul 2012, 21:33
IRC nickname: Blueeyez

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf Blueeyez » 25. apr 2015, 20:40

Bare lige noget at fundere over..

Min bærbar har 4 GB ram, brugte ikke over 1 GB, men alligevel brugte den swap.. godt nok kun 0.2%, men stadig..
* Linux Ubuntu 16.04 64 bit - I3, 4 GB DDR3 1600Mhz, intel 7260AC dual band wifi, Samsung EVO 850 250 GB SSD. - Abook Z510
* Asustor nas: AS-202T, AS-202TE & AS-604T
https://linuxviden.dk

AJenbo
Admin
Indlæg: 20860
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf AJenbo » 26. apr 2015, 11:48

Har du haft maskinen på standby/hvile/dvale?

Brugeravatar
Blueeyez
Forfatter
Indlæg: 885
Tilmeldt: 24. jul 2012, 21:33
IRC nickname: Blueeyez

Re: Swap-partition - Er den overhovedet nødvendig i dag?

Indlægaf Blueeyez » 26. apr 2015, 12:20

Nope, har SSD og oveni det har hvaile/dvale aldrig sagt mig det store.. (Har kun oplevet negative situationer i Windows på den konti)
* Linux Ubuntu 16.04 64 bit - I3, 4 GB DDR3 1600Mhz, intel 7260AC dual band wifi, Samsung EVO 850 250 GB SSD. - Abook Z510
* Asustor nas: AS-202T, AS-202TE & AS-604T
https://linuxviden.dk

Tilbage til "Linux"

Hvem er online

Brugere der læser dette forum: [Bot] og 0 gæster