Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Memory limit: (8 Items)
   
Memory limit  
I read some QNX6 x86 can handle more then 4G of ram ( but each process being limited to 3.? gig of virtual memory.

I install 4Gig of ram in a machine but it only seems to have detected 3.326Meg, and photon system monitor shows a wave 
on the memory bar.

Anything special that needs to be done to see all the ram.
Re: Memory limit  
I think you need to add -x to startup-bios

Mario Charest wrote:
>
> I read some QNX6 x86 can handle more then 4G of ram ( but each process 
> being limited to 3.? gig of virtual memory.
>
> I install 4Gig of ram in a machine but it only seems to have detected 
> 3.326Meg, and photon system monitor shows a wave on the memory bar.
>
> Anything special that needs to be done to see all the ram.
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post2332
>

-- 
cburgess@qnx.com

Re: Memory limit  
The System information shelf plug-in doesn't display memory bar correctly if you have more than 2GB of memory. It is 
already fixed, and will be available in the next release.
Re: Memory limit  
> I think you need to add -x to startup-bios

Oh!  The doc says -x is needed to go over 4G, which is why I didn't though  that was the solution to my problem ( i'm 
using 4G ).

I'll give it a try ( have to wait after 5pm cause the computer is being used)

> 
> Mario Charest wrote:
> >
> > I read some QNX6 x86 can handle more then 4G of ram ( but each process 
> > being limited to 3.? gig of virtual memory.
> >
> > I install 4Gig of ram in a machine but it only seems to have detected 
> > 3.326Meg, and photon system monitor shows a wave on the memory bar.
> >
> > Anything special that needs to be done to see all the ram.
> >
> > _______________________________________________
> > OSTech
> > http://community.qnx.com/sf/go/post2332
> >
> 
> -- 
> cburgess@qnx.com
> 


Re: Memory limit  
Oh I didn't read your post right - I would think you should be able to 
see it all then.  Something else must be funky.
Do a pidin syspage=asinfo and you should see all the memory regions that 
startup filled in.

Mario Charest wrote:
>
> > I think you need to add -x to startup-bios
>
> Oh!  The doc says -x is needed to go over 4G, which is why I didn't 
> though  that was the solution to my problem ( i'm using 4G ).
>
> I'll give it a try ( have to wait after 5pm cause the computer is 
> being used)
>
> >
> > Mario Charest wrote:
> > >
> > > I read some QNX6 x86 can handle more then 4G of ram ( but each 
> process
> > > being limited to 3.? gig of virtual memory.
> > >
> > > I install 4Gig of ram in a machine but it only seems to have detected
> > > 3.326Meg, and photon system monitor shows a wave on the memory bar.
> > >
> > > Anything special that needs to be done to see all the ram.
> > >
> > > _______________________________________________
> > > OSTech
> > > http://community.qnx.com/sf/go/post2332
> > >
> >
> > --
> > cburgess@qnx.com
> >
>
>
>
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post2336
>

-- 
cburgess@qnx.com

Re: Memory limit  
If you have a total of 4G of RAM, some of that will be  above the 4G physical address mark - it's not all  contiguous 
because some regions below 4G are  reserved for devices and the BIOS. In order to reference physical memory above the 4G
 mark, you need the -x flag.
Re: Memory limit  
> If you have a total of 4G of RAM, some of that will be  above the 4G physical 
> address mark - it's not all  contiguous because some regions below 4G are  
> reserved for devices and the BIOS. In order to reference physical memory above
>  the 4G mark, you need the -x flag.


With -x the machine doesn't boot ( no pci server ).  This is the output of pidin syspage=asinfo:


Section:asinfo offset:0x00000598 size:0x00000240

    0)                0-ffff             o:ffff a:0000 p:100 n:io
   20)                0-ffffffff         o:ffff a:0010 p:100 n:memory
   40)                0-ffffff           o:0020 a:0010 p:100 n:memory/isa
   a0)                0-9dfff            o:0040 a:0017 p:100 n:memory/isa/ram
  180)             1000-cfff             o:00a0 a:0007 p:100 n:memory/isa/ram/sysram
  1a0)            22028-9dfff            o:00a0 a:0007 p:100 n:memory/isa/ram/sysram
   c0)           100000-ffffff           o:0040 a:0037 p:100 n:memory/isa/ram
  1c0)           100000-40e507           o:00c0 a:0007 p:100 n:memory/isa/ram/sysram
  1e0)           681ae0-ffffff           o:00c0 a:0027 p:100 n:memory/isa/ram/sysram
   60)          6000000-ffefffff         o:0020 a:0013 p:100 n:memory/device
  100)          6000000-cfe7ffff         o:0060 a:0017 p:100 n:memory/device/ram
  220)          6000000-cfe7ffff         o:0100 a:0007 p:100 n:memory/device/ram/sysram
   80)         fff00000-ffffffff         o:0020 a:0005 p:100 n:memory/rom
   e0)          1000000-5ffffff          o:0020 a:0037 p:100 n:memory/ram
  200)          1000000-5ffffff          o:00e0 a:0027 p:100 n:memory/ram/sysram
  120)           40e508-681adf           o:0020 a:0005 p:100 n:memory/imagefs
  140)           400400-40e507           o:0020 a:0007 p:100 n:memory/startup
  160)           40e508-681adf           o:0020 a:0007 p:100 n:memory/bootram

Suggestions?
Re: Memory limit  
OK, that sounds like PR 46872 - there were two parts to it. The first is that the rewrite of the memory manager in 6.3.2
 left out a kludge that allocated mmap()'s requesting physically contiguous memory from below 4G, since a lot of drivers
 didn't handle their device buffers being above the 4G line. We had to add the kludge back in :-(. The second was a 
change in the PCI server where it had to restrict something to below 4G as well (not sure what). The fixes are in the 
code, but I'm not sure if a patch ever got issued.  

You can pick up the first part of the fix by compiling the source from the svn repository (look for the word "kludge" in
 the services/system/memmgr/mm_memobj.c file if you want to see the piece of code that got added back in). That might be
 enough to get you going.