Moazam Rajas Sun hosted weblog garbage collection II

Tuesday Aug 31, 2004

The new iMac is out. At first glance, I think it's a bit on the ugly side, but the specs are decent and the prices are decent too.



I don't have a desktop right now, so I think I'll be ordering the Dual 2Ghz G5 tower sometime this afternoon. The 20" iMac is somewhat tempting as it would be alot 'cleaner' on my desk...but the lure of Dual G5s is strong.

Much better viewpoint...

Monday Aug 23, 2004

I have not had much time to write on my weblog or even read other peoples weblogs lately. Of course, this means that I missed Calvin Austins post about the jps and jinfo commands.

From Calvins post, here is the output from running jinfo on a Java process.

# jinfo 1361
Attaching to process ID 1361, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 1.5.0-beta3-b60
Java System Properties:

java.runtime.name = Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path = /usr/java/jdk1.5.0/jre/lib/i386
java.vm.version = 1.5.0-beta3-b60
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = :
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
user.country = US
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = /usr/java/jdk1.5.0/demo/jfc/Stylepad
java.runtime.version = 1.5.0-beta3-b60
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.endorsed.dirs = /usr/java/jdk1.5.0/jre/lib/endorsed
os.arch = i386
java.io.tmpdir = /tmp
line.separator = 

java.vm.specification.vendor = Sun Microsystems Inc.
os.name = Linux
sun.jnu.encoding = ISO-8859-1
java.library.path = /usr/java/jdk1.5.0/jre/lib/i386/client:
/usr/java/jdk1.5.0/jre/lib/i386:
/usr/java/jdk1.5.0/jre/../lib/i386
java.specification.name = Java Platform API Specification
java.class.version = 49.0
sun.management.compiler = HotSpot Client Compiler
os.version = 2.4.9-e.3smp
user.home = /root
user.timezone = 
java.awt.printerjob = sun.print.PSPrinterJob
file.encoding = ISO-8859-1
java.specification.version = 1.5
java.class.path = Stylepad.jar
user.name = root
java.vm.specification.version = 1.0
java.home = /usr/java/jdk1.5.0/jre
sun.arch.data.model = 32
user.language = en
java.specification.vendor = Sun Microsystems Inc.
java.vm.info = mixed mode
java.version = 1.5.0-beta3
java.ext.dirs = /usr/java/jdk1.5.0/jre/lib/ext
sun.boot.class.path = /usr/java/jdk1.5.0/jre/lib/rt.jar:
/usr/java/jdk1.5.0/jre/lib/i18n.jar:
/usr/java/jdk1.5.0/jre/lib/sunrsasign.jar:
/usr/java/jdk1.5.0/jre/lib/jsse.jar:
/usr/java/jdk1.5.0/jre/lib/jce.jar:
/usr/java/jdk1.5.0/jre/lib/charsets.jar:
/usr/java/jdk1.5.0/jre/classes
java.vendor = Sun Microsystems Inc.
file.separator = /
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.cpu.isalist = 

VM Flags:


Dtrace, Zones, jps, jstack, jstat, jconsole, jmap....these are some of the upcoming technologies and tools which will definitely make my life alot easier. You can check out the docs concerning these Java tools here.

Friday Aug 13, 2004

Bryan Cantrill answered my dumb question about Zones capability of pstack. Well..duh, its already there. Just find the pid from the zone you want to check out, and run pstack [pid].

This is what happens when you post technical questions at midnight. :/

Thursday Aug 12, 2004

I noticed that Solaris 10 (s10 63) has some zones aware utilities, such as prstat. The new zones aware prstat allows a user to see active process statistics for a non-global zone from the main global zone. Meaning...you could have 4-5 different zones on a machine, and from the main machine, you could see process statistics for any of those zones. All you have to do is specify the -z flag and the zonename, i.e.,

prstat -zMyZone -L.

That command will give you prstat info for MyZone, with LWP IDs shown.

Sooo anyways, my point is..if we have zones enabled prstat, why can't we have zones enabled pstack? A zones enabled pstack would allow users to actually look at the internal workings of a process from outside of the zone!

I guess this may only be important to a few people..but I still think it would be extremely useful for peaking into test enviroments and debugging. Any Solaris Zones engineers listening?

Monday Aug 02, 2004

Due to a charitable colleague, it looks like I'll be going to LinuxWorld this week!

I plan to attend at least the following sessions:

Tuesday, August 3rd.
10:15 AM - 11:30 AM S15 How the Linux Kernel Gets Built

Wednesday, August 4th.
1:15 PM - 2:30 PM S24 Java 2 Standard Edition 1.5 on Linux: The Tiger (by Calvin Austin)

Thursday, August 5th.
1:00 PM - 2:15 PM S85 Kernel Instrumentation: A More Manageable Linux

I'll also be posting photos of the expo, if there is anything cool there to take photos of...