Linux 15.028 Themen, 107.048 Beiträge

Linux' Swap-Verhalten - im Detail ähnlich dem von Windows ?

Andy 386 / 28 Antworten / Baumansicht Nickles

Hallo,
ich habe ab und an mit reht grossen Daten in Matlab (unter Linux) zu tun. Das Auslagern klappt soweit. Nur würde ich es gerne mit einem ("Highspeed-")USB-Stick beschleunigen. Ich habe etwas ähnliches schon mal mit einem normalen Stick und einem alten Laptop gemacht, hat wunderbar funktioniert. Um jedoch eine bessere Performance zu erzielen (bzw um überhaupt einen Gewinn zu sehen;) würde ich gerne wissen, wie genau Linux auslagert. Also, abhängig vom swappiness usw, das hab ich schon rausgefunden. Nur wie ganz genau ? Lagert es immer kleine 5kB Blöcke aus, so wie Windows, oder fängt es bei Linux erst bei 1MB an ?

Ich würde es gerne wissen, da viele USB-Sticks zwar gute Datenübertragungen erreichen, aber bei kleinen Teilen versagen.

bei Antwort benachrichtigen
uscos Andy 386 „Linux' Swap-Verhalten - im Detail ähnlich dem von Windows ?“
Optionen

Hi Andy_386:

hier eine kleine Anleitung wie du einfach herrausfinden kannst wie dein Programm swappt:
http://mail.nl.linux.org/linux-mm/2003-03/msg00077.html . Merke dir, dass du RSS und VSIZE selber einstellen kannst :-)
Mit der bs option kannst du (mit Hilfe von dd) swap kreieren und somit festlegen wie Groß ein Block ist. Das steht hier beschrieben:
http://www.linux.com/feature/121916

HTH
uscos

bei Antwort benachrichtigen
KarstenW Andy 386 „Linux' Swap-Verhalten - im Detail ähnlich dem von Windows ?“
Optionen

"Lagert es immer kleine 5kB Blöcke aus, so wie Windows, oder fängt es bei Linux erst bei 1MB an ?"

Das weiß ich nicht so genau, aber wenn du viel RAM eingebaut hast, dann wird wahrscheinlich überhaupt kein Speicher ausgelagert.
Erstmal muß man wissen das der Linuxkernel versucht die Anzahl der Festplattenzugriffe zu minimieren. Das heißt der Kernel versucht die Daten so lange wie möglich im RAM zuhalten. Das wird dadurch erreicht in dem ein großer Teil vom RAM als Festplattencache verwendet wird.
Die Auslagerungspartition wird nur dann verwendet wenn RAM wirklich knapp wird.
Du mußt erstmal herausfinden wieviel RAM dein Programm braucht. Das kann man sehr gut mit dem ps (Prozessstatus) Befehl herausbekommen. Du kannst auch mal die manpage von ps lesen:

"man ps"

Ich mache es immer so, wenn ich nicht weiß wieviel RAM im Rechner sinnvoll sind:

Ich lasse mir regelmäßig vom Befehl "free -m" oder auch nur "free" anzeigen wieviel von der Auslagerungspartition verwendet wird. Wenn immer wieder regelmäßig Speicher ausgelagert wird, dann baue ich noch ein zusätzliches (großes) RAM-Modul in den Rechner. Das Auslagern von Speicher macht den Rechner langsamer. Wenn man etwas mehr Speicher in den Rechner einbaut, dann kann man die Performance des Linux-Rechners steigern.

Die Speicherverwaltung vom Linuxkernel ist schon seit vielen Jahren in 64 bit programmiert. Dadurch kann der Linuxkernel bis zu 64 GByte RAM verwalten, auch die 32 bit Version.

Im Linuxkernel von der 32 bit Version gibt es eine High Memory Option. Wenn du nur 1 GByte RAM in den Rechner eingebaut hast, dann kann man dies Option auf "off" stellen.
Wenn du 2 - 4 GByte RAM in den Rechner eingebaut hast dann wird die High Memory Option auf 4 GByte eingestellt.
Wenn mehr als 4 Gbyte RAM im Rechner sind, dann sollte die High Memory Option auf 64 GByte eingestellt sein.
Du mußt mal bei deiner Distribution nachschauen, ob es spezielle Kernelimages (das schon fertig übersetzte Linuxkernels ) gibt, welche diese Option entsprechend eingestellt haben. Sonst kann du auch einen eigenen Betriebsystemkern übersetzen. Du mußt dazu kein Programmier sein.
Bei der 64 bit Version wird dann kein Unterschied zwischen dem Low Memory und dem High Memory gemacht. Aber wenn du die 32 bit Version installiert hast, dann kann der Linuxkernel auch bis zu 64 GByte RAM verwalten. Das ist alles viel besser programmiert als bei Windows ;-).

