Hallo Thorsten, hallo Leute, Am Sonntag, 24. August 2003 02:08 schrieb Thorsten Haude:
* Christian Boltz <christian.boltz@nexgo.de> [2003-08-24 01:12]:
Am Samstag, 23. August 2003 21:31 schrieb Thorsten Haude:
* Peter Wiersig <wiersig-ml@dns.glamus.de> [2003-08-23 18:57]:
Thorsten Haude wrote: Bei mir hat sich folgender Trick bewährt: renice 0 $$
Wenn dann eine Zeile <pid>: Alte Priorität: 0, neue Priorität: 0 erscheint, ist kein nice-Wert gesetzt. Wenn ein nice-Wert gesetzt ist, kommt stattdessen: renice: <pid>: setpriority: Keine Berechtigung
Ach. Tatsächlich, es kommt die Meldung über die fehlende Berechtigung. Wo wird dann aber dieser Wert für die Shell gesetzt? (Ist übrigens eine Zsh.)
Keine Ahnung, ich kenne die Zsh nicht. Guck einfach mal in den Configdateien der Zsh nach (/etc/zsh* sowie die in ~), ob du da was findest. Es kann natürlich auch wesentlich tiefer liegen. Welchen nice-Wert (in top nachsehen) hat login -- dein_username ? Von dort aus kannst Du Dich dann im pstree hocharbeiten ;-)
Inwiefern hat das (scheinbare) Auswirkungen auf den Compiler?
Der übernimmt den nice-Wert vom aufrufenden Programm. Mit ein Grund ist, dass ein "unnicen" nur von root vorgenommen werden darf, auch wenn man vorher selbst "geniced" hat.
Welche Aktvität sollte auch auftreten, während gcc läuft?
Der nice-Wert ist AFAIK unabhängig von der Aktivität gesetzt, allerdings spielt er nur bei Aktivität eine Rolle.
Was ich meinen: Warum arbeitet die Shell, wenn der Compiler läuft, und zwar deutlich mehr als dieser?
Wundert mich jetzt auch ein wenig. Eigentlich sollte die Shell schlafen. Wobei: Welche Shell ist es, die da arbeitet? Die KDE-Kompilierung ruft intern mehr als einmal eine sh auf, die dann z. T. auch recht munter werkelt.
Übrigens: bei mir kompilieren im Hintergrund [1] gerade die kdelibs [2] (CVS-Version), allerdings _absichtlich_ geniced, damit ich ungestört weiterarbeiten kann ;-)
Darum geht's ja, ich will das auch auf Woody haben!
Noch jemand, der die CVS-Version von KDE haben will? Was ist denn bei Dir der Grund? (oder hab ich das lfhacs verstanden und Du willst nur grundsätzlich make und den gcc nicen?) Mein Rechner kompiliert schon seit heute Morgen an kdebase und ist gerade (nach 10 Stunden, ohne kate) fertiggeworden. So langsam wird es wohl Zeit für ein Hardware-Update ;-) Andere Frage: Kannst Du kdebase/kate compilieren? Ich bekomme da die Meldung make[1]: Entering directory `/data/hdb7-data/install-packages/kde-cvs/kdebase/kate/app' if /bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../interfaces -I./../lib -I/opt/kde-cvs/include -I/opt/kde-cvs/qt//include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE -MT kateapp.lo -MD -MP -MF ".deps/kateapp.Tpo" \ -c -o kateapp.lo `test -f 'kateapp.cpp' || echo './'`kateapp.cpp; \ then mv -f ".deps/kateapp.Tpo" ".deps/kateapp.Plo"; \ else rm -f ".deps/kateapp.Tpo"; exit 1; \ fi kateapp.cpp: In member function `virtual int KateApp::newInstance()': kateapp.cpp:195: error: 'class Kate::Document' has no member named ' setOpenErrorDialogsActivated' kateapp.cpp:201: error: 'class Kate::Document' has no member named ' setOpenErrorDialogsActivated' make[1]: *** [kateapp.lo] Fehler 1 make[1]: Leaving directory `/data/hdb7-data/install-packages/kde-cvs/kdebase/kate/app' make: *** [all-recursive] Fehler 1 Ich verwende qt-copy aus dem KDE-CVS, kdelibs und arts auch in der CVS-Version, kdebase habe ich zuletzt heute "sehr früh" upgedated (~ 1 Uhr) Ich habe kate jetzt erstmal vom Kompilieren ausgeschlossen, aber eine Dauerlösung ist es nicht.
Klar kann ich das jedesmal per Hand einstellen, ich find's so aber bequemer.
Wenn Du es absichtlich willst, richte einen Alias auf make ein (make='nice make') oder lege Dir einen eigenen User zum Compilieren an (hab ich gemacht), dann reicht ein renice 5 -u compile für alle unter diesem User laufenden Prozesse. Das kannst Du dann auch in der .profile oder der .${shellname}rc eintragen, dann geht es automatisch. Gruß Christian Boltz -- Meine sigg macht Urlaub bis Donnerstag. [WoKo in dag°]