Hallo!
Ich setze Matlab auf einem PC mit Win10 Pro für Simulationsrechnungen
ein. Da sehr große Datensätze verarbeitet werden, habe ich den
Arbeitsspeicher auf die maximale Größe von 16GByte aufgerüstet. Wie sich
nun zeigt, ist auch das noch zu knapp. Einstellversuche mit der
Windows-Auslagerungsdatei haben nichts gebracht.
Gibt es noch Möglichkeiten RAM über andere Schnittstellen zu erweitern?
Geschwindigkeitsverluste wären ein kleineres Übel als der Neukauf eines
PC.
Mike schrieb:> maximale Größe von 16GByte
woher kommt diese maximale größe? Mainboard? Prozessor?
Mike schrieb:> Gibt es noch Möglichkeiten RAM über andere Schnittstellen zu erweitern
soweit ich weiß nicht, aber wenn es nur das mainborad ist, kannst du
vllt nur das ersetzen.
was hast du denn für Hardware, die info wäre hilfreich, wenns nicht
selber gebaut ist reicht auch fürs erste der genaue name/ modell
Was soll der Scheiss. Ich habe in meinem Notebook 32GB drin, es waeren
64 oder 128 moeglich gewesen. Meistens ist das RAM mit Firefox gefuellt.
Im Prozessexlorer tummeln sich dann 10 fette Executables, jedes zwischen
2 und 4GB gross. Irgendwass beginnt dann eines dieser Executables
Rechenzeit zu ziehen, dann muss man's abschiessen. Ein paar Tabs
verschwinden dann, resp wollen bei Bedarf neu geladen werden. Die
Aeltesten haben dann um die 100 Stunden drauf. Alles in allem sind's
dann so um die 150 Tabs. Im Cache liegen 3GB oder so.
the_yrr schrieb:> Mike schrieb:>> maximale Größe von 16GByte> woher kommt diese maximale größe? Mainboard? Prozessor?
Das Mainboard hat nur 2 DIMM-Steckplätze für je max. 8GByte.
> Mike schrieb:>> Gibt es noch Möglichkeiten RAM über andere Schnittstellen zu erweitern> soweit ich weiß nicht, aber wenn es nur das mainborad ist, kannst du> vllt nur das ersetzen.>> was hast du denn für Hardware, die info wäre hilfreich, wenns nicht> selber gebaut ist reicht auch fürs erste der genaue name/ modell
Der Prozessor ist ein Core i7-4790k.
Mike schrieb:> Das Mainboard hat nur 2 DIMM-Steckplätze für je max. 8GByte.
Dann muß ein anderer PC her. So teuer ist das nun auch wieder nicht.
> andere Speichererweiterungen
Die hast Du schon probiert mit der SWAP-Datei, die allerdings Faktor 100
oder mehr langsamer ist.
Such mal nach ReadyBoost - damit lassen sich USB - Speixhermedien als
RAM nutzen. Ob es wirklich funzt - kA... Habe die Funktion immer
deaktiviert.
Besser wäre die beschaffung eines vernünftigen Mainboards. Die CPU ist
ja ok und unterstützt wesentlich mehr.
Evtl. gibt es auch ein BIOS - Update.
Manchmal funktioniert auch größerer Speicher. Der Speichercontroller
sitzt eh auf der CPU und der kann 32gb
wenns kein laptop ist nimm ein neues mainboard, kostet 50-100 vllt, such
mal auf
https://pcpartpicker.com/ oder
https://www.alternate.de/html/configurator/builder/pc/page.html#!/category/0
gib dann da dein prozessor/graka usw ein, dann kriegst du mainboards
angezeigt die dazu passen und dann auch teilweise mher ram können
oder du holst dir eine ssd die du dann ganz schnell kaputtschreibst, ist
schneller als festplatte zum auslagern, aber halt schnell hin und
langsam und teuerer als mainboard plus ram auf langzeit
Mike schrieb:> Arbeitsspeicher auf die maximale Größe von 16GByte aufgerüstet. Wie sich> nun zeigt, ist auch das noch zu knapp.
Dann sollte man sich den Bedarf genau ausrechnen. Denn auf moderne
Desktop Boards kommen auch nur 32 oder manchmal 64 GB Ram drauf - wenn
schon 16 nicht gereicht haben, könnte auch das möglicherweise zu knapp
sein.
Dann würde es aber teuer werden, denn mehr RAM geht erst mit den
X299/X399 Boards, weil die 4 RAM Kanäle haben.
>Ich setze Matlab auf einem PC mit Win10 Pro für Simulationsrechnungen
32bit? ODer 64bit? Ich meine nicht von Windows, sondern das Programm.
Könnte bei Dir ja 32bit sein (wenn älteres Matlab), dann wäre bei 4GB
pro Programm/Prozess ohnehin Schluß.
Bevor du die Hardware-Keule rausholst:
Bist du dir sicher, dass du soviel RAM brauchst, und das nicht in deinem
Matlab-Programm optimieren kannst?
Klassiker: "csvread" auf gigantische Messwerttabellen, wenn eigentlich
immer nur ein kleiner Abschnitt davon gleichzeitig verwendet wird.
Umstellen auf (frisch und neu) tabularTextDatastore -> schon reichen
640K for everyone.
Also ein i7-4790k kann von sich aus nur 32GB ansteuern.
Somit ist maximal eine Verdopplung des RAMs möglich, beim kauf eiens
neuen gebrauchten Mainboards mit 4 Slots.
Wer mehr will muss zu DDR4 Prozessoren wechseln wie den Ryzen, da gehen
dann bis zu 64GB. Nur alleine die 64GB DDR4 RAM reißen schon ein
schwarzes Loch in dein Konto.
Mit nem Threadripper gehen dann 128GB beim Heimanwender.
> Meistens ist das RAM mit Firefox gefuellt.
ROFL ja da ist was dran. Der Firefox ist so eine riesige Scheiße
geworden, da erblasst angesichts des RAM-Bedarfs sogar Windows vor Neid.
@Rolf M. (rmagnus)
>Jens G. schrieb:>> Könnte bei Dir ja 32bit sein (wenn älteres Matlab), dann wäre bei 4GB>> pro Programm/Prozess ohnehin Schluß.>2 GB.
Oder 3GB mit /3GB switch, falls man eine "bessere" Win-Edition hat.
Aber eigentlich meinte ich den gesamten für die Appl sichtbaren
Adressraum.
Mike schrieb:> Gibt es noch Möglichkeiten RAM über andere Schnittstellen zu erweitern?
Eine Notlösung ist Swapspace auf einer SSD. Ist das zu lahm, geht nur
andere Hardware.
Ben B. schrieb:> SSD-Mörder!
Unsinn. Es gibt zwar Leute, die aus Angst um ihre heilige SSD den
Swapspace extra auf eine HDD legen, aber Microsoft sieht das
verständlicherweise völlig anders. Bis du eine 1TB SSD mit 16GB
Swapspace zerlegt hast, ist dein Rechner schon zu Staub zerfallen.
Aber wer trotzdem Schiss hat, der kann ja eine eigene SSD nur dafür
reservieren. Mehr als einen Rechner-Crash gibts dann bei einer toten SSD
nicht. System- und Daten-Filesysteme bleiben intakt.
Ich habe grad erst einen 5 Jahre alten Server umgewidmet, bei dem der
wichtigste Teil einer recht schreibaktiven Oracle Datenbank auf SSDs
lag. Keine Consumer-SSDs allerdings.
Ben B. schrieb:>> Keine Consumer-SSDs allerdings.> Ach sieh an. Wird wohl seinen Grund haben.
Vor der SSD Ära wären das auch keine Consumer-HDDs geworden.
Keine Sorge. Ich werde dich nicht daran hindern, aus Angst vor SSDs
weiterhin HDDs zu verwenden. Das musst du schon mit dir selber
ausmachen.
Ben B. schrieb:> Ähm... wenn ich RAM brauche, verwende ich RAM.
Ich auch. Aber der TO hat davon zu wenig. Und die eine nahe liegende
Lösung in Gestalt eines neuen Rechners mit mehr RAM wurde schon erwähnt.
Ebenso die andere, das Verfahren zu überdenken.
Sparbrötchen schrieb:> Ich nehme zum Rechnen 12 Xeons X5570 auf sechs Boards mit je 256> GB.>
Möchte ich sehen.
Laut Intel kann der nur 144GB.
Aber unqualifizierte provokative Behauptungen aufstellen ist scheinbar
in.
Ben B. schrieb:> Er könnte Dual-CPU-Boards nutzen. Dann passen 256GB pro Board. ;)
Bei 12 Xeons auf 6 Boards klingt das nicht so unwahrscheinlich, wenn ich
richtig gerechnet habe ;-)
Ben B. schrieb:> Er könnte Dual-CPU-Boards nutzen. Dann passen 256GB pro Board. ;)
Da geht noch weit mehr. Im oben erwähnten 5 Jahre alten Ivy Bridge EP
Doppeldecker stecken 384 GB drin, mit anderen Modulen ginge auch das
Doppelte.
Sparbrötchen schrieb:> Ich nehme zum Rechnen 12 Xeons X5570 auf sechs Boards mit je 256> GB.>> Euer Elend kotzt mich an!
Und wofür brauchst du das? Und woher hast du so viel Kohle / willst
soviel investieren?
Besserwisser schrieb:> lassiker: "csvread" auf gigantische Messwerttabellen, wenn eigentlich> immer nur ein kleiner Abschnitt davon gleichzeitig verwendet wird.
Andere Klassiker:
-Volle Matrix, wo sparse angesagt wäre.
-Lösungsmatrix in Index-Schreibweise erstellt und nicht über das
sparse()-Kommando
Mike schrieb:> Das Mainboard hat nur 2 DIMM-Steckplätze für je max. 8GByte.
Die Handbücher werden für die Modulgrößen geschrieben, die es auch zu
dem Zeitpunkt auf dem Markt gibt.
Wenn es später größere Module gibt, dann werden die alten Mainboards
dafür nicht getestet und die Handbücher auch nicht umgeschrieben.
Die Anbindung, also die Anzahl der Datenleitungen für eine bestimmte
Speicherfamilie bleibt auf dem Mainboard aber logischerweise die
gleiche.
Hürden wären bestenfalls die CPU, das BIOS und eventuell der auf dem
Mainboard verwendete Chipsatz, gesetzt denn Fall für die Ansteuerung des
RAM ist noch der Mainboardchipsatz zuständig, was bei neuen CPUs mit
eigenem Speichercontroller eher nicht der Fall ist.
Damit wären wir bei der Begrenzung von 32 GB RAM für deinen i7-4790k.
Die wird sicherlich stimmen.
Das Mainboard aber könnte in diesem Fall rein passiv sein, d.h. obiges
könnnte bedeuten, dass in deinen alten Rechner 2 x 16 GByte Module
reinpassen und die dann auch funktionieren obwohl das Mainboard dafür
nie spezifiziert wurde.
Das könntest du also einfach mal ausprobieren in dem du die 2 x 8 GB
Module durch 2 x 16 GB Module austauschst.
Eine Alternative wäre wie schon gesagt eine SSD als SWAP-Space zu
missbrauchen.
Es gibt aber auch PCIe Karten mit richtigen RAM Modulen, also so
genannte RAM Drives. Auf denen könntest du ebenfalls den SWAP Space
draufpacken.
Ich befürchte nur, dass diese Lösungen deutlich teurer sind, als einfach
eine SSD oder ein neues Mainboard mit neuer CPU und neuem RAM zu kaufen,
die von Haus aus mehr RAM unterstützen.
Die Zeit der RAM Drives ist durch die SSDs auch eher vorbei, außerdem
sind diese RAM Drives im Profi Serverbereich anzusiedeln, entsprechend
teuer dürften sie dann auch sein, aber vielleicht findest du etwas
Gebrauchtes.
Damit könntest du bspw. 64 GB Swapspace haben:
"In 2009 Acard Technology produced the ACARD ANS-9010BA 5.25 Dynamic SSD
SATA-II RAM Disk. max 64GB. It uses a single SATA-II port."
Quelle:
https://en.wikipedia.org/wiki/RAM_drive#Dedicated_hardware_RAM_drives
Am Algorithmus zu arbeiten und die Daten in kleinere Häppchen packen
wäre aber die bessere Strategie, sofern umsetzbar.