Wednesday, September 24, 2008

System info in solaris and linux

If you work for a non microsoft shop, its highly likely that you would develop and/or deploy your applications in linux or solaris systems. Our windows to the target system is the ubiquitous command line via ssh. Here are some of the commands that I find useful to get the details of target system.


Solaris commands
Hardware deatails
Processor /usr/sbin/psrinfo -v
Memory /usr/sbin/prtconf -v | grep Memory
HD /usr/sbin/format < /dev/null

Current statistics
memory statistics /usr/bin/vmstat
io statistics /usr/bin/iostat
network statistics /usr/bin/netstat
disk space usage /usr/sbin/df

Process details
list of processes running /usr/bin/ps -aef

memory usage for a given process /usr/bin/pmap processid | grep total

list of ports open for a given process
/usr/proc/bin/pfiles processId | grep "port: portId"


I have listed only the commands. A simple google or map page should give you details about each of the command. I will follow it up with Linux command later.

Monday, September 22, 2008

ServiceMix 3.2.1 with ActiveMQ 4.1 Gotchas

We have using servicemix for last year or so. So far the results have been mixed. The most important downside is being activemq. One of my initial draw to servicemix was activemq and its seda flow support. ActiveMQ has been mediocre at best in our situation. I would list some of the gotchas and how we came across it.

When you have mulitple fast publishers and slow subscribers activemq sometimes freezes up. This becomes all the more common if a subscriber did not close the connection gracefully. The reason is activemq's internal memory cache that stores the messages untile a subscriber has successfuly received the messaged. The memory cache is set to 20MB by default. If the memory cache runs out of space, the broker freezes up as all the threads wait on the cache to release some space, which does not happen in case of faulty subscriber.

You can increase the cache size by setting activemq' usagemessage size in bytes as follows.


<amq:broker id="hub" useShutdownHook="false" useJmx="false" persistent="false" brokerName="hub" >
....

<!-- set limit to 200mb -->
<amq:memoryManager >
<amq:usageManager limit="209657600"/>
</amq:memoryManager>

</amq:broker>

Friday, November 03, 2006

Ubuntu on T43.


I have been using Linux for number for years starting with slackware and moving on to Redhat for a while landing on Debian and its derivative ubuntu.

I have always used Linux on desktops and servers. Its time to use it on my laptops too. I decided to install ubuntu edgy eft ( that's version 6.10 if you are not keeping track of the codename for the releases ) on my T43 couple of days ago. To my pleasant surprise, everything worked out of the box. Well almost everything.

It recognized native resolution of 1400x1050. All the function keys, volume buttons, trackpoint, WiFi card, sound card were recognized out of the box.

ThinkWiki is good resource for all your linux compatibility questions.

I still have to get my Fingerprint Reader and Hard disk's Active Protection System running. Except for APS, I am not very keen on getting Finger Print Reader working.

Overall it look me less than 20 minutes to install Linux on Thinkpad. Thats less than the time I spent configuring Windows XP Profession when I bought my laptop.

So if you are like me, waiting for the right time to install linux on your laptops, thanks to Ubuntu, now is the time.

I am not going to review Ubuntu 6.10 here. Every linux site worth its salt has detailed review along with installation procedure. The only note I would like to add is that you can download Eclipse 3.2 via apt. I am still a emacs guy but its good to know that you are just "sudo apt-get install eclipse" away