Friday, February 25, 2011

First impressions from G1GC

I was trying to see how G1GC will cope with an application that I am investigating.
Here are my disappointing results:
1. With JDK 1.6.0_20 G1GC is not reporting memory correctly via JMX. problem is solved in later jdks but I am not able at this stage to upgrade the JVM
2. VisualVM is not reporting memory correctly with G1GC need to open a bug for this issue.
3. I cannot find thorough documentation regarding what the GC logs mean (when using G1GC with -Xloggc)
4. The application crashed every few minutes. Again this was with  160_20 and I need to recheck with 160_24

Monday, July 12, 2010

Java6u21 is released 4 days ago

That's good news  from  performance perspective since it includes the latest VisualVM version (1.2.2)
According to Oracle release notes this include the following functionality

  • HeapWalker performance improvements
  • VisualVM-Sampler performance improvements
  • BTrace4VisualVM plugin introduces BTrace 1.1
  • Profiling engine bugfixes
  • Built on NetBeans Platform 6.8

It still not a full replacement to a commercial profiler but I hope it will be soon :-)

Tuesday, May 18, 2010

Page file size on machines with large amounts of memory

There is a rule of thumb that page file size (and swap space partition) should be 1.5 times the physical memory of the machine. Now that we have 64 bit machines with 16-64GB of memory this looks like an absurd.

  • We do not want to reserve so much disk space
  • It does not make sense to rely so heavily on disk 

I found two nice references in the internet regarding Linux and Windows

http://www.cyberciti.biz/tips/linux-swap-space.html
http://support.microsoft.com/kb/889654

So my new rule of thumb page file should not be more than 70% full
Paging File\\% Usage Peak _Total < 70%

Wednesday, May 12, 2010

iPad Performance

Just received my new iPad and I must say that I really amazed by its performance. Everything is so snappy kudos to apple. I do want to understand how they were able to create this experience on such a device.
Can someone arrange me a meeting with Steve?

Sunday, April 25, 2010

Dangling Locks

Happy about Java not suffering from dangling pointers ? Think again the Java5 concurrency utils while very powerful looks like a language flaw:
The following code is an example where a lock cannot be released anymore the thread which holds it is dead. Moreover there is no indication who is holding this lock ...... jstack won't help you......
Oracle please fix it !!!


public class DanglingLock {
    static ReadWriteLock l = new ReentrantReadWriteLock();
    public static void main(String [] args) throws InterruptedException  {
        Runnable r = new Runnable() {


            public void run() {
                l.writeLock().lock();
                try {
                    Thread.sleep(20000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(DanglingLock.class.getName()).log(Level.SEVERE, null, ex);
                }
            }


        };
        Thread t = new Thread(r);
        t.start();
                            Thread.sleep(5000);
        l.writeLock().lock();
    }


}

Thursday, April 8, 2010

1 gadget per year policy

Well as I am trying to convince myself that I really need an iPad I use the following arguments
- I must try new technology
- I must understand the hype around tablets

and the most absurd argument is that I need a policy for buying gadgets...
The policy is one gadget per year .....

Sounds reasonable no ?

Sunday, April 4, 2010

I really want an iPad but do I really need it ?

It is cool I fantasize reading books with it viewing movies on the go and browsing the internet in the park....
I am not sure i will continue using it after more than few weeks?
Will I start carrying another device ? not sure.....
I guess that I will continue to hold my breath and wait for Hebrew keyboard, jailbreak and the 3G version....