staging.inyokaproject.org

Swap

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Swap.

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

stfischr schrieb:

Tja die Tatsachen sprechen aber dagegen, hab gerade mit Kernel 2.6.21 32bit (musix in qemu) ne 4GB swap angelegt und erfolgreich swapon ausgeführt.

Ich nehme alles zurück und behaupte das Gegenteil 😉 Magst du mal spaßeshalber auch deutlich mehr als 4 GB (6 oder 7 Gigabyte) testen? - Und dann mal vollswappen lassen.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Dirk Sohler schrieb:

... Magst du mal spaßeshalber auch deutlich mehr als 4 GB (6 oder 7 Gigabyte) testen? - Und dann mal vollswappen lassen.

Wenn du mir einen Tip gibst, wie ich (ohne 1000 Programme zu starten) vollswappen kann.

Rorschach Team-Icon

Avatar von Rorschach

Anmeldungsdatum:
22. Mai 2008

Beiträge: 786

1
2
3
4
5
6
#include <stdlib.h>

int main(void) {
	for (;;)
		malloc(100);
}

Das sollte dein System in kürzester Zeit zum Vollswappen bringen 😉 Ich weiss gerade aber nichtmehr wieviel Memory ein einzelner Prozess standardmässig fressen darf, je nachdem wie gross dein Ram und Swap ist musst du den malloc Aufruf forken.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Rorschach schrieb:

Das sollte dein System in kürzester Zeit zum Vollswappen bringen 😉 Ich weiss gerade aber nichtmehr wieviel Memory ein einzelner Prozess standardmässig fressen darf, je nachdem wie gross dein Ram und Swap ist musst du den malloc Aufruf forken.

Hehe. Auf die Idee bin ich auch schon gekommen, aber das bringt das System in null komma nix zum Stillstand (reagiert nichtmehr).

Habs deshalb probiert mit

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char *ptr = NULL;
	int i = 0;
	ptr = (char *)malloc(536870912 * sizeof (char));
	printf("%p",ptr);
	scanf("%d",&i);
	printf("%d",i);
	return EXIT_SUCCESS;
}

und das dann mehrmals gleichzeitig gestartet, aber es wird überhaupt kein swap belegt??? obwohl er mir jedesmal ne andere Adresse zuweißt.

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

stfischr schrieb:

[...] aber es wird überhaupt kein swap belegt???

Vielleicht mal ganz klassisch in einer VM mit 6 Gigabyte swap und 100 MB Arbeitsspeicher die Forkbomb zünden 😉

:(){ :|:& };: # NEVER RUN THIS ON YOUR WORKING MACHINE!!

see

(Themenstarter)

Anmeldungsdatum:
24. März 2007

Beiträge: 80

... und gibts schon ergebnisse? konntest du das systhem erfolgreich ohne absturz vollswappen? *neugierig_bin*

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Noch nicht ☹

Aber die bisherigen methoden bringen auch normale System < 2GB Swap zum Absturz :/ bin noch fleißig am probieren. Habe da so ne Idee mit c++ und vectoren

So meine lieben, folgendes Programm belegt genau 1GB, also mehrmals starten.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
using namespace std;

int main()
{
	vector<long long> v;
	unsigned long long i=0;
    for (i=0; i<16777216*8; ++i)
    {
        v.push_back(i);
    }
    cout << "Fertig 1024 MB belegt";
    cin >> v[i];
	return 0;
}

am besten mit -march=native -O3 kompilieren, da es ziemlich lange dauert, dis der komplette Speicher angefordert wurde.

Davon abgesehen wird das System unglaublich träge, weil er wie ein verrückter swapen muss. Aber es stürzt nicht ab

FrancisA

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 965

Das ist zwar nicht wirklich hilfreich, aber beim Radfahren kam mir ein schöner Gedanke, quasi eine Analogie zum Swappen.

Wie ich heute mit dem Fahrrad fuhr, Es kommt eine Mulde. Ich beschleunige nochmals, um den Schwung für das nächste Bergal mitzunehmen.

Ich könnte nun früher oder später herunterschalten. Vielleicht beim späteren kann ich den schwung noch länger halten, aber beim darauffolgendne schalten wird das ganze Fahrverhalten abrupter (wie beim aggressiven swapping).

