Affichage des articles dont le libellé est Linux. Afficher tous les articles
Affichage des articles dont le libellé est Linux. Afficher tous les articles

vendredi 26 février 2010

Get a complete list of all possible JVM options

To get a reliable list of all config options for a given Sun JVM, look directly into the compiled code. For example :

$ strings $JAVA_HOME/jre/lib/amd64/server/libjvm.so | grep -B646 assert_null$ | grep -v '{' | grep -v '&' | grep -v '/' | grep -v '%' | grep -v assert_null

(on one line)
Do you know all 646 options ?

EDIT : it is also possible to get the default value and computed value for each option using the jinfo tool shipped with the JDK. First the need the id of the vm from which you want the options. it is easy, just run jps and choose the appropriate id (we'll call id $LVMID)

It looks like a few options are available but not extracted from libjvm.so, but can be found in deploy.jar :

MaxDirectMemorySize
MaxHeapFreeRatio
MaxInlineSize
MinHeapFreeRatio
NewSize
PermSize
ThreadStackSize
CompileThreshold

You can add these well known options to the list above for the next part :

Using the list we got above (let's say we've redirected the list to a file named 6_0_18_complete_options_list , it is then possible to print the (almost) complete list of the options with their default, computed, or overriden value using :



$ for i in `cat 6_0_18_complete_options_list` ; do jinfo -flag ${i} $LVMID | tee -a /tmp/default_computed_vm_options ; done ;

All the values will be written to default_computed_vm_options, with the numeric value , or a + / - in front of the option if it's a boolean. very instructive way to find out the defaults for your specific platform


Lots of interesting stuff in there for JVM geeks :)
I hope you're not lactose intolerant because what you will find is legen....da(i)ry

lundi 9 novembre 2009

Fedora 11 : Clé 3G Orange Huawei e160

Le monde avance, configurer sa clé 3G avec NetworkManager est presque automatsique.

  • Insérer sa clé 3G où vous voulez mais dans un port USB les chances de succès sont plus élevées (la mienne est une Huawei E160 Orange)
  • Clic droit sur l'icone NetworkManager > Modification des connexions > Téléphone mobile à large bande > Ajouter
  • NetworkManager propose de configurer le modem Huawei E220 (c'est ce que rapporte lsusb), la mienne est officiellement une e160 mais c'est pas grave ça marche aussi il s'en démerde.Clic sur Suivant > France > Orange > Internet Everywhere 3G
  • Dans la popup de conf qui apparait, il faut changer 3 paramètres : mettre orange comme password, changer l'APN d'orange.ie en orange.fr, et mettre le code PIN de la clé (par défaut 0000 mais vous pouvez le changer).
  • Attendre qq secondes
  • La connexion devrait apparaître dans la liste des connexions de NetworkManager (clic gauche sur l'icone) . Cliquer sur la connexion (Orange Internet Everywhere 3G pour moi). Attendre qq secondes, et les choses devraient se passer.
  • ENJOY !
Vous pouvez désormais commencer à vivre comme un américain à Paris, mais ne vous attendez pas à ce que le débit soit dans les 4 chiffres ni à pouvoir flâner facilement sur le mouvement quotidien


EDIT : Il faut aussi ne pas se faire arnaquer par les DNS tout pourris d'Orange ... Certains d'entre eux sont plus lents à répondre qu'une vieille à la caisse qui fait ses courses le WE. Evitez de préférence les DNS 10.* et préférer les DNS en 194.* ....

dimanche 1 novembre 2009

Fedora 11 : Enable Dell 370 bluetooth card

I have a Dell e6400 professional laptop. Installed the 370 bluetooth minicard but it wasn't recognized.

Running hcitool scan i had :

Device is not available: No such device

It turns out that this can be fixed by two steps,one of them is lame.
  1. Install the Dell drivers in Windoze while this bug is resolved : https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/277211 (also affects Ubuntu). This will enable the hardware part (the bluetooth led will now be active in Linux). There is probably a way to activate it in Linux, but my laptop came with XP, and i kept the partition so that was easier.
  2. For the software part, run the hid2hci utility to make the device connectable by non-HID devices (i.e other than mice and keyboards, for example bluetooth headsets). You have to identify which device in the lsusb output is the card. For me, it was : ID 413c:8158 Dell Computer Corp. It is probably the same for you. So, run this command as root : hid2hci -v 413c -p 8158 -r hci -m dell
  3. You can now run ,as root : hcitool scan . This should scan for devices instead of giving the "no such device" error.
  4. Enjoy !

jeudi 4 septembre 2008

Pimp my grep

I'm in a situation where i use a lot of grep.
I recently discovered grep allows much more results coloration than i previously thought.

There's the obvious :

alias grep ='grep --color=auto' which will color matches in red by default.

But there's a GREP_COLORS environment variable that allows to configure file name coloring, line number coloring, context coloring and others...

Just add:

export GREP_COLORS='mt=01;31:ml=:cx=:fn=36:ln=32:bn=32:se=36'

to your .bash_profile or adjust accordingly to your $SHELL.


syntax for this variable is avaible in the man page, mt=matching text,cx=context, ml=matching lines, ... numbers are term colors . Much easier to read when going through a lot of matches :)

The GREP_COLOR env var is deprecated but still honored, and allows to specify matching text color only (thus less powerful that the new GREP_COLORS above).

Its syntax is just a term color , i.e : GREP_COLOR="01;33"
Although it has been deprecated , If you use a version of grep older than 2.5.2 / 2.5.2 you might need it...
You can get an array of available colors here

Just a little screenshot of it :

dimanche 17 février 2008

Partage de connexion Internet 3G ou GRPS via Bluetooth ou USB sous Linux

Contexte : Dans l'hypothèse ou je me retrouverais un jour à un endroit ss Internet pour mon laptop professionel (oui oui c possible et pas uniquement au fin fond de la Creuse) , l'importance d'une connexion d' "urgence" s'est fait sentir. Une relation professionelle m'a suggéré l'idée d'utiliser alors la connexion 3G, partagée via Bluetooth ...

La recette du jour : Comment partager sa
connexion 3G mobile, via Bluetooth ou port série, vers un Laptop tournant sous Linux ?

Temps de cuisson : pas longtemps

Ce qu'il vous faut :
  • Un laptop tournant avec une distribution Linux récent et un kernel récent (important). Dans mon cas, c'est Fedora 8 avec un kernel standard : 2.6.23.15-137.fc8
  • Une clé USB bluetooth ou un laptop intégrant déjàle bluetooth (J'utilise celle de Belkin )
  • Un téléphone 3G exposant des services DUN ( Dial-Up Networking) avec un forfait Data ( Dans mon cas, Orange Intense avec Option Internet)
  • Des doigts en nombre suffisant et pas d'yeux de chouette
Let's Go : Les informations générales de mise en oeuvre sont bien décrites sur les sites suivants :

http://www.howtoforge.com/linux_internet_access_gprs_edge_via_bluetooth_gsm_phone

http://wiki.clug.org.za/wiki/GPRS_Internet_over_Bluetooth https://help.ubuntu.com/community/BluetoothDialup (Bonne section troubleshooting)


Les settings qui ont marché pour moi :
  1. Vérifier que pppd est présent sur votre système ( yum install ppp sinon )
  2. Créer un fichier /etc/ppp/chat-orange contenant les commandes GSM à envoyer à partir du téléphone. Ces settings ont marché pour moi (une commmande par ligne):
    • '' ATZ OK
    • AT+CGDCONT=1,"IP","orange.fr"
    • OK "ATD*99***1#"
    • CONNECT ''
    Remplacer les sections pertinentes avec les ressources ci-dessus (orange.fr par votre APN - contacter votre opérateur au besoin - et voir cette section pour ATD*99***1#)
  3. Editer ou créer un fichier /etc/bluetooth/rfcomm.conf contenant ces instructions :

  4. rfcomm0 {
    # Automatically bind the device at startup
    bind yes;

    # Bluetooth address of the device
    device 00:11:22:33:44:55;

    # RFCOMM channel for the connection
    channel 2;

    # Description of the connection
    comment "SE K800i";
    }
    En remplaçant éventuellement le comment mais surtout l'adresse MAC par celle de votre téléphone (obtenue avec la commande "hcitool scan"), et le numéro de channel obtenu en suivant ces instructions


  5. Créer un fichier /etc/ppp/orange-bluetooth contenant ces instructions :
  6. /dev/rfcomm0 460800
    460800
    debug
    connect '/usr/sbin/chat -v -f /etc/ppp/chat-orange'
    crtscts
    modem -detach
    noccp
    defaultroute
    usepeerdns
    user "orange"
    noauth
    ipcp-accept-remote
    ipcp-accept-local
    noipdefault
    Regarder dans la conf de votre téléphone pour savoir quel user utiliser pour se connecter via votre compte data. Pour le débit, je n'ai pas trouvé de valeur définitive mais 460800 semble être une valeur couramment employée pour un compte Data 3G ou GPRS...Il se peut également que vous n'ayez pas le même rfcomm mais c unlikely...replace accordingly.


  7. Créer un fichier /etc/ppp/orange-usb contenant exactement les mêmes instructions que ci-dessous, à l'exception du device, qui doit être /dev/ttyACM0 , 1 ou 2 (à determiner à l'aide de la commande lsusb).
  8. La route DNS par défaut ne sera pas modifiée si vous avez déjà des interfaces actives. Pour mettre à jour le DNS automatiquement, éditer le fichier /etc/ppp/ip-up.local et y placer les instructions suivantes:

  9. sed -i /etc/resolv.conf -e 's/nameserver/\#nameserver/g'
    echo "nameserver 194.51.3.56" >> /etc/resolv.conf

    En remplaçant l'adresse IP par l'adresse IP du DNS primaire de votre opérateur, il apparaitra dans le log de connexion ainsi que dans /var/log/messages


  10. vérifier que le bluetooth est activé sur votre mobile, redémarrer le bluetooth sur votre laptop pour prendre en compte les nouveaux paramètres (service bluetooth restart), et vérifier que kbuetooth est lancé. Downer les interfaces sur lesquelles vous êtes déjà connecté , via NetworkManager, ifup ou autres. Il est temps de tenter la connexion ppp :

  11. sudo pppd call orange-bluetooth
    - OU -
    sudo pppd call orange-usb
    Essayez de pinger le DNS , puis google.com, si ca marche , ca représente.
    Sinon reportez vous à la section troubleshooting de ce site


Dernier point: vous pouvez effectuer des tests de débit sur ce site .
J'obtiens pour l'instant des débits de 15ko/s environ, je ne sais pas si ce débit est normal, dc stay tuned ....