Archiv der Kategorie: Ubuntu

Java Heap-Dump erzwingen

Wer es mal brauchen sollte, einen Heap-Dump eines Java-Prozesses unter z. B. UBUNTU auf der Kommandozeile zu erhalten: Dazu muss ein Kernel-Parameter temporär auf ‚0‘ gesetzt werden. Als Tante ‚root‘ führt man folgendes aus:

‚echo „0“ > /proc/sys/kernel/yama/ptrace_scope‘.

Dann klappt auch unser Heap-Dump auf Kommandozeile:

‚jmap -F –dump:format=b,file=/tmp/XXXXXX.hprof <PID>‘

Ansonsten, wenn man nicht auf ein Terminal angewiesen ist, kann man z. B. die jconsole zu einem Heap-Dump veranlassen. Aber nicht vergessen, die Datei heißt so, wie der erste String-Parameter des Funktionsaufrufes. Das ist Default „String“ 🙂

jconsole_heapdump

Sucht man die PID laufender Java-Prozesse, kann man ‚jps‘ benutzen. Für Startparameter und anderes kommt ‚jinfo <PID>‘ zum Einsatz. Diese ‚unsupported‘ Tools sind im JDK enthalten.

Ubuntu: Kunden-VPN sperren

Der Kunde ist über einen stehenden VPN-Kanal zu erreichen. Man möchte aber auf Nummer sicher gehen, nicht durch eine kleine Unachsamkeit ein Skript doch auf Produktion auszuführen. Dann kann man folgendes tun:

  1. gufw installieren
  2. sudo ufw deny out to 10.xxx.xxx.0/24 (über grafische Oberfläche eingeben macht keinen Spaß)
  3. gufw starten und Firewall „On“-Schalten

FIREWALL_ON

Jetzt ist das VPN-Subnetz auf Knopfdruck ge-/entsperrt und ich kann sicher arbeiten.

Bei einem Reboot ist die Firewall mit dieser Regel voreingestellt aktiv.

(Danke Michael für den Tip!)

 

Ubuntu, Oracle-JDK im Browser

Unter Ubuntu z. B. im Firefox möchte ich das ORACLE JDK einbinden. In meinem Falle wegen des Versuchs, an einer Cisco-Webex-Konferenz mit dem Kunden teilzunehmen. Da war es erst einmal nicht trivial, im Browser das Java-PlugIn zum Laufen zu bekommen.

Ok, man kann die OpenJDK Hausinstallation benutzen. Die hatte ich aber wegen Nicht-Gebrauchs und Interferenzen mit anderen JDK-Installationen gelöscht. Das es eigentlich nur um den Link zu einer speziellen Bibliothek geht, zeigte  mir dann folgender dienlicher Hinweis:

http://www.wikihow.com/Enable-Oracle-Java-in-Your-Web-Browsers-on-Ubuntu-Linux

Das allerdings Webex mit einer 32-bit-Audio-Bibliothek in meiner 64-bit-Umgebung scheiterte – „the audio device is unaccessible“ – ist eine andere ärgerliche Geschichte. Für die Lösung mittels Neukompilieren einer Bibliothek siehe man im Ubuntu-Forum nach.

Ubuntu Backup mit deja-dup schlägt fehl

Eigentlich sieht es ziemlich gut aus. Einfache Konfiguration 4 Tabs, kurz angeklickt und „backup now“.

Nun wird man nach einem Passwort gefragt und weiter gehts. Dann fragt er wieder nach einem Passwort …
Nach etlichem Hin-und-Her versuche ich es ohne Passwort und Verschlüsselung. Siehe da, es geht.
Ein Kollege gab mir dann den Tip, dass das deja-dup (ein Python-Programm) gnupg benutzt.
Also kurz gnupg angeworfen und es ist kaputt.

Da hat doch wieder irgendein Aufruf als Besitzer des .gnupg-Ordners root gesetzt.
Will ich jetzt vom Arbeits-Account aus ein Backup machen, dann bricht deja-dup ohne Fehlermeldung ab (auch nicht auf Kommandozeile).

chown -R xxxx:yyyy .gnupg

Löst das Problem und das Backup läuft, wie es soll.
Eine Fehlermeldung hätte 2h gespart.

Der Lüfter war’s

Nach dem Upgrade auf Ubuntu 12.04 traten merkwürdige Performance-Probleme auf. Alles fühlte sich an, als ob ein riesiger Treibanker die CPU ausbremsen würde.

1. Eclipse und Java im Verdacht

Die Auslastung mittels Eclipse-Helios näherte sich der 180% CPU-Last und der Schuldige schien festzustehen.
Aber nach dem Killen von Eclipse blieb der Rechner langsam, was mich verwunderte.
Auch eine Backup-Helios-Installation brachte keine Abhilfe. Dieses Verhalten war vorher schon durch ein neues Helios zu beheben gewesen.
Also hatte ich nun nicht Eclipse sondern die Java-Installation in Verdacht.

