views:

42

answers:

1

I'm using a Solaris Container with 2 cores (the physical machine has 32 with 8 threads, each one) to run a jvm (BEA Jrockit).

The surprise is: Runtime.getRuntime().availableProcessors() returns 256 rather than 2 or, say 16. That is, the application (a sealed product) believe in 256 cores available, what may cause performance issues.

Are the any way to limit the number of cores a Solaris Container can see, or pass to JRockit (or even Sun Hotspot)?

+1  A: 

You can use:

# poolcfg -c 'create pset zone_pset ( uint pset.min=2; uint pset.max=15 )'
# poolcfg -c 'create pool zone_pool'
# poolcfg -c 'associate pool zone_pool ( pset zone_pset )'
# poolcfg -c 'modify pool zone_pool ( string pool.scheduler="FSS" )'
# pooladm -c

to specify between 2 and 15 cores in your container. Read more here

Amir Afghani