PS: Windows lagert im Gegensatz dazu schon Speicher aus, wenn mehr als 278 MByte RAM im Rechner eingebaut sind. Ich weiß das deshalb so gebaut, weil dazu immer eine Warnung bei der Konfiguration von VMware Workstation erscheint.


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
neanderix KarstenW „ Lagert es immer kleine 5kB Blöcke aus, so wie Windows, oder fängt es bei...“
Optionen
Erstmal muß man wissen das der Linuxkernel versucht die Anzahl der Festplattenzugriffe zu minimieren. Das heißt der Kernel versucht die Daten so lange wie möglich im RAM zuhalten. Das wird dadurch erreicht in dem ein großer Teil vom RAM als Festplattencache verwendet wird.

Das ist ein widerspruch in sich, denn RAM, das für Caching verwendet wird, fehlt für Anwendungsdaten. Das wiederum bedeutet, dass der PC sogar umso eher auslagert, je mehr RAM für Caching verwendet wird.
dieses Verhalten kann man wunderbar bei Windows beobachten, denn Windows verwaltet den noch freien RAM als Cache - und es lagert eher Daten auf die Platte aus, als davon Speicher für Anwendungsdaten freizugeben.

Linux verhält sich hier zum Glück intelligenter und man kann als Faustregel sogar sagen: solltest du bemerken, dass Linux die SWAP-Partition benutzt, dann läuft in deinem System was schief und du solltest dich mal drum kümmern.

Volker

EDIT: habe in meinem System (Kubuntu 7.04 3GB RAM) gerade mal nachgesehen.
Gestartet sind: Claws-Mail, FF, Opera, KNode, eine Terminal-Emulation und Konqureror als Dateibrowser. In FF und opera sind jeweils 6 Tabs geöffnet
Ergebnis: kein Swap-Space genutzt
(wer nachsehen will: im Terminal "sudo swapon -s")

Versuch(t) mal ein windows dazu zu überreden, NICHT zu swappen... ich selber habe bisher noch nie, mit keiner RAM Aussattung, erlebt, dass ein winodws auf Nutzung der SWAP-Datei verzichtet hätte.
Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
KarstenW neanderix „ Das ist ein widerspruch in sich, denn RAM, das für Caching verwendet wird,...“
Optionen

"Das ist ein widerspruch in sich, denn RAM, das für Caching verwendet wird, fehlt für Anwendungsdaten. Das wiederum bedeutet, dass der PC sogar umso eher auslagert, je mehr RAM für Caching verwendet wird."

Diese Art der Speicherverwaltung ist vielleicht bei Windows üblich, aber nicht bei Linux.
Der Speicher wird nur teilweise für Festplattencaching verwendet. Du kannst dir ja selbst mal die Ausgabe von free -m oder free anschauen. So weit ich es verstanden habe, wird der Festplattencache auch reduziert, wenn der RAM knapp wird.
Ließ mal die manpage zu free:

"man free"


Das ist die Ausgabe von einem K6 500 MHz mit 256 Mbyte RAM:

karsten@Winkler2:~$ free -m
total used free shared buffers cached
Mem: 249 245 4 0 13 74
-/+ buffers/cache: 157 92
Swap: 501 0 501


Es wird nicht ein einziges Byte ausgelagert . 74 Mbyte werden für den Festplattencache verwendet und 13 MByte für einen Puffer.


Oder wenn du es ganz detalliert haben willst, dann gibst du den Inhalt der Datei /proc/meminfo aus:

cat /proc/meminfo

MemTotal: 255944 kB
MemFree: 4720 kB
Buffers: 7740 kB
Cached: 72916 kB
SwapCached: 0 kB
Active: 200940 kB
Inactive: 11828 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 255944 kB
LowFree: 4720 kB
SwapTotal: 514040 kB
SwapFree: 513988 kB
Dirty: 520 kB
Writeback: 0 kB
AnonPages: 132132 kB
Mapped: 61368 kB
Slab: 35684 kB
PageTables: 1552 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 642012 kB
Committed_AS: 293476 kB
VmallocTotal: 778220 kB
VmallocUsed: 1344 kB
VmallocChunk: 776764 kB



