server.exe 100% Prozessorlast

11. April 2006 11:31

Hallo,

ich habe Heute das Problem gehabt, das die server.exe zu 100% das System ausgelastet hat.
Da ich keine Möglichkeit hatte den Dienst zu Beenden, musste ich den Server Neu Starten (kaltstart).

Folgendes vorgehen hat zu den Problem geführt:
Im Object Designer habe ich die Tabelle Nr. 37 Verkaufszeile im Design Modus (Code Ansicht) geöffnet, in den Aufträgen habe ich einen neuen Artikel ausgewählt.
Sobald ich die Artikelübersicht geschlossen habe, erscheint eine Sanduhr bzw. der Server war zu 100% ausgelastet!
(Ich vermute mal das der Trigger Nr. OnValidate ausgeführt werden sollte )

Wir haben die Version DE 2.60.A (DE 2.60.A) Build 5350

Kann einer von Euch mir Erklären, warum es zu diesen Problem gekommen ist?
Gruß Mikka

11. April 2006 13:02

Kleine Zusatzfrage,
zur Zeit ist glaube ich die Version 2.60.G die jüngste Version.
Kann evtl. damit das Problem behoben werden?

Sind die Updates frei Verfügbar oder Kostenpflichtig gewesen?
Gruß Mikka

11. April 2006 14:16

@Mikka

Ist es wirklich Server.exe und nicht CPUMONI.EXE?

11. April 2006 14:29

Es war die Server.exe!
Warum weiß ich immer noch nicht, der Fehler ist Reproduzierbar :shock:
2x an einen Tag den Server abschiessen reicht!
Gruß Mikka

11. April 2006 14:40

zur Zeit ist glaube ich die Version 2.60.G die jüngste Version.
Kann evtl. damit das Problem behoben werden?

Sind die Updates frei Verfügbar oder Kostenpflichtig gewesen?


Also ich habe hier die Version fin.exe 2.60.6.7896.
Bei mir passiert nichts.
Wäre ja einfach zu testen. Du müsstest nur die Client-Dateien auf Deinen Rechner kopieren.
Wie das mit den Updates in DE käuft habe ich leider keine Ahnung.

11. April 2006 14:44

Ich habe bisher noch kein Udate durchgeführt, aber müssen auf Server nicht auch die gleichen Dateien ausgetauscht werden (zzgl. der Dateien für die Serveranwendung)?

Gruß Mikka

11. April 2006 14:51

Ich habe bisher noch kein Udate durchgeführt, aber müssen auf Server nicht auch die gleichen Dateien ausgetauscht werden (zzgl. der Dateien für die Serveranwendung)?


Nein. Innerhalb 2.6, bzw. Hauptversion, sind die Versionen kompatibel.
Auf jeden Fall 2.60.A - 2.60F spielt keine Rolle. G weiss ich nicht, ich denke es wird sich analog verhalten.
Du könntest also die Client-Dateien in ein neues Verzeichnis kopieren und sofort starten.

11. April 2006 23:44

Im Serververzeichnis liegt eine DBMS.zup. Diese sollte bei einem Kaltstart gelöscht werden (während der Server nicht läuft) weil sie vermutlich beschädigt ist, wenn dieser nicht sauber beendet wird. Vielleicht löst sich dann das 100% Auslastungsproblem auch gleich mit.

20. April 2006 19:32

Ich habe noch eine Frage:
Wofür oder was macht die CPUMONI.EXE :?:
Oder ist das das die Datei von der Leistungsüberwachung?

Mir ist heute aufgefallen, das auf dem Navisionserver diese Datei 100% Prozessorlast zeitweise Verursacht, unabhängig von meinem zuvor geschilderten Problem!.
Kleiner Zusatzt: Seit gestern habe ich die Systemleitungsprotokolle aktiviert.

Gruß Mikka
Zuletzt geändert von mikka am 21. April 2006 08:46, insgesamt 1-mal geändert.

