Seite 1 von 1

auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:03
von jan.b
bei mir ist es so, dass auch bei komplizierten bzw, aufwändigen Prozessen die Prozessor Leistung nicht über 30% hinaus geht
wie kann man das ändern?

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:12
von kbr
jan.b hat geschrieben:bei mir ist es so, dass auch bei komplizierten bzw, aufwändigen Prozessen die Prozessor Leistung nicht über einen bestimmten wert hinaus geht
Das ist auch bei mir so. Der 'bestimmte' Wert beträgt in der Regel 100%.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:16
von jan.b
bei mir aber höchsten 30 .

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:25
von Sirius3
@kbr: bei mir sind es 800%.
@jan.b: die Frage ist so nicht zu beantworten. Wo ist das Problem?

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:33
von jan.b
Sirius3 hat geschrieben:@kbr: bei mir sind es 800%.
@jan.b: die Frage ist so nicht zu beantworten. Wo ist das Problem?
das Problem steht da doch wenn ich z.b. print(1000000*"hi") eingebe, dann ist das ein sehr aufwändiger Prozess. aber ews werden trotzdem nur etwa 23% der verfügbaren Leistung genutzt.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:43
von kbr
@Sirius3: vermutlich 4 Cores plus HT. Dann sind 800% schon sehr optimistisch ... :wink:

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:49
von DasIch
Die CPU wird nur dann komplett ausgelastet, wenn die CPU nicht auf irgendetwas anderes warten muss. Moderne CPUs sind sehr sehr schnell so dass sie i.d.R. hauptsächlich auf irgendwas anderes warten z.B. auf Daten aus dem Netzwerk, der Festplatte oder dem Arbeitsspeicher.

Jetzt überleg mal genau was dein Code tatsächlich tut und was davon die CPU betrifft.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 19:53
von jan.b
DasIch hat geschrieben:Die CPU wird nur dann komplett ausgelastet, wenn die CPU nicht auf irgendetwas anderes warten muss. Moderne CPUs sind sehr sehr schnell so dass sie i.d.R. hauptsächlich auf irgendwas anderes warten z.B. auf Daten aus dem Netzwerk, der Festplatte oder dem Arbeitsspeicher.

Jetzt überleg mal genau was dein Code tatsächlich tut und was davon die CPU betrifft.
ich denke mal du willst mir damit sagen, dass ich die python Shell nicht schneller machen kann, weil das Problem nicht beim cpu liegt.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 20:42
von BlackJack
@jan.b: Genau das. Und es ist auch die Frage was die Zahl bei der Auslastung bedeutet. Sind das 23% von einem Kern oder 23% von einer CPU mit mehreren Kernen? Falls es vier Kerne sind, kommst Du mit einem Prozess der nur einen Thread verwendet ja schon prinzipiell nicht über 25% falls die Zahl die Auslastung der gesamten CPU angibt.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 20:45
von jan.b
BlackJack hat geschrieben:@jan.b: Genau das. Und es ist auch die Frage was die Zahl bei der Auslastung bedeutet. Sind das 23% von einem Kern oder 23% von einer CPU mit mehreren Kernen? Falls es vier Kerne sind, kommst Du mit einem Prozess der nur einen Thread verwendet ja schon prinzipiell nicht über 25% falls die Zahl die Auslastung der gesamten CPU angibt.
die Auslastung für nur einen kern anzuzeigen würde keinen sinn machen. aber,dass es mehr als einen thread verwendet merke ich spätestens dann, wenn das Programm sich aufhängt.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 20:51
von BlackJack
@jan.b: Natürlich macht es Sinn sich auch die Auslastung der Kerne anzeigen zu lassen.

Man erkennt daran das ein Programm hängt, nicht das es Threads verwendet, und umgekehrt bringen Threads Programme, die keinen Fehler bei der Threadprogrammierung haben, auch nicht zum hängen.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 21:06
von jan.b
BlackJack hat geschrieben:@jan.b: Natürlich macht es Sinn sich auch die Auslastung der Kerne anzeigen zu lassen.

Man erkennt daran das ein Programm hängt, nicht das es Threads verwendet, und umgekehrt bringen Threads Programme, die keinen Fehler bei der Threadprogrammierung haben, auch nicht zum hängen.
ich dachte 1 = thread = 1.mio Rechnungen Pro /s und mein rechner hat mehr als 4 threads wenn er sich also schon bei 23 % aufhängt zeigt das, dass
nur 1/4 der zur verfügung gesetzten rechenleistung auch genutzt werden (vorraus gesetzt es zeigt die gesamte Kapazität des pc's an(und das tut es habe nachgeguckt). oder ich habe einen Denkfehler.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 21:16
von BlackJack
Thread ist keine Masseinheit sondern ein separater Ausführungsstrang innerhalb eines Prozesses.

Eine Million Rechnungen, oder besser Befehle, pro Sekunde wird üblicherweise MIPS („million instructions per second“) genannt. Siehe auch Instruktionen pro Sekunde.

Re: auf prozessorleistung zugreifen.

Verfasst: Mittwoch 9. August 2017, 21:25
von jan.b
BlackJack hat geschrieben:Thread ist keine Masseinheit sondern ein separater Ausführungsstrang innerhalb eines Prozesses.

Eine Million Rechnungen, oder besser Befehle, pro Sekunde wird üblicherweise MIPS („million instructions per second“) genannt. Siehe auch Instruktionen pro Sekunde.
Danke für die ganze antworterei. :D