Performanceprobleme beim MSI Mainboard 845GE Max-L
Mithilfe dieser Anleitung kann man Performance-Probleme unter Linux beheben.
Beim Mainboard "MSI 845GE Max-L" gibt es einen BIOS Fehler, der erhebliche Performance Probleme mit sich bringt.
Bei allen Linuxvarianten und Kernel werden mit MTRR-Settings falsche Werte übergeben.
1. MTRR-Settings anzeigen
Die MTRR-Settings werden mit folgendem Befehl ausgegeben:
#cat /proc/mtrr
Die Anzeige sieht dann wie folgt aus:
Rechnername:~# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
reg02: base=0x30000000 ( 768MB), size= 128MB: write-back, count=1
reg03: base=0x38000000 ( 896MB), size= 64MB: write-back, count=1
reg04: base=0x3c000000 ( 960MB), size= 32MB: write-back, count=1
reg05: base=0x3e000000 ( 992MB), size= 16MB: write-back, count=1
reg06: base=0xe0000000 (3584MB), size= 4MB: write-combining, count=1
Die Summe der Register 00-06 sollte dabei aber eigentlich die Hauptspeichergrösse nicht übersteigen. In diesem Fall sind das allerdings schon rund 8GB, obwohl wir nur 1 GB Hauptspeicher besitzen.
2. MTRR-Settings ändern
Die MTRR-Settings können im laufenden Betrieb überschrieben werden. Ein Performancegewinn tritt sofort ein.
Hier ein Script, welches die MTRR-Settings richtig setzt:
#!/bin/sh
echo "disable=5" >| /proc/mtrr
echo "disable=4" >| /proc/mtrr
echo "disable=3" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=0" >| /proc/mtrr
echo "base=0x00000000 size=0x40000000 type=write-back" >| /proc/mtrr
echo "base=0x3ff00000 size=0x00100000 type=uncachable" >| /proc/mtrr
Das Script muss nach jedem Restart des Servers ausgeführt werden.
Sollte also am besten irgendwo in der init.rd eingebaut werden.
Oder bei SuSE 9.0 : /etc/init.d/boot.local
Die Datei boot.proc mit "vi" öffnen und ganz unten folgenden Befehl reingeschrieben:
#BIOSUPDATE
chmod 777 /etc/script
/etc/script start
3. Korrekte MTRR-Settings
Die korrekten MTRR-Settings sehen dann so aus:
Rechnername:~# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x3ff00000 (1023MB), size= 1MB: uncachable, count=1
4. Sonstiges
Bitte bewertet diesen Beitrag, wenn er hilfreich war, damit ihn andere User
von Administrator in leichter finden!
Danke!
MfG Nizzmo
Beim Mainboard "MSI 845GE Max-L" gibt es einen BIOS Fehler, der erhebliche Performance Probleme mit sich bringt.
Bei allen Linuxvarianten und Kernel werden mit MTRR-Settings falsche Werte übergeben.
1. MTRR-Settings anzeigen
Die MTRR-Settings werden mit folgendem Befehl ausgegeben:
#cat /proc/mtrr
Die Anzeige sieht dann wie folgt aus:
Rechnername:~# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
reg02: base=0x30000000 ( 768MB), size= 128MB: write-back, count=1
reg03: base=0x38000000 ( 896MB), size= 64MB: write-back, count=1
reg04: base=0x3c000000 ( 960MB), size= 32MB: write-back, count=1
reg05: base=0x3e000000 ( 992MB), size= 16MB: write-back, count=1
reg06: base=0xe0000000 (3584MB), size= 4MB: write-combining, count=1
Die Summe der Register 00-06 sollte dabei aber eigentlich die Hauptspeichergrösse nicht übersteigen. In diesem Fall sind das allerdings schon rund 8GB, obwohl wir nur 1 GB Hauptspeicher besitzen.
2. MTRR-Settings ändern
Die MTRR-Settings können im laufenden Betrieb überschrieben werden. Ein Performancegewinn tritt sofort ein.
Hier ein Script, welches die MTRR-Settings richtig setzt:
#!/bin/sh
echo "disable=5" >| /proc/mtrr
echo "disable=4" >| /proc/mtrr
echo "disable=3" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=0" >| /proc/mtrr
echo "base=0x00000000 size=0x40000000 type=write-back" >| /proc/mtrr
echo "base=0x3ff00000 size=0x00100000 type=uncachable" >| /proc/mtrr
Das Script muss nach jedem Restart des Servers ausgeführt werden.
Sollte also am besten irgendwo in der init.rd eingebaut werden.
Oder bei SuSE 9.0 : /etc/init.d/boot.local
Die Datei boot.proc mit "vi" öffnen und ganz unten folgenden Befehl reingeschrieben:
#BIOSUPDATE
chmod 777 /etc/script
/etc/script start
3. Korrekte MTRR-Settings
Die korrekten MTRR-Settings sehen dann so aus:
Rechnername:~# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x3ff00000 (1023MB), size= 1MB: uncachable, count=1
4. Sonstiges
Bitte bewertet diesen Beitrag, wenn er hilfreich war, damit ihn andere User
von Administrator in leichter finden!
Danke!
MfG Nizzmo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 16705
Url: https://administrator.de/contentid/16705
Ausgedruckt am: 21.11.2024 um 20:11 Uhr