Ich weiß nicht konkret welcher RAM Speicher ausgelagert wird und wie diese Entscheidung der Linuxkernel trifft.

http://kechel.de/prozessadressraeume_zusammenfassung/node29.html

Keine Ahnung ob sich das was beim Linuxkernel 2.6.xx geändert hat.
Ich weiß nur das man das Auslagern von Speicher verhindern kann in dem man mehr RAM-Speicher einbaut. Um zu entscheiden ob mehr RAM Sinn machen, kontrolliere ich gelegentlich die Ausgabe von free.





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
neanderix KarstenW „ Das ist ein widerspruch in sich, denn RAM, das für Caching verwendet wird,...“
Optionen
Diese Art der Speicherverwaltung ist vielleicht bei Windows üblich, aber nicht bei Linux.

Warum schreibst du es dann so, dass man es genau so verstehen kann? Übrigens habe ICH definitiv nicht geschrieben, dass es so bei linux üblich sei - lies mein Post noch mal, mach dir diesmal aber die mühe, es zumindest ansatzweise verstehen zu wollen.

Volker
Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
KarstenW neanderix „ Warum schreibst du es dann so, dass man es genau so verstehen kann? Übrigens...“
Optionen

Da ich kein Systemprogrammierer bin und auch den Linuxkernel nicht so gut kenne, weiß nicht wie der Speicher aufgeteilt wird und wann Speicher ausgelagert wird.
Ich weiß nur das der Linuxkernel versucht so wenig wie möglich die Auslagerungspartition zu verwenden.

PS: Deutsch ist eben nicht meine Stärke ;-).

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
neanderix KarstenW „Da ich kein Systemprogrammierer bin und auch den Linuxkernel nicht so gut kenne,...“
Optionen
Da ich kein Systemprogrammierer bin

Bin ich auch nicht ;)

und auch den Linuxkernel nicht so gut kenne, weiß nicht wie der Speicher aufgeteilt wird und wann Speicher ausgelagert wird.

Trifft auf mich ebefalls zu ;)

Ich weiß nur das der Linuxkernel versucht so wenig wie möglich die Auslagerungspartition zu verwenden.

Siehste und genau das schrieb ich ;)

Wobei das allerdings streng genommen nicht ganz richtig ist.
Die "Aggressivität" der Auslagerung lässt sich einstellen:

sudo sysctl vm.swappiness=<Wert>

Wert kann hier eine Ganze Zahl zwischen 0 und 100 sein.
Bei 0 wird linux erst auslagern, wenn es gar nicht mehr anders geht, bei 100 hast das Gegenteil, Linux wird so früh wie möglich auslagern.

Standardvoreinstellung bei den *buntu"s ist 60.

Volker

25 ist der
Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
uscos neanderix „ Bin ich auch nicht Trifft auf mich ebefalls zu Siehste und genau das schrieb...“
Optionen

hierzu fällt mir Dieter Nuhr ein, der ja 2008 den deutschen IQ Preis gewonnen hat, wohl also nicht ganz doof ist:
"... Wenn man keine Ahnung hat: Einfach mal Fresse halten.“ (Das galt jetzt eher mal KarstenW)
http://de.wikipedia.org/wiki/Dieter_Nuhr

bei Antwort benachrichtigen
KarstenW Andy 386 „Linux' Swap-Verhalten - im Detail ähnlich dem von Windows ?“
Optionen

Das Problem mit der Auslagerung von Speicher kannst du mit viel RAM umgehen.
Wenn du Linux auf einem USB - Stick installieren willst, dann ist das größere Problem die Anzahl der Schreibvorgänge ingesamt zu reduzieren. Linux protokolliert unter /var/log viele Sachen mit und schreibt auch sehr viele Daten in das /tmp Verzeichnis.
Ich würde an deiner Stelle zumindest die Verzeichnisse /var/log und /tmp mit Hilfe einer RAM Disk im RAM Speicher anlegen.
Als Dateisystem würde ich ext2 empfehlen, weil bei ext3 ein Journal mit angelegt wird, in dem die Metadaten des Dateisystems (zumindest die Inodennummern der jeweiligen Dateien) gespeichert werden.

Ließ mal diesen Artikel:

http://www.martins-kabuff.de/blog/?id=4620fb6b0ab28

oder hier:

http://www.easylinux.de/pipermail/ubuntu/2008-November/007895.html

Erklärung der Datei /etc/fstab:

