# Swapen används inte.

## riceri

Hallå, jag har ett litet problem.

Jag får Segment Fault när jag försöker kompilera nått och vad jag förstår så bror det ofta på swapen, men nu ser jag att min swap används inte.

```
Swap:  2008104k total,        0k used,  2008104k free,   276472k cached
```

Någon som kan säga hur jag kan testa att skriva nått till swapen?

----------

## megadonkey

Jag vet inte riktigt om segmentation fault har just med swapen att göra.

Hade problem med seg fault på en av mina datorer och det visade sig att minnet var kasst.

Du kanske ska testa memtest-x86 och i alla fall utesluta minnesproblem.

Överklockning och för vårdslösa CFLAGS kan väl ställa till en hel del oxå.

----------

## riceri

Jag har redan testat det, det ända jag inte testat än är om swapen är ok.

----------

## MagnusBerg

SWAPen tillhör stenåldern när datorer inte hade så mycket RAM. Har du 500 MB RAM eller mer är det ytterst sällan det blir något i den. Jag har en liten swap på 133 MB och 1 GB RAM och har ytterst ytterst sällan något i swapen. När jag kompilerat alla KDE paket kan det bli några MB i swapen.

----------

## riceri

Ok, men jag har bara 512 mb ram, jag böjar inse nu att små packet går att kompilera men inte större saker...

----------

## gurgel

 *riceri wrote:*   

> Jag har redan testat det, det ända jag inte testat än är om swapen är ok.

 

I likhet med megadonkey tror jag inte det är swapen som är orsaken till dina problem.  Men om du ändå vill kontrollera att systemet kan använda swapen vid behov, kan du ju kompilera och köra följande lilla program

```

#include <stdlib.h>

#define SIZE (256*1024*1024)      // Detta ger  256 MB

int main ()

{

    char *p, *q;

    p = malloc(SIZE);

    for (q = p; q <= p+SIZE; q++)  *q = '*';

    return 0;

}

```

Definiera om SIZE till den mängd RAM du har. 

Varning: Om din swap inte fungerar finns det risk att det går illa när du kör programmet ovan.  När det blir väldigt ont om minne börjar kerneln döda processer för att göra mera plats. Vill det sig illa kan den process den dödar vara något viktigt. 

(Aj hur man kompilerar och kör koden ovan?

Spara i en fil, t.ex. swaptest.c, kompilera med

```

gcc swaptest.c

```

och kör 

```

./a.out

```

)

----------

## riceri

 *gurgel wrote:*   

> Varning: Om din swap inte fungerar finns det risk att det går illa när du kör programmet ovan.  När det blir väldigt ont om minne börjar kerneln döda processer för att göra mera plats. Vill det sig illa kan den process den dödar vara något viktigt. 

 

I värsta fall får jag väl bara starta om den eller?

Den kan väl inte förstöra data?

----------

## riceri

Jag körde det där och när jag bara valde att den skulle ta 100 mb så började den döda andra prosesser.

----------

## gurgel

 *riceri wrote:*   

>  *gurgel wrote:*   Varning: Om din swap inte fungerar finns det risk att det går illa när du kör programmet ovan.  När det blir väldigt ont om minne börjar kerneln döda processer för att göra mera plats. Vill det sig illa kan den process den dödar vara något viktigt.  
> 
> I värsta fall får jag väl bara starta om den eller?
> 
> Den kan väl inte förstöra data?

 

Tja, antag att det som dödas är en texteditor, openoffice eller dylikt, och att man inte sparat de senaste förändringarna man gjort.  Då blir  man inte glad.

----------

## megadonkey

 *riceri wrote:*   

> Ok, men jag har bara 512 mb ram, jag böjar inse nu att små packet går att kompilera men inte större saker...

 

Skumt om nu ditt minne var ok, för precis så var det på min oxå.

Små program var inga problem att kompilera men gcc buggade ur totalt.

----------

## riceri

Jag får testa, memtest igen. Ska göra det någongång under helgen när datorn inte behövs.

Tackar för hjälpen!!

Bör tilläggas, jag lyckades just compilera mySQL  :Smile: 

----------

## megadonkey

 *riceri wrote:*   

> Bör tilläggas, jag lyckades just compilera mySQL 

 

Alltid något   :Very Happy: 

Även värmeproblem och dåligt nätagg kan ju vara en orsak men då skulle nog datorn vara väldigt ostabil överhuvud taget.

----------

## riceri

Det som endå är bäst med allt detta är att burken innan hade Redhat och det var SAMMA probelm på den  :Smile: 

Dom har dock inget att göra med varandra.

----------

## terens

Jag hade liknande problem (segmentation fault) vid emerge, särskilt när det gällde stora och tunga paket (lyckades överhuvudtaget inte installera OpenOffice och kde fick jag köra om tusen gånger). Prövade "allt"; testade minnet som inte visade några fel, skaffade bättre fläktar och prövade öppna lådan (och fönstret) för att vara säker på att det inte hade med kylningen att göra. 

Till slut köpte jag ändå ett nytt minneskort och då var problemen borta. 

Har hört att fel på RAM kan vara svåra att upptäcka för testprogram och att det är ett av de vanligaste felen vid kompilering.

----------

