Moin, warum ist der GCC auf SuSE-Systemen runtergenicet? Ich habe nach einer Stelle gesucht, wo dieses Verhalten definiert wird, aber nichts gefunden. Ist das ein gepatchtes Binary? Thorsten -- The truth is that all men having power ought to be mistrusted. - James Madison
Moin, * Philipp Thomas <philipp.thomas@t-link.de> [2003-08-23 13:57]:
Thorsten Haude <linux@thorstenhau.de> [Sat, 23 Aug 2003 10:14:29 +0200]:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Was bringt dich zu der Annahme?
Ein Blick auf top(1) oder einen Krell, während etwas kompiliert wird. An den Makefiles liegt es nicht, die laufen identisch auf Woody, ohne daß da etwas genicet wird. Thorsten -- Is there a suspect in your family? - Contact the Ministry of Information.
Moin, * Philipp Thomas <philipp.thomas@t-link.de> [2003-08-23 13:57]:
Thorsten Haude <linux@thorstenhau.de> [Sat, 23 Aug 2003 10:14:29 +0200]:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Was bringt dich zu der Annahme?
Nochmal im Detail, vielleicht verstehe ich ja den Wert falsch: - - - Schnipp - - - 2:46pm up 5:34, 1 user, load average: 0.46, 0.21, 0.08 80 processes: 77 sleeping, 3 running, 0 zombie, 0 stopped CPU states: 1.4% user, 5.2% system, 92.4% nice, 0.7% idle Mem: 254876K av, 252924K used, 1952K free, 0K shrd, 11560K buff Swap: 261536K av, 0K used, 261536K free 96628K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 2894 yooden 17 5 7104 7104 1832 R N 14.8 2.7 0:01 cc1 - - - Schnipp - - - Da läuft auch kein SETI@Home oder etwas Ähnliches, ohne GCC ist der Wert nahe 0%. Thorsten -- Try not to be a man of success but rather of value. - Albert Einstein
Hallo. Thorsten Haude schrieb:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Ich habe nach einer Stelle gesucht, wo dieses Verhalten definiert wird, aber nichts gefunden. Ist das ein gepatchtes Binary?
Hast Du da mal ein Beispiel? Ich kann das hier nicht nachvollziehen mit einer SuSE 8.2. Habe gerade einen Kernel compiliert, und da ist ja bekanntlich der GCC im Einsatz - aber "nice" steht hier stets sowohl bei gcc als auch bei cc1 usw. auf Wert 0, wenn ich es mir per "top" oder "ps" anschaue. Wert 0 bedeutet, dass nichts veraendert wurde. Gruesse, Thomson
Moin, * Peter Wiersig <wiersig-ml@dns.glamus.de> [2003-08-23 18:57]:
Thorsten Haude wrote:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Ist deine Bash schon genicet?
Im ps ist nichts zu erkennen. Welche Aktvität sollte auch auftreten, während gcc läuft? Thorsten -- Just because you do not take an interest in politics doesn't mean politics won't take an interest in you. - Pericles
Hallo Thorsten, hallo Leute, 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:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Ist deine Bash schon genicet?
Im ps ist nichts zu erkennen.
Dann prüf es doch einfach nach ;-) 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
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. Übrigens: bei mir kompilieren im Hintergrund [1] gerade die kdelibs [2] (CVS-Version), allerdings _absichtlich_ geniced, damit ich ungestört weiterarbeiten kann ;-) Gruß Christian Boltz [1] Was bei einem P2-400 eben mehrere Stunden dauert... [2] der Rest von KDE steht auch noch an. Insbesondere interessiert mich die Einbindung von kvim/vimpart in KMail, wäre echt ein Fortschritt ;-) --
Also komm doch mal runter jetzt. Du hast da was falsch verstanden! Gut, daß Du nichts flasch verstanden hast. Hups, das war jetzt eine Spitze, die von Dir natürlich nicht hätte kommen können. hups, noch eine. [> toRBEN pOLLmann und Bernd Brodesser in suse-linux]
Moin, * 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:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Ist deine Bash schon genicet?
Im ps ist nichts zu erkennen.
Dann prüf es doch einfach nach ;-) 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.) Inwiefern hat das (scheinbare) Auswirkungen auf den Compiler?
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?
Ü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! Klar kann ich das jedesmal per Hand einstellen, ich find's so aber bequemer. Thorsten -- copy protection n. - A class of methods for preventing incompetent pirates from stealing software and legitimate customers from using it. Considered silly. - The Jargon File
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°]
Moin, * Christian Boltz <christian.boltz@nexgo.de> [2003-08-24 21:37]:
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.
Ein grep in der Manpage zeigt nur etwas zu einer Option, die hier nicht zutrifft. In den Konfigurationsdateien finde ich auch nichts.
Es kann natürlich auch wesentlich tiefer liegen. Welchen nice-Wert (in top nachsehen) hat login -- dein_username ?
Uh, der Wert steht ja in top! Ich Depp, da hätte ich vorher suchen sollen. Whatever, genicet sind da cpp0, cc1, cc und Eterm. Die Shell arbeitet wie erwartet nicht.
Inwiefern hat das (scheinbare) Auswirkungen auf den Compiler?
Der übernimmt den nice-Wert vom aufrufenden Programm.
Das erklärt es natürlich. Dann weiß ich wenigstens, wo ich suchen muß, nämlich bei Eterm. Ich frage mich aber, warum man ausgerechnet diesen Prozeß nicen will. Vielen Dank für die Erklärung!
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.
Tut sie auch, es ist schon der Compiler, der da nett läuft.
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.
Nee, ist ein simples Makefile.
Ü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?)
Jepp.
Andere Frage: Kannst Du kdebase/kate compilieren? Ich bekomme da die Meldung
Nie versucht, KDE benutze ich ernsthaft nur auf Woody. Da bekomme ich alles frei Haus.
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')
Das wäre eine einfache Lösung. Ich denke mal darüber nach. Thorsten -- I say, if your knees aren't green by the end of the day, you ought to seriously re-examine your life. - Calvin
Moin, * Thorsten Haude <linux@thorstenhau.de> [2003-08-23 10:14]:
warum ist der GCC auf SuSE-Systemen runtergenicet?
Die Lösung hatte Christian: Prozesse erben ihren Nettigkeitswert vom Vaterprozeß, darum war bei den Einstellungen von GCC beim besten Willen nichts zu finden. Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
participants (5)
-
Christian Boltz
-
Peter Wiersig
-
Philipp Thomas
-
Thomas Hertweck
-
Thorsten Haude