Mandrake 10.1 optimieren?

Hefty

Commodore Special
Mitglied seit
11.11.2001
Beiträge
357
Renomée
0
Hallo, liebes Forum,

nachdem ich meinen Rechner jetzt wieder für BOINC rechnen lasse, habe ich natürlich auch mal meine Benchmark-Werte mit denen anderen Member verglichen. Und das war ehrlich gesagt nicht sooo schön:

HotHead :

786 double precision MIPS
1815 integer MIPS

Rechner :
Athlon XP 1800+ mit FSB 166
512 MB Ram
Linux :-)

---------------------------------------------------------------------

Nats :

1450 double precision MIPS
3489 integer MIPS

Rechner :
AMD Athlon XP 1800+
512 DDR-RAM
Win XP Pro SP2


Darf das wahr sein?! Nein! Also, was hängt bei mir? Ich habe 71 Prozesse im Hintergrund rumrödeln, was machen die da? Mein BOINC bekommt auch nur knapp 90% der Systemressourcen, statt 99% unter Windows. ksystemguard frisst immer mindestens 5% für sich. Was macht der? Und: welche Prozesse kann ich denn allgemein mal rauskicken?

Ich habe euch mal mit ps -A eine Liste gemacht, kann mich da jemand mal ein bisschen aufklären? Würde mich sehr freuen :-)

[hottie@localhost hottie]$ ps -A
PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 events/0
4 ? 00:00:00 khelper
5 ? 00:00:00 kblockd/0
29 ? 00:00:00 kapmd
31 ? 00:00:00 pdflush
32 ? 00:00:10 pdflush
34 ? 00:00:00 aio/0
33 ? 00:00:02 kswapd0
141 ? 00:00:00 kseriod
262 ? 00:00:00 kjournald
455 ? 00:00:00 udevd
779 ? 00:00:00 khubd
1100 ? 00:00:00 kjournald
2504 ? 00:00:00 ifplugd
2652 ? 00:00:00 dhclient
2693 ? 00:00:00 portmap
2707 ? 00:00:00 syslogd
2715 ? 00:00:00 klogd
3073 ? 00:00:00 xfs
3100 ? 00:00:00 dbus-daemon-1
3118 ? 00:00:00 hcid
3129 ? 00:00:00 sdpd
3141 ? 00:00:00 krfcommd
3191 ? 00:00:00 atd
3199 ? 00:00:00 mdkkdm
3208 ? 00:10:53 X
3215 ? 00:00:00 mdkkdm
3257 ? 00:00:00 ntpd
3284 ? 00:00:00 xinetd
3554 ? 00:00:00 crond
3637 tty1 00:00:00 mingetty
3638 tty2 00:00:00 mingetty
3639 tty3 00:00:00 mingetty
3640 tty4 00:00:00 mingetty
3641 tty5 00:00:00 mingetty
3642 tty6 00:00:00 mingetty
4089 ? 00:00:00 startkde
4167 ? 00:00:00 bluez-pin
4180 ? 00:00:11 net_applet
4196 ? 00:00:00 dbus-launch
4198 ? 00:00:00 dbus-daemon-1
4207 ? 00:00:00 s2u
4226 ? 00:00:18 magicdev
4241 ? 00:00:00 gconfd-2
4244 ? 00:00:00 kdeinit
4247 ? 00:00:00 kdeinit
4257 ? 00:00:00 kdeinit
4260 ? 00:00:01 kdeinit
4261 ? 00:00:01 famd
4274 ? 00:00:01 artsd
4276 ? 00:00:00 kdeinit
4280 ? 00:00:00 kwrapper
4282 ? 00:00:00 kdeinit
4283 ? 00:00:07 kdeinit
4285 ? 00:00:05 kdeinit
4290 ? 00:00:12 kdeinit
4298 ? 00:00:00 kdeinit
4301 ? 00:00:01 kdeinit
4307 ? 00:00:01 kdeinit
4311 pts/0 00:00:02 boinc_4.13_i686
4411 ? 00:00:00 kdesud
4569 pts/0 01:47:30 setiathome_4.02
6289 ? 00:00:15 kdeinit
6334 ? 00:00:00 kdeinit
14033 ? 00:00:21 amule
15452 ? 00:00:00 kdeinit
16312 ? 00:01:03 ksysguard
16313 ? 00:00:03 ksysguardd
16764 ? 00:00:00 mozilla-firefox
16786 ? 00:00:00 run-mozilla.sh
16791 ? 00:00:48 mozilla-firefox
17106 pts/1 00:00:00 bash
17212 pts/1 00:00:00 ps


Und gibt es sonst noch Tipps, wie ich die Kiste ein bisserl flotter bekommen kann?

