Yes, this is really weird. It is not possible to allocate more than 1Gb chunk of memory.
Running Ubuntu-8 64-bit in VMWare with 1.5Gb RAM, I can allocate even smaller array than on 32-bit Windows, with 1.5 Gb RAM. On Ubuntu-8 64-bit: A=: i.2^26 NB. 0.5 Gb OK A=: i.2^27 NB. > 1 Gb Error |out of memory | A=: i.2^28 It is possible to allocate one more such array: B=: i.2^26 To a total of 7!:0'' 2,148,241,024 then it given out of memory On Windows XP 32-bit: A=: i.2^27 NB. 0.5 Gb OK A=: i.2^28 NB. > 1 Gb Error |limit error | A=: i.2^28 (The memory limit is of 2^30 is maximum possible on 32-bit.) <.2^26 67,108,864 8*<.2^26 NB. 0.5 Gb worth of 64-bit ints 536,870,912 <.2^27 134,217,728 4*<.2^27 NB. 0.5 Gb worth of 32-bit ints 536,870,912 <.2^28 268,435,456 4*<.2^28 NB. 1 Gb worth of 32-bit ints 1,073,741,824 > From: Matthew Brand <[EMAIL PROTECTED]> > > I don't think I understand all this 64-bit stuff at all now. > > I am using J64 for Linux on 64 bit Ubuntu on VMWare fusion on Leopard > on a 2GB Mac Book Pro. I thought that by using J64 I would be able to > work with arrays of much larger size because the Virtual Address Space > would be larger. > > But I get this: > #i.2^24 > 16777216 > #i.2^30 > |out of memory > | # i.2^30 > > When I try to use mapped files... > require 'jmf files dir' > NB. This works > size =. 65536 > bigfn =. jpath '~temp\big.jmf' > createjmf_jmf_ bigfn;(size) > map_jmf_ 'bigvar';bigfn > bigfun =: i.size > unmap_jmf_ 'bigvar' > > NB. This does not work, but I cannot see why since 65536=2^16 > size =. 2^16 > bigfn =. jpath '~temp\big.jmf' > createjmf_jmf_ bigfn;(size) > map_jmf_ 'bigvar';bigfn > bigfun =: i.size > unmap_jmf_ 'bigvar' > > NB. When I try to make a really big mapped file, I get an error. but I > thought the VAS on J64 was 2^64? > NB. This only tries to make a 2GB mapped file (only 2^32) but does not work. > size =. 2147483648 > bigfn =. jpath '~temp\big.jmf' > createjmf_jmf_ bigfn;(size) > map_jmf_ 'bigvar';bigfn > bigfun =: i.size > unmap_jmf_ 'bigvar' > > NB. the error is: > map_jmf_ 'bigvar';bigfn > |bad jmf header: assert > | 'bad jmf header' assert 0[free fh,mh,fad > > Have I just completely missed the point of 64-bit VAS? Should I be > able to create size 2^32 byte mapped files using J64? When a command > results in "out of memory", does that mean it is out of RAM or out of > VAS? My edit->configure->parameters->memory limit is set to 2^62. Do I > need to set some other parameters in Ubuntu to allow J to use more > VAS? > > Thanks, > Matthew. > > 2008/11/15 Matthew Brand : > > Thanks for the help guys. I think the problem is that VirtualBox does > > not support 64 bit guests on the Mac yet. Let's hope they sort it out > > soon? > > > > I have installed a trial copy of VMWare fusion and have managed to get > > J64 working on ubuntu. Hooray! :-). > > > > Issues I ran into, in case anyone else tries it this way: > > > > 1) The macBook Pro keyboard is not properly recognised, so I did the > > things advised on this page > > http://ubuntuforums.org/showthread.php?t=959249 . > > > > I installed xkbset: > > > > sudo apt-get install xkbset > > > > and appended the following to .bashrc: > > > > xmodmap -e "keycode 94 = grave asciitilde" > > xmodmap -e "keycode 133 = ISO_Level3_Shift" > > xmodmap -e "keycode 134 = Multi_key" > > xmodmap -e "keycode 108 = Pointer_Button3" > > xkbset m > > > > > > 2) java64 had to be created: > > sudo ln /usr/bin/java /usr/bin/java64 > > > > 64-bit jconsole and jwd work for me now start for me now. If I don't > > run into any problems then I will buy a copy of VMWare fusion when the > > trial runs out. It is pretty slick and only costs ~£50. > > > > Cheers, > > Matthew. > > > > 2008/11/15 bill lam : > >> On Fri, 14 Nov 2008, Matthew Brand wrote: > >>> I have managed to get Damn Small Linux (DSL) working, but it complains > >>> that the Jconsole binary cannot be executed. I tried to install Java > >>> on it, but gave up after an hour. Then I installed Arch Linux 64, but > >>> could not get it to connect to the internet. Ubuntu complains that the > >>> kernel is for x86 rather than i686 so that does not work, I cannot > >>> find an Ubuntu which has got the i686 kernel. > >> > >> virtualbox only started to support 64-bit guest recently. My > >> experience is that it works but not very well. DSL uses a rather > >> outdated kernel 2.24 iirc. Arch Linux is meant for hackers, its > >> installation stops after setting up enough to allow to you login a tty > >> console. You have to manually set up various conf files yourself. I > >> guess that ubuntu said it needs a "x86_64" which means a 64-bit cpu > >> rather than "i686" (32-bit). So did you actually install a 64-bit > >> version of virtualbox on a 64-bit os running on a 64-bit cpu? > >> > >>> What is involved in making a 64 bit J64 bit binary for the Mac anyway? > >>> Is it possible to just put the source code onto a 64 bit mac and press > >>> compile/build to make a dmg file and upload it to the download page > >>> for J? > >> > >> Might be Eric did not get a macbook with 64-bit os to play with, or > >> you might contact [EMAIL PROTECTED] as mentioned in the download > >> page. > >> > >> -- > >> regards, > >> ==================================================== > >> GPG key 1024D/4434BAB3 2008-08-24 > >> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > >> 唐詩105 杜甫 月夜 > >> 今夜鄜州月 閨中只獨看 遙憐小兒女 未解憶長安 > >> 香霧雲鬟濕 清輝玉臂寒 何時倚虛幌 雙照淚痕乾 > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
