Geschrieben von everflux am Januar 7th, 2010
Java benoetigt eine ganze Menge an verschiedenen Klassen, selbst um einfache Programme auszuführen. Ich habe mich mit den verschiedenne JVM Optionen der Sun Java virtual machine beschäftigt. Seit Java 5, bzw. dem JDK 5, gibt es Classdata sharing. Nicht nur, dass die Daten geshared werden können, sie koennen sogar fuer die Plattform aufbereitet werden, und können dann per memory map einer einzelnen Datei eingeblendet werden.
Das reduziert die Startzeit natürlich enorm – bei groesseren Programmen wie z.B. Eclipse fällt das jedoch geringer ins Gewicht, da es sich um Fixkosten handelt.
Diese Cache Datei lässt sich mittels
sudo java -client -Xshare:dump
(bzw. -server
)
generieren. Der Effekt zeigt sich bei einem kleinen Programm am deutlichsten:
Um sicher zu stellen, dass der Systemcache nicht die Ergebnisse zu sehr beeinfluss, habe ich vor jedem Testlauf
echo 3 > /proc/sys/vm/drop_caches
durchgeführt. Hier die niedrigsten Werte von fünf Läufen ohne und mit Classdata sharing dump.
time java -client Demo
Demo for Fibonacci numbers:
Fibonacci 3: 5
real 0m3.050s
user 0m0.112s
sys 0m0.092s
Mit classdata sharing
time java -client Demo
Demo for Fibonacci numbers:
Fibonacci 3: 5
real 0m1.614s
user 0m0.056s
sys 0m0.052s
Man sieht deutlich, dass sich die Ersparniss bei einem kleinen Programm deutlich bemerkbar macht, jedoch lediglich bei kalten Cache. Sobald das Betriebssystem die nötigen Daten im eigenen Cache hat, fällt die Ausführungszeit auf deutlich unter 100ms. Bei der Server JVM ist von dem Cache aufgrund des initialen Compilevorgangs und der Optimierung auf hohe Ausführungsgeschwindigkeit im Gegensatz zur Startgeschwindigkeit bei der Client VM sowieso kaum noch etwas zu spüren. In so fern dürfte das auf der Devoxx 2009 angekündigte Update des JAR Formats erheblich mehr bringen.
Geschrieben von everflux am Dezember 8th, 2009
Wer darauf angewiesen ist, Microsoft Access Datenbanken (MDB) unter anderen Betriebssystemen als Microsoft Windows zu verwenden, hat meist das Nachsehen. Microsoft Access gibt es eben nur für Windows. Eine Lösung für das Problem könnte sein, die Daten von Access bzw. dem MDB Format in ein anderes Format zu konvertieren. Und das funktioniert auch unter Ubuntu Linux! Weiterlesen »
Geschrieben von everflux am Dezember 4th, 2009
Bei Ubuntu Karmic funktionierte selbst nach einem Update von Ubuntu Jaunty mit funktionierender DVD Wiedergabe (dank libdvdcss) leider die Wiedergabe von DVDs nicht richtig. Ursache war hier, dass das DVD Kopierschutzsystem CSS nach dem Update nicht mehr mit VLC oder Totem nutzbar war.
Weiterlesen »
Geschrieben von everflux am November 30th, 2009
Sun hat VirtualBox 3.1 als Produktivversion freigegeben. Neu und interessant sind vor allem Live Migration – „Teleportation“ – von virtuellen Maschinen. D.h. eine Instanz einer virtuellen Maschine kann im Betrieb umgezogen werden. Auch verbessert wurde die Geschwindigkeit im 2d Bereich und für AMD 64 Gastsysteme. Für viele interessant sein dürfte auch ein flexiblerer Umgang mit Snapshots, so kann ein beliebiger Snapshot Stand verwendet werden – ein Feature, das viele Vmware User bei VirtualBox vermisst haben.
EFI als Bios Ersatz wurde ebenfalls in einer ersten experimentellen Version implementiert. Alle Neuerungen und mehr Details finden sich im umfangreichen Changelog von VirtualBox.
Wie üblich finden sich Downloads von VirtualBox für verschiedene Plattformen auf der Homepage von VirtualBox: http://www.virtualbox.org/
Für Ubuntu User gibt es wie üblich die Möglichkeit komfortabel über den Paketmanager zu installieren.
Ein Upgrade auf die neue Version erfolgt genauso wie die Erstinstallation per „sudo apt-get install virtualbox-3.1“ nachdem man das Virtualbox Repository angelegt hat.
Geschrieben von everflux am November 29th, 2009
Mit dem neuen Google Web Toolkit 2 – oder kurz GWT 2 – wird einiges besser. Am interessantesten in der langen Liste der Verbesserungen und Veränderungen von GWT 2 gegenüber der älteren Version dürfte für 64bit Linux Anwender sein, dass ohne Verrenkungen oder 32bit Libraries GWT Entwicklung möglich wird.
Das ist dabei nur ein Nebeneffekt davon, dass Google auch mit aktuellen Browsern GWT Anwendungen im hosted development mode laufen lassen wollte. Neu dabei ist, dass kein besonders modifizierter Browser, sondern ein Plugin zur Anwendung kommt, dass die Kommunikation zwischen der GWT Entwicklungsumgebung und dem Browser abwickelt. Somit bringt GWT selber keine nativen Abhängigkeiten bzw. einen speziellen Browser mit – und auch mit aktuellen Browsern können die GWT Anwendungen getestet werden. Weiterlesen »
Geschrieben von everflux am November 13th, 2009
Sun hat eine erste Betaversion von VirtualBox 3.1 freigegeben. Das Changelog von VirtualBox 3.1 ließt sich schonmal gut:
VM states can now be restored from arbitrary snapshots instead of only the last one, and new snapshots can be taken from other snapshots as well (aka branched
snapshots)
- Netzwerkmodus kann im Betrieb geändert werden
- OpenSolaris Host USB Support, der von den
Verbesserungen im USB Stack ab Nevada build 124 Nutzen zieht (experimentell)
- Deutliche Geschwindigkeitsverbesserungen von VirtualBox bei PAE und AMD64 Gastsystemen (Hardwarevirtualisierung ohne nested paging)
- Experimenteller Support für EFI Firmware, statt BIOS
- Support für Hardware 2d und 3d Beschleunigung (OpenGL und Direct3d)
Weiterlesen »
Geschrieben von everflux am Oktober 30th, 2009
Kaum ist Ubuntu Karmic Koala 9.10 veröffentlicht, schon finden sich die ersten Herausforderungen: Eclipse z.B. reagiert nicht auf Button Klicks und in den Dialogboxen fehlen schonmal die hälfte der Widgets.
Das die Probleme erst anfingen, nachdem ich Ubuntu Jaunty zu Karmic aktualisiert hatte, tippte ich auf ein GTK oder GDK Problem, oder ein SWT Problem. Und tatsächlich der Verantwortliche Bug ist dieser. Abhilfe schafft hier ein Eclipse 3.6 ab Milestone 2 zu nehmen, oder einen (extra eingebauten) Workaround zu aktivieren. Dieser wird über GDK_NATIVE_WINDOWS=1 aktiviert.
(Ich habe meinen Eclipse Launcher einfach geändert in „env GDK_NATIVE_WINDOWS=1 /path/to/eclipse“.) Wer sich für die genauen Details der Eclipse Probleme mit Ubuntu Karmic bzw. GTK interessiert, sei auf den Bugreport verwiesen.
In den von Ubuntu bereitgestellten Eclipse Paketen tritt das Problem übrigens nicht auf – betroffen sind lediglich User, die (wie ich) Eclipse selber installiert haben.
Geschrieben von everflux am Oktober 26th, 2009
Nun war es auch auf meinem Thinkpad Laptop soweit: Ubuntu Jaunty Jackalope sollte einem Ubuntu Karmic Koala weichen. Da ich auf dem Laptop bereits Jaunty mit ext4 Dateisystem und full-disc-encryption eingerichtet hatte, versprach ich mir hier einen sehr sanften Übergang.
Nachdem der Release candidate (RC) auch verfügbar ist, wollte ich gerne – wie üblich – das Update vor dem großen Ansturm erledigt haben. Nicht zuletzt um erste Erfahrungen zu sammeln, und somit beim Support helfen zu können. Weiterlesen »
Geschrieben von everflux am Oktober 22nd, 2009
Ein 16 GB Kingston USB Stick hatte es mir angetan: Für 25 Euro eine Sache, die man sich mal leisten kann.
Aus alter Erfahrung wollte ich natürlich sichergehen, dass der USB Stick auch die 16GB wirklich leistet – und zwar sicher. (Es gab Fälle in denen das USB Laufwerk eine größere Kapazität vorgegaukelt hat, als nachher drauf war. Und mein letztes 8 GB Thumbdrive ist nach zweimaligem völligen Beschreiben komplett kaputt gegangen.)
Ich habe also mit Linux Bordmitteln das Laufwerk füllen wollen, um dann zu testen, ob die Daten auch so wieder ausgelesen werden können.
Weiterlesen »
Geschrieben von everflux am August 13th, 2009
Einen Thinkpad T40p dazu zu bewegen sich mit einem WPA gesicherten Funknetzwerk zu verbinden kann sehr nervenaufreibend sein. Vor allem wenn es einfach keine Fehlermeldungen gibt. Stets brach der Verbindungsversuch beim „group handshake“ ab.
Bei Ubuntu Jaunty werden die neueren Atheros5k (ath5k) Treiber eingesetzt, statt der älteren madwifi Treiber. Und genau hier liegt auch der Hase im Pfeffer.
Bei dem Thinkpad T40p habe ich dazu das ath5k Modul „geblacklisted“ und danach werden automatisch die madwifi Treiber geladen. Damit funktioniert dann die Atheros Karte mit WPA gesicherten Wlans.
Und so gehts: die Datei /etc/modprobe.d/blacklist-ath_pci.conf editieren, dort die Zeile „blacklist ath_pci“ auskommentieren und die Zeile „blacklist ath5k“ ans Ende der Datei einfügen.
Neue Kommentare