Grüße,

Hannes
 
So, ich wieder. Auch mein Ram-Verbrauch ist nämlich in meinen Augen sehr hoch. Ohne, dass ich irgendein spezielles Programm laufen habe, also nur mein nacktes KDE, sind schon 260 MB Ram belegt. Unter Windows waren es kanpp 80 MB! Ist das so normal?

Hannes
 
Cache/Buffers abgezogen? "free" zeigt dir in der shell den Gesamtverbrauch an, wobei KDE schon ne Menge Ram verbraucht (+ X11 etc.)
 
Code:
[hottie@localhost hottie]$ free
             total       used       free     shared    buffers     cached
Mem:        516044     339684     176360          0      11492     181636
-/+ buffers/cache:     146556     369488
Swap:       506008          0     506008

Wie muss ich das jetzt interpretieren?

Hannes
 
Code:
[hottie@localhost hottie]$ free
             total       used       free shared buffers cached
Mem:        516044     339684     176360      0   11492 181636
-/+ buffers/cache:     146556     369488
Swap:       506008          0     506008
Die "Mem" Reihe ist dein physikalischer Speicher.
  1. total - ist klar, der gesamte physische Speicher
  2. used - der davon Benutzte
  3. free - wieviel unbenutzt ist
  4. shared - geteilter Speicherbereich mit anderen Nodes
  5. buffers - Groesse des Buffers
  6. cached - Groesse des Datencaches
Wichtig hierbei ist, der Unterschied zwischen Buffer und Cache. Buffer speichert Dateisystemmetadaten, d.h. Dateizugriffsrechte, access time, Verzeichnisseintraege.
Cache hingegen speichert den Inhalt der Dateien, die im Ram aufbewahrt werden, um schnellen Zugriff zu gewaehrleisten.
Beachte: Der Natur beider gemaess, ist der Buffer immer sehr klein im Verhaeltniss zum Cache.
Merke:
Die Summe aus "-/+ buffers/cache"-used + "Mem"-buffers + "Mem"-cached entspricht immer "Mem"-used, und damit errechnet sich aus diesen der real benutzte Speicher.

Die "-/+ buffers/cache" Reihe:
  1. used - der durch Applikationen benutzte Speicher. Das heisst nicht anderes als der Speicher der real von Applationen, shared libs und so weiter, eingenommen wird.
  2. free - freier Speicher fuer Applikationen, der bei Bedarf vom Diskcache genommen werden kann. Wenn der Bedarf entsteht, entscheidet der Kernel ob Applikationen in den Swap ausgelagert werden, oder der Disccache verkleinert wird. Ab Kernel 2.6 laesst sich dieses Verhalten konfigurieren (vm.swappiness).

Die Swap Reihe
  1. total - der gesamte verfuegbare Swapspace
  2. used - der real benutzte Swapspace
  3. free - wieviel vom Swapspace noch frei und damit benutzbar ist

Fazit:
Nicht benutzter physikalischer Speicher ist Verschwendung, und nichts weiter als Windowsnutzerparanoia.
Ebenso kann es manchmal nuetzlich sein selten benuzte Applikationen oder Teile nicht benutzter Funktionsbibliotheken zugunsten des Festplattencaches in den Swap auszulagern, da der Cache, bei haeufig benutzten Dateien, sehr viel Performance bringen kann, denn um wieviel schneller Ram als eine Festplatte ist koennt ihr euch ja selber ausrechnen.
 
Zuletzt bearbeitet:
Jaja, der Tom, der kommt selten, aber wenn, dann heftig - vielen Dank! :-*

Hannes
 
Original geschrieben von Hefty
nachdem ich meinen Rechner jetzt wieder für BOINC rechnen lasse, habe ich natürlich auch mal meine Benchmark-Werte mit denen anderen Member verglichen. Und das war ehrlich gesagt nicht sooo schön[...]

HotHead :

786 double precision MIPS
1815 integer MIPS
Linux :-)

Nats :
1450 double precision MIPS
3489 integer MIPS
Win XP Pro SP2


Darf das wahr sein?!

Ja, das ist bei BOINC ab Werk leider so.
Waehrend der Win32-Client recht gut optimiert ist, hapert es gewaltig an den Benchmark scores der Linux-Clients.
Erst mit einem optimierten BOINC-Client laesst sich der Mangel beheben; deine Linux-Installation kann nichts dafuer.

Links dafuer :
http://boinc.us.tt/
(V4.19 und V4.63 Binaries, gcc 3.4.2 static/dynamic linked)

http://www.pperry.f2s.com/downloads.htm
(V4.13, CPU-spezifisch optimierte Binaries, gcc 3.4.2 static linked)