http://wiki.ubuntuusers.de/fstab?highlight=usb%20stick%20tmpfs





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Andy 386 KarstenW „Das Problem mit der Auslagerung von Speicher kannst du mit viel RAM umgehen....“
Optionen

Ich hab leider nur einen 3500+ 64Bit, mit DDR-RAM, der immernoch schweineteuer ist...
Und ein halbwegs schneller USB-Stick mit 4-8GB kostet nur 20..40 Euro

Ich will ja nicht mein System auf den Stick hauen, sondern diesen einfach mit swapon mounten. Gedachter Vorteil hierbei: Matlab kann Daten gleichzeitig speichern und laden (-> Festplatte), und hat auch noch genug Bandbreite zum Auslagern (->USB-Stick).

Klar kann man jetzt diskutieren, lohnt das, stick geht kaputt, usw.


Ich würde nur gerne von den Linux-Cracks wissen, in welcher Grösse die jeweils ausgelagerten Pakete sind.

bei Antwort benachrichtigen
KarstenW Andy 386 „Ich hab leider nur einen 3500 64Bit, mit DDR-RAM, der immernoch schweineteuer...“
Optionen

Ich habe einen AMD 64 bit Rechner mit "nur" 1 GByte RAM. Wenn ich normale Anwendungen laufen lasse, wird kein Speicher ausgelagert.
Nur wenn ich Open Solaris in VMware Workstation laufen lasse, reicht der RAM nicht mehr. Ich werde wohl auf 2 GByte aufrüsten müssen.
Check erstmal mit free oder "free -m" ob die Auslagerungspartition überhaupt verwendet wird. Ich kann mir nicht vorstellen das Matlab so viel Speicher braucht.

PS: Hast du überhaupt eine Auslagerungspartition angelegt ?
Ein Auslagerungspartition ist schneller als eine Auslagerungsdatei wie unter Windows. Die Daten werden in einer Auslagerungspartition nicht fragmentiert wie das bei einer Auslagerungsdatei der Fall ist.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
uscos KarstenW „Ich habe einen AMD 64 bit Rechner mit nur 1 GByte RAM. Wenn ich normale...“
Optionen

Dir ist schon klar, was man so mit MatLab macht? Wir setzten das jedenfalls auf einer clustered Server Farm ein, weil man eben so tolle Dinge damit machen kann. Also je nachdem was du damit machst ist 1GB RAM ein Atom von dem was du benötigst.

bei Antwort benachrichtigen
Andy 386 uscos „Dir ist schon klar, was man so mit MatLab macht? Wir setzten das jedenfalls auf...“
Optionen

ja, uscos, du hast schon recht. Da fehlt mir dann aber eindeutig das Geld zu... Mir würden aber hochgerechnet schon ca. 10GB an Daten reichen. Über Nacht dann quasi zum Ergbenis kommend, und hoffen, dass der Algorithmus stimmt :)

@KarstenW - matlab selber braucht nur 200MB, das ist kein Problem. Aber die Daten, die verarbeitet werden sollen, machen's aus.

Ich werde eventuell auch aufrüsten; wenn ich's richtig verstanden habe, kann man ja mit Intel's E6600 bzw. (AMDs 6000+) bis zu 16GB (bzw. 8GB) RAM nutzen

bei Antwort benachrichtigen
uscos Andy 386 „ja, uscos, du hast schon recht. Da fehlt mir dann aber eindeutig das Geld zu......“
Optionen

ja, also wenn man das regelmässig privat betreibt würde ich vermutlich das nötige Geld dafür in die Hand nehmen - wenn ich das für den Arbeitgeber mache sollte er das nötige Geld dafür in die Hand nehmen ;-)

bei Antwort benachrichtigen
KarstenW Andy 386 „ja, uscos, du hast schon recht. Da fehlt mir dann aber eindeutig das Geld zu......“
Optionen

Ich kenne nicht Matlab, aber einen USB Stick als Auslagerungspartition zu verwenden ist mit Sicherheit keine Lösung.
Du kannst auch mehrere Festplatten einbauen und verschiedene Verzeichnisse auf eine andere Festplatte auslagern.
Dann können die Schreib-Leseköpfe fast gleichzeitig in verschiedenen Verzeichnissen Dateien bearbeiten.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Andy 386 KarstenW „Ich kenne nicht Matlab, aber einen USB Stick als Auslagerungspartition zu...“
Optionen

Es geht hier um eine Diplomarbeit, und an meinem FB gibts keine Cluster *heul*

