# Swapspace

## netbui

Hallo,

 ich habe auf meinem Gentoo (stable, immer frisch synced)  Notebook probleme mit dem Swapspace. Angelegt habe ich ihn mit mkswap /dev/hda4, mit swapon kann ich ihn auch starten. In der fstab ist er auch korrekt eingetragen. Leider wird der swapspace beim booten nur in ca. 10% der fälle automatisch vom System gemounted. Das System hat genügend Speicher, ich benötige den Swapspace nur für suspend to disk.

Hat jemand einen Tipp für mich?

----------

## franzf

hi

zeigt dir dann free -m auch keinen SWAP an?

Oder bekommst du ne Fehlermeldung beim Booten?

----------

## netbui

Hi,

danke für die Antwort,  bin gerade auf der Arbeit und kann ich erst heute Abend ausprobieren. "top" zeigt allerdings auch Swapspace = 0 an, ist das eventuell vergleichbar?

Ich habe mal im Kernel die Hibernationpartition (= Swpaspace) festauf /dev/hda4 eingestellt, was dann beim Booten eine entspprechende Felhlermeldung produziert hat.

----------

## Klaus Meier

Man muß für Hybernate so weit ich weiß keine eigene Partition angeben, es wird automatisch die Swappartition verwendet. Diese sollte dafür aber mindestens doppelt so groß wie der Hauptspeicher sein.

----------

## netbui

Das ist ja das Problem, der Swapspace wird von Gentoo nicht automatisch erkant, obwohl ich ihn mit swapon einschalten kann. 

Ich dacht immer, die Partition for Hibernation muss mindestens genau so groß sein wie der Arbeitspeicher. Ich habe 768 Mb Ram und ein Swapspace von 790 Mb.

----------

## Klaus Meier

 *netbui wrote:*   

> Das ist ja das Problem, der Swapspace wird von Gentoo nicht automatisch erkant, obwohl ich ihn mit swapon einschalten kann. 
> 
> Ich dacht immer, die Partition for Hibernation muss mindestens genau so groß sein wie der Arbeitspeicher. Ich habe 768 Mb Ram und ein Swapspace von 790 Mb.

 

Du mußt in deiner fstab die Swappartition angeben. Steht jedenfalls so in der Anleitung. Knoppix und ähnliches, die suchen beim Booten nach einer Swappartition und nutzen sie automatisch. Und mach die Partiton mal größer.

----------

## netbui

Habe ich ja... das ist ja das problem  :Sad: 

/dev/hda4      none                swap      sw                             0       0

----------

## firefly

für suspend2 muss die swap-partiton nicht vom system "gemounted" werden, soweit ich weis.

----------

## netbui

Suspend2 habe ich nicht installiert, (gestern Abend ausprobiert, wollte irgendwelche uralten Sourcen installieren). Ich will Klaptop fur Hibernating verwenden (Suspend to Ram und Stanby funktionieren damit problemlos). So wie ich das bisher verstandne habe, schaut der Bootkernel nach, ob sich in der Swappartition gültiges Speicherabbild befindet. Da die Swappartition aber beim booten in 90% der Fälle nicht verfügbar ist, klappt das eher sleten...

Wie schon geschrieben, mit swapon kann ich die Partition aktivieren.

----------

## Treborius

hast du dieses "cleanup-suspend2-swap-signatures"-script

automatisch beim booten drin?

keine ahnung wie das wirklich heisst, bin auf arbeit

*schuss ins blaue*

----------

## firefly

Die aktuellen suspend2 sourcen sind ~arch masked.

und swapon und die verwendung der swap-partition für suspend haben nichts miteinander zu tun.

Der suspend code sucht in der partitionstabelle nach einer partition, die als swap-partition markiert ist.

swapon wird nur gebraucht, um eine swap-partition/-datei für das system als Auslagerungs-ort verfügbar zu machen.

----------

## netbui

Ich dachte eigentlich, dass ich die richtige Filesystem ID für die Swappartition eingegebne habe. Überprüfe ich heute Abend nochmal. Benötige ich suspend2 für Suspend to disk??? oder geht es auch ohne (mit Klaptop)

----------

## firefly

sollte auch ohne gehen nur das suspend2 kompremierung des images unterstüzt

----------

## netbui

Hallo,

 endlich zu Hause  :Smile: 

Also:

```
~ # free -m

             total       used       free     shared    buffers     cached

Mem:           733        716         17          0        240        190

-/+ buffers/cache:        285        448

Swap:            0          0          0
```

- kein swap vorhanden und

