On 11/1/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
Just a wild guess: this may be caused by x86 emulation on em64t (x86_64). SDK docs advise to use GetNativeSystemInfo() in such case, instead of currently used GetSystemInfo(). (See vm\port\src\misc\win\sysinfo.c).
huh, I guess you are right, since my machine is X86-64bit. :-) I will try the API you pointed. Thanks, xiaofeng
2006/11/1, Xiao-Feng Li <[EMAIL PROTECTED]>: > Yes, both SUN JRE and DRLVM returns 1 for me. Java API has the same > problem. :-) Probably it should introduce an > availableCoresPerProcessor() or something more comprehensive. > > Thanks, > xiaofeng > > On 11/1/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote: > > On 11/1/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > > > > > > Are you using Linux? Don't know why it doesn't work for my Pentium D. > > > Actually my Windows seems not show two processors at first, while the > > > API may depend on OS. My Linux has no problem with this. > > > > > > On the other hand, even your case is undesirable for Hyperthreading > > > since we probably want more detailed info about processor(s) since > > > hyperthreading sometimes wants to be treated differently than real SMP > > > (or dual-core). I believe there is such kind of API available > > > somewhere, at least NUMA support of Linux from SGI has it. > > > > > > > I use WindowsXP and here is more detailed info about CPU: > > Number of processors 1 > > Number of cores 1 per processor > > Number of threads 2 (max 2) per processor > > Name Intel Pentium 4 660 > > Code Name Prescott > > Specification Intel(R) Pentium(R) 4 CPU 3.60GHz > > Package Socket 775 LGA > > > > And I see 2 CPUs in Windows Task Manager. > > > > Did you tried Runtime.getRuntime().availableProcessors() ? > > > > > > > > -- > > Mikhail Fursov > > > > >