21. April 2006 00:39

Grundsätzlich erst einmal dieser Tip:
wenn es um Programme geht, die im Taskmonitor auftauchen, gibt es eine hervorragende Informationsquelle:
http://answersthatwork.com und dort auf Tasklist und dann auf den Anfangsbuchstaben des gesuchten Programms klicken, in vielen Fällen wird man dort fündig.
In diesem Fall leider nicht....

In welchem Verzeichnis findest Du dieses Programm? Sagt die Versionsinfo der Eigenschaften etwas aus?

21. April 2006 09:24

Hier sind zwei Links zu Mibuso, bei denen etwas zu CPUMONI.EXE geschrieben wird:
cpumoni.exe ???
CPUMONI.exe
Es handelt sich um ein Navision Programm und liegt im Serververzeichniss. Wenn ich das bisher richtig Interpretiert habe, ist dieses Programm unter anderm für den Performance-Test der CPU-Auslastung auf dem Server zuständig, was noch wüste ich nicht!
Ich habe mir Testweise eine Form auf Table 2000000037 basierend erstellt, dieses Form Zeigt die Übertragenen Netzwerkpakete und die CPU auslastung Lokal und auf dem Server.
Wenn ich die Datei CPUMONI.EXE in CPUMONI.EXE.OLD umbenenne, und in der Form nochmal schaue, dann werden alle Werte angezeigt, ausser die CPU-Auslastung auf dem Server.

Da ich auf diesen Wert Verzichten kann, werde ich das Programm auch weiterhin inaktiv lassen.
Gruß Mikka

21. April 2006 09:26

Hier noch etwas zu CPUMoni

Das Programm CpuMoni "füttert" die Systemtabelle Performance mit
Werten über die CPU-Auslastung und Netzwerk Performance. Das Programm tritt bei einem Login bzw. bei einem Zugriff auf die Performance-Table in Aktion.
In einigen Fällen führt das Programm zu Konflikten mit dem Windows Performance Monitor, welcher dann 100% Auslastung zeigt. Das Umbenennen bzw. Löschen des Programms sollte keine schwerwiegenden Folgen haben, ausser dass Benchmark-Tools, welche auf die Performance-Tabelle zugreifen, nicht mehr funktionieren.
Trotzdem wurde schon gemeldet, dass das System nach dem Umbenennen von cpumoni.exe nach 5 Usern spürbar langsamer wurde. In diesem Fall könnten aber auch andere Ursachen der Grund für die Langsamkeit gewesen sein.

Wenn Navision 2.60 mit dem Win 2000 Installer installiert wurde, wird cpumoni.exe nach dem Löschen wieder installiert. Dies lässt sich verhindern, indem zu Fin.exe manuell eine Verknüpfung (Icon) generiert wird und nicht die Originalverknüpfung des Installers verwendent wird.
--> CPUMONI ist ab Version 3.0 nicht mehr dabei.

Hintergründe über cpumoni :

On the Windows NT Task Manager's Performance tab you can get information about allocated RAM. That RAM is allocated does not necessarily mean that it is being used. It just means that the program can access this amount of RAM. If the application does not use the allocated amount of RAM, there won't be any swapping. However if you have say 50 Mb RAM and the applications that each have 20 Mb allocated RAM and then all use their 20 Mb, then swapping will occur.

In Windows NT in general you should never allocate more than Total Ram - 16 Mb. This will cause the operating system to get swapped, leading to a lower performance.

In Windows NT 4.0 there is a process called "System Idle Process". This process is used to measure the workload on the processor. This is done by giving the System Idle Process the lowest of the lowest possible priority. In other words, this process only runs when there is no other activity. Try having a look at it and then move the mouse or do something in an application. By measuring how much CPU time the Idle Process gets, you can measure how big the workload is - or how fast a CPU is.

