Re: tomcat java system cpu usage

From: Bernd Walter <ticso(at)cicely7.cicely.de>
Date: Tue, 10 Dec 2013 12:55:59 +0100

On Tue, Dec 10, 2013 at 11:47:12AM +0100, Marian Hettwer wrote:
> Hallo Liste,
>
> ich vermute zwar, daß ich am Ende an freebsd-java@ oder freebsd-stable@
> schreiben muss, aber ich probiers erstmal hier :)
>
> ich teste auf Arbeit gerade FreeBSD mit java.
> Der Cluster in Frage besteht bis jetzt aus 18 Debian Maschinen (Linux
> 3.2) und meine Versuchskiste wäre die 19. Maschine.
> Die Kisten sind das Suchbackend einer der größten deutschen
> kleinanzeigen plattformen.
> Die Referenzmaschinen (also der bestehende cluster) läuft mit Oracle
> Java 7u21, tomcat6 und solr 4.6.0.
> Mein Setup der FreeBSD Maschine ist so identisch wie möglich (OpenJDK
> 7u25 aus packages installiert, ebenso tomcat6).
> FreeBSD ist 9.2-REL mit zfs on root (via mfsbsd installiert).
>
> Das verwunderliche was ich sehe ist, daß sobald ich etwas load auf die
> Maschinen gebe, 90% der CPU zyklen auf system cpu verbraucht werden.
> Das ganze system kommt faktisch zum stillstand.

[...]

> und system cpu explodiert. :-/

System CPU im Prozess klingt nach syscall.
Die sind aber zwischen den OS vom Overhead recht vergleichbar.
Bei so extremen Unterschieden entwickelt sich bei mir immer so ein Bauchgefühl
von schlecht geschriebener Software.
Klassiker ist z.B. eine regelmässige Zeitabfrage, die Linux ungenau, bei
SMP nicht mal zwingend immer aufsteigend, liefert und FreeBSD genau mit
entsprechend mehr CPU-Overhead.
Populärer Kandidat für excessive (und teilweise sinnfreie, weil ungenau)
Zeitabfragen war früher immer MySQL.
Ich weiß aber, dass hier bei FreeBSD ein Workaround für quick and dirty time
existiert - habe mich aber nicht weiter mit auseinander gesetzt.
Gggfs. findest du ja was in der Richtung.
Java selber dürfte sowas nicht machen, aber eventuell euer Java-Code.
Ansonsten würde ich mal die syscalls per ktrace und Co tracen, um einen
Eindruck zu bekommen was da passiert.

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 10 Dec 2013 - 12:56:18 CET

search this site