Welcome to the new Linux Foundation Forum!

Max Kernel.SHMMAX in SUSE10(32Bit) ?

Hi All B) ,

I am working on SUSE10(32 bit). I am trying to increase my kernel.shmmax. Max i am able to set is only 4GB. Even I set more than 4GB the system doesnt accept it !!! Is the maximum SHMMAX we can set is 4GB ? or Do we have any other way to set ?

I tried the follwing steps.

vi /etc/sysctl.conf

kernel.shmmax=8589934591( Edited to 8 GB )

/sbin/sysctl -p ( to reflect the changes in SHMMAX)

cat /proc/sys/kernel/shmmax

4294967295 ( still it shows 4GB ) :(

can any one support me on this ?

Thanks in Advance

Arun

Comments

  • Since you have a 32-bit system, 4GB is the maximum value you can set...
  • mfillpotmfillpot Posts: 2,180
    I think Pavol is correct in this case, to enable a 32-bit distro to see beyond 4GB of RAM you need to verify that your kernel has HIGHMEM set, your CPU supports PAE and that your motherboard/BIOS is configured to support PAE.

    You can verify you kernel settings by running the command "less /proc/config.gz|grep -i highmem"
    To verify if you mobo and cpu support PAE you can check the output of "dmidecode -t bios" and "dmidecode -t processor".

    Most modern distros ship their kernels with HIGHMEM4G on, but in most cases the non-server 32-bit motherboards and bios do not support PAE.
  • Max i am able to set is only 4GB
    i thought that that 4 would be
    4 gig - ( minus) 1 bit

    and with the pae installed 4gig-1 is the MAX that 32 bit can use

    have you talked to your novell rep seeing as you need to be paying them for support for SELS or SELD 10
    or is this OpenSUSE10 ( opensuse 11.2 and 3 are supported )
  • benben Posts: 135
    HIGHMEM is the way to go,
    I did it in the past with a HP server (DL180 I guess), 6Gb installed on it and a 32bit system (in that period, I'm now using only 64bit systems on real servers with Linux). I've compiled my own kernel for it, HP systems already have PAE, don't know about your current machine (manufacturer/model ?)
  • Hi Arun, you can't allow more than 4 GB in a 32 bits system. the Max is 4GB, from which 3.4 GB are just for the use and the other 600mb is for system allocation. This is not a configuration problem is a hardware problem, if you want to use more than 4GB change your processor to a 64 bits and use a 64bits Linux Version... hope this can help you
  • mfillpotmfillpot Posts: 2,180
    adnhack wrote:
    Hi Arun, you can't allow more than 4 GB in a 32 bits system. the Max is 4GB, from which 3.4 GB are just for the use and the other 600mb is for system allocation. This is not a configuration problem is a hardware problem, if you want to use more than 4GB change your processor to a 64 bits and use a 64bits Linux Version... hope this can help you

    You are incorrect, please read my previous post on this thread to see the requirements for using more than 4G of RAM in a 32-bit system.
  • benben Posts: 135
    Wrong !
    This is not a Windows system, you may use more than 4Gb of RAM. A 32bit CPU cannot address more than 4Gb if it uses 32bit to access the memory, but if you use highmem you may address more 4Gb "Blocks". Linux has always did it.
    Older folks may remember "segment:ofsset" addressing mode when dealing with DOS for example, Linux has something like that, you're not limited by the CPU addressing space
    A 64bit OS is better but maybe there're situations where you may not switch to it

    Ben
  • Hi All,

    Thanks for your support...

    @mfillpot ,@ben
    testmachine:~ # less /proc/config.gz|grep -i highmem
    # CONFIG_NOHIGHMEM is not set
    # CONFIG_HIGHMEM4G is not set
    CONFIG_HIGHMEM64G=y
    CONFIG_HIGHMEM=y
    # CONFIG_DEBUG_HIGHMEM is not set

    dmidecode -t bios -- > no output related to PAE

    dmidecode -t processor -->
    Flags:
    PAE (Physical address extension)

    Could you please update me still i can increase the memory ? if yes how ?
  • benben Posts: 135
    Here's something from "old" linux.com site:
    http://www.linux.com/archive/feed/119287
    (I guess I've used it for information when I've enabled HIGHMEM with Gentoo when I did it the first time, 64bit server was not a viable solution for me in that moment)

    For the other guys you may read:
    http://www.linux.com/archive/feed/119287#1166482
    but also (thanks Thorsten)
    http://www.linux.com/distrocentral/distroblogs/11978-fedora-11-kernel-pae-and-what-it-means-for-your-x86-32-system

    What you're trying to do is to create what it's called a PAE kernel (as Matthew suggested)
    http://en.wikipedia.org/wiki/Physical_Address_Extension

    If you don't want to compile the kernel by yourself you may use suse kernels, according to Novell information there are packages called kernel-pae, kernel-pae-base, kernel-pae-extra (just search pae with yast)
Sign In or Register to comment.