@ KarstenW: Festplatten sind zwar vom Datentransfer etwas schneller als die Sticks (vielleicht 30..50%), aber die Zugriffszeit ist dafür auch ca. 10 Mal so gross...

bei Antwort benachrichtigen
KarstenW Andy 386 „Es geht hier um eine Diplomarbeit, und an meinem FB gibts keine Cluster heul @...“
Optionen

Wenn du die 32 bit Version von Linux nutzt und sehr viel Speicher installierst, dann solltest du die High Memory Option entsprechend einstellen.
1 GByte -> High Memory = off
2 - 4 GByte-> High Memory = 4 Gbyte
5 - 64 GByte--> High Memory = 64 Gbyte

Dazu kann man einen eigenen Kernel übersetzen .

Mehr als 64 GByte RAM kann der Linuxkernel auch nicht verwalten.

Bei der 64 bit Version wird kein Unterschied zwischen High und Low Memory gemacht.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW uscos „Dir ist schon klar, was man so mit MatLab macht? Wir setzten das jedenfalls auf...“
Optionen

@uscos
Wenn Matlab unter Windows XP 32 bit läuft und Windows 32 bit nur maximal 4 GByte RAM verwalten kann, wieso braucht dann die Linuxversion mehr als 4 GByte RAM ?
Die Windowsversion verwendet die gleichen Algorithmen wie die Linuxversion, nur die Benutzeroberfläche ist mit einer anderen Bibliothek programmiert.
Ich habe Matlab nur in der Steuerungs- und Regelungstechnik gesehen. Unser Lehrer hat mal gezeigt wie man mit Matlab einen Regelkreis berechnet .
Ich habe aber leider nicht viel Ahnung von Mathematik.



Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Andy 386 KarstenW „@uscos Wenn Matlab unter Windows XP 32 bit läuft und Windows 32 bit nur maximal...“
Optionen

KarstenW, auf welchem Consumersystem kann man denn heutzutage mehr als 16GB RAM zum laufen bekommen ?

Wie gesagt, Matlab braucht auch unter Linux nur ca. 200MB; aber es ist die Unmenge an Daten (hochdimensionale Matritzen), die halt irgendwo stehen müssen. Und das Auslagern auf die Platten nicht so die Wucht...

bei Antwort benachrichtigen
KarstenW Andy 386 „KarstenW, auf welchem Consumersystem kann man denn heutzutage mehr als 16GB RAM...“
Optionen

Müssen denn diese Daten unbedingt gleichzeitig im RAM sein ?
Unter Windows XP 32 bit kann man doch auch keine 10 GByte RAM installieren.
Ein 32 bit Prozessor kann nur maximal 2^32 Byte (= 4 GByte) adressieren.
Linux 32 bit kann nur deshalb so viel RAM (bis maximal 64 GBtye) verwalten weil die Speicherverwaltung in 64 bit programmiert ist. Ich nehme mal an das aus zwei 32 bit CPU-Registern eine 64 bit RAM Adresse berechnet wird.
Und von diesem Matlab gibt es doch auch eine 32 bit Version für Windows XP, oder?
Wie soll dann diese Simulation auf einem 32 bit Prozessor laufen, wenn er nur maximal 4 Gbyte RAM verwalten kann ?
Diese Simulation kann doch auch auf einem 32 bit Prozessor laufen.
Die Programmierer müssen Matlab so programmieren, das es mit einem Desktopsystem , welches "nur" 4 Gbyte RAM hat, auch noch läuft.
Oder gibt es von Matlab keine 32 bit Version , sondern nur eine 64 Bit Version ?
Wenn ja, dann kannst du froh sein das Linux bis maximal 64 Gbyte RAM verwalten kann ;-).

Vielleicht hast du was falsch konfiguriert bei Matlab.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Andy 386 KarstenW „Müssen denn diese Daten unbedingt gleichzeitig im RAM sein ? Unter Windows XP...“
Optionen

ich glaub, du sieht mein Problem grad nicht.
Mein Programmspeicher (auch wenns den nur noch theoretisch gibt) ist gross genug. Aber der Datenspeicher (sagen wir einfach mal RAM minus Programmspeicher) ist zu klein. z.B. Auflösung von 500Hz, 100 Minuten mit 128 Kanälen macht 384.000.000 Werte, also knapp 400 Mio. Nehmen wir eine Genauigkeit von 64 Bit sind das 3,2 GB. Pro Datensatz. Jetzt will ich mit dem Datensatz noch was machen, und brauche vielleicht 3*3=9 GB. Diese Unmenge muss einfach irgendwo hin !
Klar habe ich Alternativen, am günstigsten wäre hier das Splitten in verschiedene Teile, nur möchte ich die Prozeduren mit dem gesamten Datensatz machen, um keine (Rand- oder sonstwelche)Effekte aufzuschnappen...