```

fdisk /dev/hda

/dev/hda1               1        1814    14570923+   7  HPFS/NTFS

/dev/hda2   *        1913        1925      104422+  83  Linux

/dev/hda3            1926        3648    13839997+  83  Linux

/dev/hda4            1815        1912      787185   82  Linux swap / Solaris
```

hda4 hat das richtige Disklable. Von suspend2 habe ich gar nichts installiert. Wie bekomme ich diesen Swapspace beim booten zu laufen?

 :Confused:  Arrgh, jetzt geht nicht mal:

```

~ # swapon -a

swapon: /dev/hda4: Invalid argument
```

Die Fehlermeldung hatte ich letztes Mall nicht!

```

/dev/hda1        /mnt/win        ntfs            defaults,nls=utf8,noatime        0 0

/dev/hda2        /boot           ext2            defaults,noatime        1 2

/dev/hda3        /               reiserfs        defaults,noatime        0 1

/dev/hda4        none            swap            sw                      0 0
```

Was habe ich übersehen?

----------

## SinoTech

 *netbui wrote:*   

> 
> 
> [...]
> 
> ```
> ...

 

Diesen Fehler hatte ich auch mal. Ein "mkswap /dev/hda4" sollte das beheben.

Cheers,

Sino

----------

## netbui

Moin,

 das ist ja das Problem: mit mkswap kann ich den Swapspace rstellen. Leider "verschwindet" er irgendwann wieder und steht dem System bei einem Hibernation Wakeup nicht zur Verfügung. Hat noch jemeand 'nen Tipp

----------

## Klaus Meier

 *netbui wrote:*   

> Moin,
> 
>  das ist ja das Problem: mit mkswap kann ich den Swapspace rstellen. Leider "verschwindet" er irgendwann wieder und steht dem System bei einem Hibernation Wakeup nicht zur Verfügung. Hat noch jemeand 'nen Tipp

 

Größer machen. Er sollte das doppelte der Hauptspeichers haben.

----------

## netbui

Hmm, werde ich mal versuchen, wollte sowieso eine größere Platte einbauen.

----------

## toskala

 *Klaus Meier wrote:*   

> Größer machen. Er sollte das doppelte der Hauptspeichers haben.

 

unsinn. und nur weil ich 2gb ram hab brauch ich jetz 4gb swap?

----------

## toskala

 *netbui wrote:*   

> Hallo,
> 
> ...
> 
> Hat jemand einen Tipp für mich?

 

kannst du bitte mal den output von

```

fdisk -l /dev/hdX 
```

posten? wobei X die platte ist auf dem dein swapspace vergeben ist.

----------

## netbui

Hi, hatte ich bereits weiter oben:

```
fdisk /dev/hda

/dev/hda1               1        1814    14570923+   7  HPFS/NTFS

/dev/hda2   *        1913        1925      104422+  83  Linux

/dev/hda3            1926        3648    13839997+  83  Linux

/dev/hda4            1815        1912      787185   82  Linux swap / Solaris
```

----------

## Klaus Meier

 *toskala wrote:*   

>  *Klaus Meier wrote:*   Größer machen. Er sollte das doppelte der Hauptspeichers haben. 
> 
> unsinn. und nur weil ich 2gb ram hab brauch ich jetz 4gb swap?

 

Für den normalen Betrieb nicht. Aber bei ihm tritt das Problem auf, daß die mit mkswap angelegte Swappartition jedesmal verschwindet, wenn hybernate den Speicher schreiben will.

----------

## firefly

nimm lieber suspend2 denn das stellt die swap-partition nach einem resume wieder sauber her, damit es das system wieder als swap verwenden kann.

----------

## toskala

ich verwende bei suspend2 den filewriter, funktioniert sehr gut und hat keine nervigen swap probleme.

----------

## firefly

nur das du halt quasi doppelt speicher "verschwendest", wenn du ne swap-partition verwendest, da du zum einen warscheinlich die swap-partition in etwa genauso groß wie dein verfügbarer RAM und zum anderen hast zu eine datei welche genausogroß ist wie der Ram (ohne comprimierung des suspend images)

Und bei suspend2 gibt es auch keine probleme mit dem swap. Zum einen gibt suspend2 die swap-partition wieder sauber frei, wenn der resume erfolgreich war. Zum anderen gibt es in dem hibernate-scripts paket ein init-script(hibernate-cleanup), welches die swap-partition neu erstellt(per mkswap) bzw. die suspend datei leert.

EDIT: die hibernate-scripts sind nicht rein für suspend2 ausgerichtet, mit diesen scripts kann man auch swsusp verwenden. Auch das clean-up script ist dafür ausgelegt.

----------

