Hallo liebe Listenleser, seit einiger Zeit beobachte ich das im Betreff kurz umrissene Phänomen. Auch Fensterwechsel u.ä., v.a. Aktionen, die mit der Ausgabe zusammenhängen, gehen recht langsam vonstatten. Ich glaube, daß der KDE, bzw. eine der KDE-Anwendungen letztlich "schuld" ist daran, daß X andauernd den Status "Running" (mit bis zu 70 % CPU-Time) hat, weil kdeinit-Prozesse auch enorm viel Speicher verbrauchen. Andererseits würde ich viel Rechenzeitverbrauch durch X dann vermuten, wenn X mit sich ständig ändernden Ausgaben beschäftigt wäre. Dem ist aber nicht so. Deswegen verstehe ich die hohe CPU-Belastung durch X eigentlich nicht so recht. Vielleicht ist es auch buggy, denn ich habe so etwas bei keinem früheren X-Server erlebt. Deshalb hier auch meine X-Version: ---- X-Versionsausgabe --------------------------------------------------- <user>@<hostname>:~> X -version This is a pre-release version of XFree86, and is not supported in any way. Bugs may be reported to XFree86@XFree86.Org and patches submitted to fixes@XFree86.Org. Before reporting bugs in pre-release versions, please check the latest version in the XFree86 CVS repository (http://www.XFree86.Org/cvs). XFree86 Version 4.3.99.902 (4.4.0 RC 2) Release Date: 18 December 2003 X Protocol Version 11, Revision 0, Release 6.6 Build Operating System: SuSE Linux [ELF] SuSE Current Operating System: Linux <hostname> 2.6.4-52-default #1 Wed Apr 7 02:08:30 UTC 2004 i686 Build Date: 06 April 2004 Changelog Date: 29 February 2004 Before reporting problems, check http://www.XFree86.Org/ to make sure that you have the latest version. Module Loader present ---- X-Versionsausgabe Ende ---------------------------------------------- Der enorme Gesamtspeicherverbrauch wundert mich aber nicht, denn es ist normal für mich, daß ich etliche Projekte im selben Zeitraum im stetigen Wechsel bearbeite, so daß ich zwecks Arbeitszeitersparnis fast alle Fenster offen lasse, damit ich mir nicht ständig meine Informationen auf der Platte neu zusammensuchen und neu anzeigen lassen muß. Soweit meine Arbeitsgewohnheiten, damit ihr versteht, warum ich soviel Speicher fülle (könnte gut und gerne 2 GByte mehr RAM brauchen, deswegen auch mein großer Swap-Space). Allerdings ist der enorme Speicherhunger einzelner Anwendungen, allen voran KMail, und die KDE-Anwendungen (von X mal abgesehen), durchaus beachtenswert. Hier einige kurze Schnappschüsse der Top-Ausgabe in verschiedenen Sortierungen (die Kopfzeilen zwecks Platzersparnis hier nur einmal!): top - 11:08:33 up 58 days, 18:41, 1 user, load average: 1.72, 1.74, 1.99 Tasks: 284 total, 3 running, 281 sleeping, 0 stopped, 0 zombie Cpu(s): 92.4% us, 7.6% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 1036852k total, 1030500k used, 6352k free, 3424k buffers Swap: 4048328k total, 2553804k used, 1494524k free, 43116k cached Sortierung nach relativer CPU-Beanspruchung (Spalte %CPU) ------------------------------------------------------------------------ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4385 root 25 0 886m 82m 13m R 70.5 8.2 23153:59 X 29205 <user> 15 0 138m 97m 32m S 8.9 9.6 2506:25 kdeinit 2807 <user> 15 0 193m 122m 35m S 6.3 12.1 2416:27 kdeinit 4732 <user> 15 0 197m 35m 34m S 4.3 3.5 2510:43 kdeinit 9017 <user> 15 0 99916 26m 35m S 2.0 2.7 218:10.32 kdeinit 14850 <user> 15 0 48264 10m 31m S 1.3 1.1 592:49.57 kdeinit 14451 <user> 15 0 57624 10m 33m S 1.3 1.1 558:21.12 kdeinit 12819 <user> 17 0 1892 744 1540 R 1.0 0.1 184:45.71 top 4630 <user> 15 0 30636 6340 24m S 0.7 0.6 203:03.12 kdeinit 12813 <user> 17 0 1892 748 1540 S 0.7 0.1 61:05.85 top 17163 <user> 15 0 59664 19m 32m S 0.7 1.9 32:37.36 kdeinit 4638 <user> 15 0 28916 4432 25m S 0.3 0.4 31:31.07 kdeinit 14807 <user> 15 0 58476 13m 32m S 0.3 1.3 471:57.15 kdeinit 14889 <user> 15 0 66628 1864 28m S 0.3 0.2 284:49.67 xmms 32371 <user> 15 0 39588 10m 31m S 0.3 1.0 50:01.52 kicker 5031 <user> 15 0 496m 75m 42m S 0.3 7.4 121:54.61 kmail 5466 <user> 16 0 45792 9588 31m S 0.3 0.9 23:52.58 kdeinit 27079 <user> 16 0 47420 10m 32m S 0.3 1.0 41:26.51 kdeinit 13437 <user> 15 0 49864 1728 22m S 0.3 0.2 13:59.87 acroread 26461 <user> 15 0 69252 31m 33m S 0.3 3.1 13:35.10 kdeinit 1 root 16 0 588 68 444 S 0.0 0.0 0:19.71 init Sortierung nach virtuellem Speicherverbrauch (Spalte VIRT) ------------------------------------------------------------------------ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4385 root 25 0 886m 83m 13m R 69.3 8.2 23164:53 X 5031 <user> 15 0 496m 74m 42m S 0.3 7.3 121:58.89 kmail 4732 <user> 15 0 197m 36m 34m S 4.3 3.6 2511:23 kdeinit 2807 <user> 15 0 194m 122m 35m S 6.6 12.1 2417:49 kdeinit 21124 <user> 15 0 189m 23m 121m S 0.0 2.4 6:35.89 soffice.bin 4161 root 16 0 155m 752 2404 S 0.0 0.1 9:43.46 powersaved 29205 <user> 15 0 138m 97m 32m S 9.5 9.6 2508:09 kdeinit 4865 <user> 15 0 128m 4916 38m S 0.0 0.5 2048:28 kdeinit 30007 <user> 15 0 128m 12m 35m S 0.0 1.3 146:18.15 firefox-bin 3721 <user> 15 0 99.7m 2192 13m S 0.0 0.2 4:37.42 gimp-2.0 9017 <user> 15 0 99916 27m 35m S 2.0 2.7 218:30.76 kdeinit 4866 <user> 15 0 93356 19m 13m S 0.0 1.9 307:21.60 sylpheed 14796 <user> 15 0 79764 16m 33m S 0.0 1.7 8:00.18 kdeinit 17613 <user> 16 0 73264 9m 35m S 0.0 1.0 1:30.56 kdeinit 26461 <user> 15 0 69296 31m 33m S 1.0 3.1 13:44.56 kdeinit 2818 <user> 15 0 66672 8832 32m S 0.0 0.9 114:10.71 kdeinit 14889 <user> 15 0 66628 1864 28m S 0.0 0.2 284:50.90 xmms 14848 <user> 16 0 62168 12m 32m S 0.0 1.2 4:23.06 kdeinit 17163 <user> 15 0 59664 19m 32m S 1.0 1.9 32:45.68 kdeinit 14807 <user> 15 0 58476 13m 32m S 0.3 1.3 472:03.04 kdeinit 14451 <user> 15 0 57624 11m 33m S 1.6 1.2 558:35.94 kdeinit 8814 <user> 15 0 55052 11m 31m S 0.0 1.2 22:17.87 kdeinit 13437 <user> 15 0 49864 1728 22m S 0.0 0.2 14:00.51 acroread 4645 <user> 16 0 49680 2748 23m S 0.0 0.3 0:13.31 suseplugger 541 <user> 16 0 48972 8804 34m S 0.0 0.8 0:51.03 kdeinit 14850 <user> 15 0 48264 10m 31m S 1.6 1.1 593:01.29 kdeinit 9784 <user> 16 0 48124 9636 34m S 0.0 0.9 0:39.90 kdeinit 27079 <user> 15 0 47420 10m 32m S 0.3 1.0 41:29.05 kdeinit 30275 <user> 16 0 46044 8704 34m S 0.0 0.8 0:28.22 kdeinit 5466 <user> 16 0 45792 9928 31m S 0.0 1.0 23:53.46 kdeinit 4588 <user> 16 0 43540 2956 23m S 0.0 0.3 0:18.06 kdeinit 11525 <user> 15 0 42960 9656 32m S 0.0 0.9 0:50.61 kdeinit 4295 root 16 0 42624 412 1468 S 0.0 0.0 1:44.55 nscd 11594 <user> 15 0 42308 10m 32m S 0.0 1.1 0:48.42 kdeinit Sortierung nach Arbeitsspeicherverbrauch (Spalte RES) ------------------------------------------------------------------------ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2807 <user> 15 0 194m 122m 35m S 5.9 12.1 2418:30 kdeinit 29205 <user> 15 0 138m 97m 32m S 9.2 9.6 2509:00 kdeinit 4385 root 25 0 886m 83m 13m R 68.2 8.2 23170:27 X 5031 <user> 15 0 496m 74m 42m S 0.0 7.3 122:03.64 kmail 4732 <user> 15 0 197m 36m 34m S 4.0 3.6 2511:43 kdeinit 26461 <user> 15 0 69296 31m 33m S 0.7 3.1 13:48.93 kdeinit 9017 <user> 15 0 99916 27m 35m S 2.6 2.7 218:41.05 kdeinit 21124 <user> 15 0 189m 24m 121m S 0.0 2.4 6:36.09 soffice.bin 17163 <user> 15 0 59664 19m 32m S 1.0 1.9 32:49.87 kdeinit 4866 <user> 15 0 93356 19m 13m S 0.0 1.9 307:23.48 sylpheed 14796 <user> 16 0 79764 16m 33m S 0.0 1.7 8:00.20 kdeinit 14807 <user> 15 0 58476 13m 32m S 0.3 1.4 472:06.00 kdeinit 30007 <user> 15 0 128m 12m 35m S 0.3 1.2 146:18.44 firefox-bin 14848 <user> 16 0 62168 12m 32m S 0.0 1.2 4:23.48 kdeinit 8814 <user> 16 0 55052 12m 31m S 0.0 1.2 22:17.89 kdeinit 14451 <user> 15 0 57624 11m 33m S 1.3 1.2 558:43.40 kdeinit 20459 <user> 15 0 18508 11m 9.9m S 0.0 1.1 1:01.80 emacs 11594 <user> 15 0 42308 11m 32m S 0.0 1.1 0:48.47 kdeinit 14850 <user> 15 0 48264 10m 31m S 1.0 1.1 593:07.09 kdeinit 27079 <user> 15 0 47420 10m 32m S 0.0 1.0 41:30.36 kdeinit 11525 <user> 15 0 42960 10m 32m S 0.0 1.0 0:50.69 kdeinit 32371 <user> 15 0 39588 10m 31m S 0.0 1.0 50:03.47 kicker 20496 <user> 16 0 36532 10m 29m S 0.0 1.0 0:41.17 kdeinit 17613 <user> 16 0 73264 10m 35m S 0.3 1.0 1:30.59 kdeinit 12037 <user> 15 0 18140 9.9m 9.9m S 0.0 1.0 9:03.57 emacs 5466 <user> 16 0 45792 9936 31m S 0.0 1.0 23:53.89 kdeinit 9784 <user> 15 0 48124 9636 34m S 0.0 0.9 0:39.91 kdeinit 541 <user> 16 0 48972 8856 34m S 0.0 0.9 0:51.04 kdeinit 2818 <user> 16 0 66672 8824 32m S 0.0 0.9 114:10.71 kdeinit 27082 <user> 16 0 34944 8752 28m S 0.0 0.8 0:02.43 nspluginviewer 30275 <user> 16 0 46044 8704 34m S 0.0 0.8 0:28.23 kdeinit 14382 <user> 16 0 34392 8344 27m S 0.0 0.8 1:35.90 kdeinit 29316 <user> 15 0 21044 8252 10m S 1.0 0.8 0:01.32 artsd 29252 <user> 16 0 23684 6924 22m S 0.0 0.7 0:00.28 kdeinit Tatsächlich ist <user> übrigens immer derselbe Eigentümer der Prozesse. Nun zu meinen Fragen, teils spezieller, teils grundsätzlicher Natur. Zu letzeren wäre ich für Literaturtipps sehr dankbar, damit ich mir das Wissen über eine ausgefeilte Prozesskontrolle selber aneignen kann. Ich weiß um das Kommando pstree, womit man die Verwandschaftsbeziehungen der Prozesse grafisch angezeigt bekommt. Allerdings kann ich damit meistens nicht die zugehörigen Fenster auf dem Desktop identifizieren. Ab und zu aber schon. 1. Frage: --------- Gibt es eine Art Prozessmanager, der mir auf Mausklick auf einen Prozesseintrag das zugehörige Fenster irgendwie anzeigt, oder wie kann man das sonst bewerkstelligen? Es wäre auch hilfreich, wenn z.B. eine Anwendung gerade viel Rechenzeit oder Speicher verbraucht, damit man herausfinden kann, durch welche geladenen Daten (z.B. Flash-Plugins, große Mengen Benutzerdaten) das verursacht wird. Oder gibt es System-Werkzeuge außer top, ps, pstree, lsof, kill, mit denen man solchen Phänomenen detailliert auf den Grund gehen kann, ohne gleich zig Stunden damit zu verbraten? Bei manchen Programmen (besonders KMail) kann ich den hohen Speicherverbrauch nicht recht nachvollziehen, wenn ich mir so ansehe, was das Programm an der Oberfläche für Daten zeigt und überlege welche Daten es evtl. für eine andere Anzeigeweise vorhalten muß. 2. Frage: --------- Wie kann man für einzelne Programme die Speicherbelegung nach der Art der Daten (Programm, Daten), also vielleicht eher anwenderorientiert, analysieren? Gibt es dafür vielleicht Werkzeuge, die eine nicht so sehr kryptische Ausgabe haben? Eine Bemerkung: An der Belegung des Swap-Space (siehe Top-Kopfzeilen oben) sieht man, daß die schlechte Reaktionszeit meines Systems darauf nicht so sehr zurückzuführen ist. Ich sehe auch, daß die Festplattenaktivität nicht übermäßig hoch ist. Klar muß bei einem Wechsel zu einer lange nicht benötigten Anwendung einiges aus dem Swap ins RAM verlegt werden, was zu ein paar Sekunden Wartezeit führen kann. Aber nur wenn der Swap nahezu voll ist, dann warte ich richtig lange, weil dann hat der Kernel ständig mit Interrupt-Bearbeitung wegen Paging (Datenverlagerung zw. Arbeitsspeicher und Swap) zu tun. Dann kommen Tastatur- und Maus-Interrupts einfach zu kurz. Das zu ändern wäre wohl eine Sache der Kernelentwicklung in Sachen Interrupt-Priorisierung. 3. Frage: --------- Gibt es ein Kontrollwerkzeug, mit dem man ähnlich zur Scheduling-Priorität die maximale Speicherbelegung eines einzelnen Prozesses bzw. Elternprozesses inkl. aller Kindprozesse festlegen kann? Hat das überhaupt einen Sinn, d.h. kommen damit Anwendungen wie KMail überhaupt zurecht? (Hat ja keinen Sinn, wenn sie dann nicht mehr richtig funktionieren.) Ich habe bei manchen Anwendungen den Verdacht, daß sie eine Menge Müll im Speicher mit sich rumschleppen und damit das System unnötig belasten. Mit meiner folgenden Frage schließt sich wieder der Bogen zu einer meiner obigen Fragen, weil man dafür die zu einem Prozess gehörigen Speicherinhalte differenzieren können müßte. 4. Frage: --------- Gibt es ein Werkzeug, mit dem man überflüssige Speicherinhalte einer Anwendung identifizieren und beseitigen kann, ohne das Programm zu beeinträchtigen? Ich denke, das waren für's erste genug Fragen mit Unterfragen :-) Ich würde mich freuen, ein paar hilfreiche Tips zu bekommen, oder wenn sich daraus eine erhellende Diskussion ergeben würde. Natürlich würde ich mich auch über Hinweise auf stattgefundene Diskussionen freuen. Habe schon ein bißchen recherchiert, aber das war noch nicht so ergiebig. Also, vielen Dank schon mal im Voraus! Gruß, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org