bei Antwort benachrichtigen
KarstenW Andy 386 „ich glaub, du sieht mein Problem grad nicht. Mein Programmspeicher auch wenns...“
Optionen

Mit einer Auslagerungspartition, egal ob auf USB Stick oder Festplatte, löst du dieses Problem nicht.
So wie ich es verstanden habe, werden beim Swapping die kompletten Daten eines Prozesses ausgelagert und nicht einzelne Speicherseiten.

Vielleicht ließ du mal in der Wikipedia:

http://de.wikipedia.org/wiki/Swapping

Also wenn du eine 10 GByte große Datei mit Matlab erstellt, dann müssen auch mindestens 10 oder 12 GByte RAM vorhanden sein, weil beim swapping nur komplette Daten von Matlab ausgelagert werden können und nicht ein Teil von dieser 10 Gbyte großen Datei (also keine einzelnen Speicherseiten wie beim Paging). Oder verwendet Linux Paging für die Auslagerung von RAM Speicher ?

Das mußt du aber noch ausprobieren, weil ich keine Erfahrung mit solch großen Dateien habe.





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
uscos Andy 386 „ich glaub, du sieht mein Problem grad nicht. Mein Programmspeicher auch wenns...“
Optionen

OK EEG micht 500Hz ist unwahrscheinlich - zumindest wenn du mit Menschen arbeitest. Deine Daten sind dafür auch zu klein. Was machst du denn da inhaltlich - das hört sich interessant an.

bei Antwort benachrichtigen
uscos Andy 386 „KarstenW, auf welchem Consumersystem kann man denn heutzutage mehr als 16GB RAM...“
Optionen

LOL, du machst nicht zufällig Berechnungen mit EEG Daten? Das kommt mir irgendwie bekannt vor...

Also, hast du schonmal dein Rechenzentrum um Hilfe gebeten wenn der FB nicht die Mittel hat? Normalerweise sollte eine Uni einem doch die Kapazität bieten, wie soll man sonst forschen?
Letzten Endes hilft hier real gesehen vermutlich nur relativ viel RAM (oder eben dein Rechenzentrum). Klar, mit dd -bs blubb kannst du festlegen wie groß ein Block ist, aber auch Flashspeicher ist da nicht so wirklich gut geeignet.

bei Antwort benachrichtigen
uscos KarstenW „@uscos Wenn Matlab unter Windows XP 32 bit läuft und Windows 32 bit nur maximal...“
Optionen

also so wie ich das sehe nutzt andy linux. Der Zusammenhang Matlab - Windows fehlt hier völlig.

bei Antwort benachrichtigen
KarstenW uscos „also so wie ich das sehe nutzt andy linux. Der Zusammenhang Matlab - Windows...“
Optionen

Linux verwendet ( soweit ich weiß !) swapping für das Auslagern von RAM Speicher. Wenn Andy so eine große 10 GByte große Datei erstellt, dann kann nur die komplette Datei ausgelagert werden und nicht ein Teil dieser 10 Gbyte großen Datei. Beim Paging werden einzelne Speicherseiten ausgelagert. Mit Paging könnte ein Teil dieser 10 Gbyte großen Datei ausgelagert werden. Aber ich glaube nicht das Linux Paging für die Auslagerung von RAM Speicher verwendet.
Verwendet Windows XP Paging für die Auslagerung von RAM Speicher ?

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
uscos KarstenW „Linux verwendet soweit ich weiß ! swapping für das Auslagern von RAM Speicher....“
Optionen

windows benutzt paging. Dies kann man aber ausschalten in Hkey_Local_Machine/System/CurrentControlSet/Control/SessionManager/MEmoryManagement

PS: Deswegen heist es unter Windows auch pagefile.sys und nicht swapfile.sys ;-)

bei Antwort benachrichtigen
uscos Nachtrag zu: „windows benutzt paging. Dies kann man aber ausschalten in...“
Optionen

BTW: Das heisst nicht, dass Linux nicht auch paging macht. Hier mal eine kleine Einsteigerlektüre dazu:
http://www.ibm.com/developerworks/linux/library/l-memmod/

bei Antwort benachrichtigen