Because this facility did not exist in the past, and because it still does not exist in UNIX for example, we have created our own little routine to test the load on the processor. This is also a task that has a very low priority and it is therefore only run when nothing else is running BUT - it has higher priority than the System Idle Process, and therefore it looks like there is a high workload when monitoring the system. This is only the case during the first 500 seconds of the server session. Hence the statement "CPUMONI confuses the Task Manager". Sometime in the future, the information will be taken from Windows NT's built in function - but for now we have our own little workload monitoring program.

21. April 2006 13:54

Das sind ja mal interessante Informationen über die CPUMONI.exe.

Wenn ich das jetzt richtig verstanden habe, dann bedeutet das auf gut deutsch:
Da die CPUMONI.exe mit niedrigster Priorität läuft (und nur der IDLE-Prozess eine noch niedrigere Priorität besitzt), kann es passieren, dass der Prozess 100% einnimmt, weil derzeit kein anderes Programm etwas von der CPU möchte.
Sobald eine andere Anwendung die CPU benötigt, wird die notwendige Rechenzeit der CPUMONI.exe weggenommen.
Somit ist es kein Problem, wenn die CPUMONI.exe - auch über längere Zeit - mit 100% Porzessorauslastung läuft.

21. April 2006 15:11

Das einzige Problem ist, dass der Prozessor eben doch arbeitet und nicht im Waitstate ist. und somit ist der Stromverbrauch und dadurch die Wärmeentwicklung größer.

Re: server.exe 100% Prozessorlast

11. Juni 2009 18:40

Hallo,

ich hatte ebenfalls soeben mit der DE 2.60 das Problem einer viel zu hohen CPU-Auslastung erlebt, nachdem wir jahrelang so ein Problem nicht kannten. Aufgrund der fast andauernd hohen CPU-Last "hakte" das System in der ganzen Firma fast permanent.

Systemskizze: 30 Anwender, 3*10 GB Datenbank nativ in Duplex Raid1, XP/3GHz/1GB RAM, Gigabit.

Natürlich hatte sich der Fehler nicht plötzlich im laufenden Betrieb eingestellt: aufgrund eines Mainboard-Defektes mußte die DB temporär auf einen anderen Rechner migriert werden, aber beim Wechsel zurück auf den reparierten Rechner stellte sich dieses Problem ein. Und: beim erneuten Wechsel zurück auf den temporären Rechner blieb dieser Effekt ebenfalls erhalten, obwohl es dort vorher anstandslos lief. Jedoch hatte ich in der Zwischenzeit den Wert des TCP Receive Windows geändert.

Das Problem ist jetzt gelöst - allerdings habe ich parallel 3 Dinge geändert:

1. dbms.zup gelöscht (aufgrund des Hinweises in diesem Thread)

2. TCP Receive Window (RWIN) von 127776 wieder auf default (65535 ) gesetzt

3. Leistungsoptionen von XP auf Hintergrunddienste/Systemcache

Nach diesen Änderungen ist wieder alles im grünen Bereich, d.h. eine hohe CPU-Auslastung tritt nur noch auf, wenn umfangreiche Reports/Dataports ablaufen, aber nicht mehr permanent. Die Frage ist nur, welche von den 3 Änderungen jetzt ausschlaggebend war? Meines Erachtens Punkt 2, aber vielleicht war ja auch Punkt 1 die Lösung. Punkt 3 halte ich eher für unwahrscheinlich. Erneutes Testen durch vorsichtige Rückstellung obiger Optionen möchte ich dem Livebetrieb jetzt nicht mehr zumuten...

Thorsten

Re: server.exe 100% Prozessorlast

11. Juni 2009 23:00

HAllo Thorsten,

danke das du deine Ergbnisse mit uns teilst.

Ich vermute das es damals bei uns in der Firma die DBMS.zup war. Das kann ich allerdings nicht 100%ig sagen.
MIt RWIN habe ich bisher noch nicht experimentiert, daher kann ich keine Auskunft hierzu geben.