Nach Auswechslung der original BOINC-Binary durch eine entsprechend optimierte Version werden deine Benchmark scores (und konsequenter Weise die Claimed Credits) deutlich ansteigen.
 
Hallo FalconFly!

Vielen, vielen Dank! Du hast mich gerettet :-*

Jetzt sieht es so aus:

2005-01-29 17:10:59 [---] Benchmark results:
2005-01-29 17:10:59 [---] Number of CPUs: 1
2005-01-29 17:10:59 [---] 1599 double precision MIPS (Whetstone) per CPU
2005-01-29 17:10:59 [---] 3377 integer MIPS (Dhrystone) per CPU

Und das wieder mit FSB 133! :-)
Ich habe die Version 4.19 static genommen.

Was ist denn der Unterschied zwischen 4.19 und 4.63? Ich dachte eigentlich 4.19 sei die Neueste?

Und dann: wie sind die Unterschiede zwischen Nats und mir mit identischem Rechner zu erklären?

Nats :
1450 double precision MIPS
3489 integer MIPS
Win XP Pro SP2

Ich habe mehr double precision MIPS, sie führt bei den integer MIPS. Was bedeutet das? Wie wirkt sich das aus?

Viele Grüße,

Hannes
 
Double precision, sind Gleitkommazahlen, also Zahlen mit Kommastellen, und integer sind ganze Zahlen. Beides sind Datentypen fuer Nummern.
MIPS= million instructions per second

Ich koennte mir vorstellen, dass Gleitkommaleistung bei SETI wichtiger ist als Integerleistung, wie sehr viele wissenschaftliche Berechnungen auch, aber das ist auch nur geraten.
 
Der Unterschied zwischen der V4.19 und der V4.63 ist der, dass letztere eine reine Beta-Version fuer risikofreudige und spieltriebige Tester ist ;)

Allerdings (das muss man auch sagen) wurde die original V4.19 (AFAIK entwickelt, um die speziellen Beduerfnisse von Einstein@Home zu befriedigen) kurz nach dem Release auch wieder zurueckgezogen, da sich ein Fehler eingeschlichen hatte, welcher bei anderen Projekten zu Problemen fuehren konnte.

Ich persoenlich fahre bei x86-Rechnern bislang mit der optimierten V4.13 (nutze sonst nur noch V4.58 auf meinen SGI's), und mache nur Upgrades, wenn zwingend noetig und andere sie bereits positiv getestet haben.
-----------
Da die Systemleistung nicht nur von der CPU allein abhaengt, sondern gerade beim AthlonXP auch von der Plattform (Motherboard, Chipsatz) und der RAM-Performance (Chipsatz, Timings), werden kaum jemals zwei Rechner identische Ergebnisse liefern.

Gerade in deinem Vergleich steht Linux vs. Windows BOINC und die Projekt-Clients, welche mit komplett verschiedenen Compilern (das beinhaltet die Benchmarks) verarbeitet und erstellt wurden.
Dass hier Unterschiede auftauchen, ist vollkommen normal.

Viel interessanter als die Benchmarks sind ohnehin die reellen Laufzeiten pro WU; erst dann kannst du einen halbwegs realistischen Vergleich anstellen, und musst immer noch beruecksichtigen, dass der Win32 SETI-Client selbst natuerlich auch anders optimiert und compiliert wurde, als z.B. der Linux SETI Client.
 
Zuletzt bearbeitet:
Hallo ihr beiden,

vielen Dank nochmal. Dann werde ich jetzt einfach ab und an auf den genannten Sites surfen und ansonsten mal fröhlich crunchen. Dennoch: wenn jemand von euch einen heißen Tipp zur Optimierung des Systems hat, nur zu! :-)

Hannes

PS: Was bedeutet jetzt static? und was shared?
 
Original geschrieben von Hefty
PS: Was bedeutet jetzt static? und was shared?
static: benutzte programmexterne Bibliotheken befinden sich im Programm.
shared: benutzte programmexterne Bibliotheken werden in bestimmten Verzeichnissen gesucht, und dann dynamisch in den Code des Programms hineingelinkt, das kostet allerdings ein bischen Zeit, daher denke ich ein statisch gelinktes Seti/boinc ist ein bischen vorteilhafter, und weil das Programm so klein ist, und keine grossen libs (z.B Grafiklibs) benoetigt, geht das schon in Ordnung.
Die Idee des dynamischen linkens, kommt aus der Anstrengung Speicherplatz zu sparen, damit nicht in jedem Programm beispielsweise die gleiche dicke Grafiklib enthalten sein muss.
 
Zurück
Oben Unten