Schalte ich jedoch schon dann herunter, wenn es noch nicht gaanz notwendig ist, bin ich vielleicht momentan nicht ganz so schnell, fahre aber flüssiger (wie beim konservativen Swapping).

Oder hat das sogar schon Ähnlichkeit mit Fuzzy Logik?

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

FrancisA schrieb:

Oder hat das sogar schon Ähnlichkeit mit Fuzzy Logik?

Fuzzy Logic wäre, wenn du erst wüsstest, dass du geschaltet hast, nachdem die Kette schon umgesprungen ist ☺

FrancisA

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 965

Dirk Sohler schrieb:

FrancisA schrieb:

Oder hat das sogar schon Ähnlichkeit mit Fuzzy Logik?

Fuzzy Logic wäre, wenn du erst wüsstest, dass du geschaltet hast, nachdem die Kette schon umgesprungen ist ☺

Ah, das ist gut. Ich dachte mir, bei japanischen UBahnen wird Fuzzy Logic verwendet, um das ruckeln beim bremsen und beschleunigen zu minimieren. Das heist, ich weiß erst, dass ich aussteigen kann, nachdem die Türe schon offen ist? 😉

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

FrancisA schrieb:

Das heist, ich weiß erst, dass ich aussteigen kann, nachdem die Türe schon offen ist? 😉

Nein, nein … Du merkst erst, dass die Türe geöffnet ist, wenn du schon ausgestiegen bist ☺ Apropos U-Bahn und so …

http://www.youtube.com/watch?v=N-X6dC2yrUc

DAS ist Fuzzy Logic – Vor allem, weil die nächste in nur zwei Minuten kommt 😉 Na ja … eigentlich ist’s gar keine Logik, aber das ist Fuzzy Logic ja auch nicht 😉

FrancisA

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 965

Dirk Sohler schrieb:

FrancisA schrieb:

Das heist, ich weiß erst, dass ich aussteigen kann, nachdem die Türe schon offen ist? 😉

Nein, nein … Du merkst erst, dass die Türe geöffnet ist, wenn du schon ausgestiegen bist ☺ Apropos U-Bahn und so …

http://www.youtube.com/watch?v=N-X6dC2yrUc

DAS ist Fuzzy Logic – Vor allem, weil die nächste in nur zwei Minuten kommt 😉 Na ja … eigentlich ist’s gar keine Logik, aber das ist Fuzzy Logic ja auch nicht 😉

Grummel. Ich merke erst, wenn ich ausgestiegen bin, dass sich die Türe geöffnet haben? Das ist so ähnlich wie bei der Beschreibung der Lichtgeschwindigkeit. Wie ging das schnell? Wie schnell muss ich sein, dass mein 8m langes Auto in einer 4m langen Garage Platz hat? Inspirierende Gleichnisse. ☺

Oder: Wirkung vor Kausalität (Umgekehrter Zeitpfeil). Da wird metaphysisch...

Zum Video: Geh schleich di! ☺ Ich bekäme den absoluten Platzangsthorror. Öffentliche Verkehrsmittel in Japan? Nein, danke. Das ist Fuzzy Einschlichen, ahmm Fuzzy reinquetsch. Ist das jeden Tag so in Japans UBahnen? Bist denn du debbert!!! ☺

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

könnte ihr dann mal wieder zurück zum eigentlichen Thema kommen?

Gruß, noisefloor

FrancisA

Anmeldungsdatum:
11. Dezember 2006

Beiträge: 965

noisefloor schrieb:

Hallo,

könnte ihr dann mal wieder zurück zum eigentlichen Thema kommen?

Gruß, noisefloor

Ok sorry, Ordnungsruf akzeptiert. 😉

yahubu

Anmeldungsdatum:
7. Dezember 2008

Beiträge: 260

Guten Tag allerseits, ich ergänze hier auch mal meinen Senf:

Im Artikel steht die Passage

Mit

sudo swapon -s 

kann man jederzeit den Stand des Swap überprüfen.

→ Also bei mir (Jaunty, 32bit, Gnome) gehts auch als user (der allerdings das System administrieren darf) OHNE sudo.

Wenn es bei anderen Situationen nicht geht, kann man's ja so drin lassen, ansonsten könnte das wurzelpräfix ja gestrichen werden.

Gruß