Ein kurz zuvor gemachtes Update auf dem Betriebssystem schien irgend etwas kaputt gemacht zu haben.
Durch Reboot ließ sich das Problem ebenfalls nicht beheben.

Vormittags und nachts lief der Rechner normal und ich dachte schon, dass sich das Problem erledigt hätte.
Aber dann wieder der Treibanker.

2. Ubuntu-Update / Unity

Ein Administrator schilderte mir, dass ein Bekannter dasselbe Problem gehabt hatte: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/993942.
Dies sollte ein fieser Bug im Unity sein, welches unter ungünstigen Umständen das ganze System ausbremst.

Also Unity deinstalliert, neu angemeldet mit Gnome-Classic. Schien auch alles erst mal besser zu sein, doch dann wieder der Treibanker.

3. SSD oder eCryptfs

Kurz dachte ich über das Versagen der SSD-Platte nach. Aber „iotop“ zeigte hier keine Auffälligkeiten und selbst das io-lastige Eclipse hielt die Sache im Rahmen.
Also wieder Fehlanzeige. Dann war die Frage, ob das verschlüsselte Dateisystem Probleme machen würde. Aber auch hier gab es nach entfernen eines 0-Byte-Datei bei Skype keine Meldungen oder Hinweise mehr.

3. Grafikkarte

Unity war es also nicht, aber die Grafik blieb im Verdacht. „top“ zeigte nun auch keine Auffählligkeiten mehr, aber die Kiste wurde trotzdessen immer langsamer.
Also weder IO noch CPU-Last aber eine langsame Maschine. Könnte es wieder einmal ein Problem mit dem NVidia-Treiber sein. Das ist ja nicht unüblich.
Und tatsächlich gab es auch einen Bug-Report hierzu: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/982710.

4. GPU

Meine letzte Hoffnung war „psensor“ und tatsächlich stellte sich heraus, dass die GPU ziemlich warm geworden war.
Das korellierte auch damit, dass abends bzw. vormittag der Rechner ok lief.
Also Schweizer gezückt und geschraubt. Nach ordentlichem Pusten und Pinseln (Lüfter festhalten und nicht den Schutzdioden vertrauen) flogen mir die Flocken und Staubfontänen nur so entgegen.
Nach dem Anstarten: Rechner schnell und leise, wie sich das gehört.

Meine nächste Anschaffung ist eine kleine Luftdruck-Spraydose, so blöd das auch klingen mag.

Ubuntu 12.04 window border controls

Nach zwei Install-Upgrade-Nächten: 11.04 auf 12.04 LTS muss ich sagen, dass mit Ubuntu/Debian Linux (das ist mein beschränkter Blickwinkel) erwachsen geworden ist. Mein Environment läuft nach dem 3-fach-Upgrade klaglos und flüssig. Nur das Eclipse-Helios verschluckt sich ab und zu.

ABER sowenig ich mit der MacOS-X-Oberfläche warm werde, sosehr hat mich Unity von Ubuntu geschockt.
Mein Kollege meinte lakonisch, aus beiden Welten das Schlechteste.

Nun, wenn der Kunde es will, dann programmiere oder plane ich auch unter MacOS-X – Geschmackssache.
Das ist ok mit Eclipse, Thunderbird und Firefox, die überall laufen – mit einem „portable application USB stick“ für alle Fälle.

Aber auf meinem Arbeitspferd muss ich mir das nicht antun und habe auch keine Zeit solange herumzuspielen, bis es passt.

Also für mich ist die GNOME-Shell auch ok.
Die installiert man und kann beim Anmelden (auf das Rädchen klicken) zwischen den entsprechenden Oberflächen-Verwaltungen wählen.

sudo apt-get install gnome-shell

Leider arbeiten die „CompizConfig Setting Manager“-Einstellungen nur für Unity und nicht für meine gewählte grafische Shell.
Aber mit den „Advanced Settings“ aus dem Ubuntu-Software-Center kann man auch die GNOME-Shell wieder mit den Minimierungs- und Maximierungs-Buttons versehen.

Advanced Settings > Shell > Arrangement of buttons in titlebar > All

Am meisten vermisse ich noch die Menüs. Was sich da wieder ausgedacht worden ist, die rückstandslos zu entfernen. Aber das gehe ich auch noch an.

Skype mit Video unter Ubuntu 11/12

Beim Starten des Skype und Überprüfen der Video-Funktion erscheint nur ein schwarzes Rechteck.

Die Suche nach der richtigen Bibliothek ist in jeder neuen Ubuntu-Version angebracht:

locate v4l1compat.so | head -1

Folgendes Script bringt die Kamera zum Funktionieren:


#!/bin/bash

LD_PRELOAD=`locate v4l1compat.so | head -1` skype&