Solaris 10 resource controls - /etc/system vs /etc/projects

Can someone please explain to me why, if we set the set the max shared memory segment in the /etc/system file using 'set shmsys:shminfo_shmmax=4294967296' we are seeing 800GB instead of 4GB when running 'prctl -n project.max-shm-memory':
/etc/system:
* Oracle 10.2.0 parameters
set shmsys:shminfo_shmmax = 4294967295
set shmsys:shminfo_shmmin = 1
set shmsys:shminfo_shmmni = 200
set shmsys:shminfo_shmseg = 20
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmsl = 260
set semsys:seminfo_semmns = 1024
set semsys:seminfo_semopm = 100
set semsys:seminfo_semvmx = 32767
set rstchown = 0
* Setting in for Oracle 10 upgrade
set noexec_user_stack = 1
With /etc/system populated running prctl produces:
# /bin/prctl -n project.max-shm-memory -i process $$
process: 3428: sh
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 800GB - deny -
What is setting the maximum size for a shared segment to 800GB when using the /etc/system file to set the parameter?
If we remove the settings from /etc/system and use the normal default projects settings we get 1/4 of the physical memory, which is what we would expect to see.
Please note we will be using projects to control resources - I am just curious as to the effect of the /etc/system [set shmsys:shminfo_shmmax=4294967296] setting above

I have since found the answer - the 800GB is coming from shminfo_shmmax multiplied by shminfo_shmmni. This has been confirmed on another system with different values.

Similar Messages

  • Shminfo_shmmax in /etc/system does not match  project.max-shm-memory

    If I specified 'shminfo_shmmax' in /etc/system and hava the system default in /etc/project(no change is made), the size of 'project.max-shm-memory' is 10 times larger than 'shminfo_shmmax'.
    #more /etc/system // (16MB)
    set shmsys:shminfo_shmmax=16000000
    #prctl -n "project.max-shm-memory" -i project user.root
    => will display like below.
    project: 1: user.root
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    project.max-shm-memory
    privileged 1.49GB - deny -
    system 16.0EB max deny
    1.49GB is 10 times larger than 'SHMMAX'. If I add more entries /etc/system like below, max_shm_memory will become even larger.
    #more /etc/system
    set shmsys:shminfo_shmmax=16000000
    set semsys:seminfo_semmni=2000
    set shmsys:shminfo_shmmni=2000
    set msgsys:msginfo_msgmni=2048
    After I reboot with the above /etc/system and no change /etc/project(all default, no values added)
    # prctl -n "project.max-shm-memory" -i project user.root
    project: 1: user.root
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    project.max-shm-memory
    privileged 29.8GB - deny -
    system 16.0EB max deny -
    Can anyone shed light about this area how to configure SHMAX in /etc/system right?

    We saw similar behavior and opened a case with Sun.
    The problem turns out to be that the (deprecated) /etc/system to (new) project resource limits isn't always one-to-one.
    For example process.max-shm-memory gets set to shmsys:shminfo_shmmax * shmsys:shminfo_shmmni.
    The logic here is that under the /etc/system tunings you might have wanted the maximum number of segments of the maximum size so the system has to be able to handle that. Make sense to some degree. I think Sun updated one of their info docs on the process at the end of our case to make this clearer.

  • Finding the resource controls of a given project

    Currently, one can use "*prctl*" to list resource control limits of a given project. However, to gather the statistics of the usage by all processes associated with a given project in relation to these resource control limits, we would need to execute multiple commands/utilities.
    For some, information outputs can be direct, yet for others, outputs can be indirect. Even then it is not guaranteed that all statistics are collected.
    I thought of developing a command/utility acting like "sar" or "vmstat" that gathers statistics on usage of all resource controls for a given project.
    Could you please drop in your suggestions on the features such a command should have ?
    Thanks

    Do you know how to find the minimum value of a collection? You will want to do the same here but search for the minimum difference instead of the minimum value. Math.abs() will help deal will negative differences.

  • Installing Oracle 9i on Solaris 10 SPARC,  /etc/system vs. projects

    Can anyone verify that the kernel tuning parameters that used to be set in /etc/system on Solaris 8 have any effect in Solaris 10? All the documentation I can find suggests that most (if not all) of these settings have been marked obsolete or removed in Solaris 10. It is my understanding that these settings (such as shared memory) need to be set by means of a project. If we are running with no project setup in Solaris 10 are we pretty much running "untuned" ? Thanks
    Some links...
    New or change parameters in Solaris 10
    http://docs.sun.com/app/docs/doc/817-0404/appendixb-16?a=view
    Solaris Tunable Parameters manual
    http://dlc.sun.com/pdf/817-0404/817-0404.pdf

    We have carried over the following parameters from /etc/system on our old Solaris 8 DB servers. We just want to know if these settings are having any effect. We are currently seeing some performance issues on T5220's with 32GB RAM (old DB servers were SunFire 4800's).
    shmsys:shminfo_shmmax obsolete as of Solaris 10
    shmsys:shminfo_shmseg removed in Solaris 10
    shmsys:shminfo_shmmin removed in Solaris 10
    shmsys:shminfo_shmmni obsolete as of Solaris 10
    semsys:seminfo_semmns removed in Solaris 10
    semsys:seminfo_semmni obsolete as of Solaris 10
    semsys:seminfo_semmsl obsolete as of Solaris 10
    semsys:seminfo_semopm obsolete as of Solaris 10
    semsys:seminfo_semvmx removed in Solaris 10
    rlim_fd_max=8096 In the Solaris 8 version, the default is 1024. In later Solaris releases, the default is 65,536
    rlim_fd_cur=1024 Still supported
    noexec_user_stack Still supported
    Actual /etc/system settings...
    set shmsys:shminfo_shmmax=31457280000
    set shmsys:shminfo_shmseg=16
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=128
    set semsys:seminfo_semmns=11000
    set semsys:seminfo_semmni=0x402
    set semsys:seminfo_semmsl=4096
    set semsys:seminfo_semopm=100
    set semsys:seminfo_semvmx=32767
    set rlim_fd_max=8096
    set rlim_fd_cur=1024
    set noexec_user_stack=1
    Edited by: [email protected] on Mar 6, 2009 12:25 PM

  • Installing VM SPARC 3.1.1 on T4-4 swith Solaris 5.10 update 11 (1/13) -  not having /etc/system updated with values - is this a manual update?

    Installing Oracle VM SPARC 3.1.1 on T4-4 swith Solaris 5.10 update 11 (1/13) -  not having /etc/system updated with values - is this a manual update or is there required patch?
    for /etc/system /etc/project for primary/control ldom and all guest ldoms, is there any patch that shold be installed to set memory settings when standing up guest-ldoms or the primary
    /controller ldom?  Running 8.6.0.b ILOM.
    On another system finding shmsys, hires_tick, semsys and a few exclude settings in /etc/system file for ldoms on another T4-4 running 8.5.0.c ILOM.  
    Hopefully I've just missed a patch.
    - JC

    /etc/system is by default "empty" and contents only commented parameters or instructions.
    And patches will not change this file. The shmsys, hires_tick, semsys and the other settings including /etc/project customizations that you have in the other machine was set manually or added during softwares configuration.

  • How to confirm changes to /etc/system on Solaris 9?

    Hi: I added the following lines to the /etc/system and rebooted the machine.
    set msgsys:msginfo_msgmnb=1073741824
    set msgsys:msginfo_msgmax=65536
    set msgsys:msginfo_msgtql=10000000
    Anybody know a command on solaris 9 that will show these changes have taken into effect?
    Thanks
    Ravi

    thanks.
    ipcs -b does work
    Hmm, can you see them with ipcs?
    7/M.

  • Sd/ssd max throttle in solaris 10 etc/system

    Guru!
    I need to add any of following lines to /etc/system file
    for my new Hitachi storage (attached to the Soalris10 Box)
    setsd: sd_max_throttle = 16mm
    setssd:ssd_max_throttle =16
    I want to know the difference between them and also how can I make sure that the parameter is added/active....?
    Owais Hyder.

    Hi.
    Be carefull when edit /etc/system
    Correct:
    set sd: sd_max_throttle = 16
    set ssd:ssd_max_throttle =16
    Reboot require for applay changes.
    For check current value:
    echo "sd_max_throttle /U" |mdb -k
    Docs:
    http://docs.oracle.com/cd/E26505_01/pdf/E37386.pdf
    ssd_max_throttle and sd_max_throttle parameters
    define the maximum number of concurrent I/Os that the driver can send to the storage.
    ssd - driver for FC disk
    sd - driver for generic SCSI disk
    Regards.

  • Resource Controls on Oracle Systems

    The normal resource controls for the oracle user are pretty straight forward -- per the Oracle documentation even though it is hugely Solaris 10 deficient. (we are deploying on solaris 10 u8)
    We are deploying a new data center with 2 and 3-node SFRAC clusters and we have an onsite Sun prof. services person that claims we also need to limit the user.root and default projects in the following manner (systems have 64gb memory):
    projmod -sK "project.max-shm-memory=(priv,6GB,deny)" user.root
    projmod -sK "project.max-sem-nsems=(priv,256,deny)" user.root
    projmod -sK "project.max-sem-ids=(priv,100,deny)" user.root
    projmod -sK "project.max-shm-ids=(priv,100,deny)" user.root
    projmod -sK "project.max-shm-memory=(priv,6GB,deny)" default
    projmod -sK "project.max-sem-nsems=(priv,256,deny)" default
    projmod -sK "project.max-sem-ids=(priv,100,deny)" default
    projmod -sK "project.max-shm-ids=(priv,100,deny)" default
    Has anyone see this done anywhere? Even when I was working at oracle on some of the largest oracle databases in existence I never saw such settings being deployed on Solaris 10.
    Can anyone point me to any hard documentation or similar resource?
    Much thanks,
    CC
    Edited by: rhugga1 on Jan 21, 2010 7:10 AM

    Yes the oracle documentation is wrong. I know how to set the oracle parameters.. As my OP states I was inquiring about limits set on the user.root and default projects
    Since Solaris 10 update 4, these oracle kernel parameters ARE IGNORED COMPLETELY when set in /etc/system (not to mention some are deprecated) You can easily do an empirical test of this yourself since there is so much conflicting documentation out there, including some of Sun's docs.
    Solaris 10 update 4 and later method:
    projadd -c "Oracle" 'user.oracle'
    projmod -s -K "process.max-file-descriptor=(priv,1024,deny)" 'user.oracle'
    projmod -s -K "project.max-shm-memory=(privileged,25769803770,deny)" 'user.oracle'
    projmod -s -K "project.max-shm-ids=(privileged,1024,deny)" 'user.oracle'
    projmod -s -K "project.max-sem-ids=(privileged,1024,deny)" 'user.oracle'
    projmod -s -K "process.max-sem-nsems=(privileged,1024,deny)" 'user.oracle'
    But back to the OT, I've been told there are root project tweaks that don't really make sense to me and I've yet to find any viable documentation supporting this guys claim.
    -CC

  • Solaris 10 Resource Control

    When utilizing Solaris 10 Resource Control, should one use "user.root", "user.oracle" or "oracle" for the project identifier? Does it really make a difference?
    For example,
    I. projadd -U oracle -K "project.max-shm-memory=(priv,2048MB,deny)" user.oracle
    II. projadd -U oracle -K "project.max-shm-memory=(priv,2048MB,deny)" user.root
    III. projadd -U oracle -K "project.max-shm-memory=(priv,2048MB,deny)" oracle
    I realize the Oracle Install documentation indicates "user.root", but I've seen other indications of either "user.oracle" or "oracle".

    thanks buddy. I was in this same tricky situation. and ur post solved my prblem.
    Is this a bug with solaris 10.
    Later i discovered.. on Oracle documentation that.. there r sum parameters that needed to be taken care while pre-installation of Oracle binaries.
    Here is the excerpts.
    The Oracle installer recognizes kernel parameters set using this method, but it is now deprecated in favour of resource control projects, explained below.
    As the root user, issue the following command.
    projadd oracle
    Append the following line to the "/etc/user_attr" file.
    oracle::::project=oracle
    If you've performed a default installation, it is likely that the only kernel parameter you need to alter is "max-shm-memory". To check the current value issue the following command.
    # prctl -n project.max-shm-memory -i project oracle
    project: 100: oracle
    NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
    project.max-shm-memory
            privileged       254MB      -   deny
            system          16.0EB    max   deny     
    To reset this value, make sure at least one session is logged in as the oracle user, then from the root user issue the following commands.
    # prctl -n project.max-shm-memory -v 4gb -r -i project oracle
    # projmod -s -K "project.max-shm-memory=(priv,4gb,deny)" oracle
    The first dynamically resets the value, while the second makes changes to the "/etc/project" file so the value is persistent between reboots.
    # cat /etc/project
    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::
    oracle:100::::project.max-shm-memory=(priv,4294967296,deny)
    The Oracle installer seems incapable of recognising kernel parameter set using resource control projects, but if you ignore the warnings the installation completes successfully.Even this method works.
    Regards
    Monu Koshy

  • Resource control assignment failed for project

    I've setup a new project (we run sap), and keep getting the following msg
    pam_unix_cred: project.max-sem-ids resource control assignment failed for
    project "PAB"
    I know you can get this sort of msg if you have wrong syntax in your project, but it all looks well to me. Any ideas gratefully received. cheers Lou
    /etc/project >
    PAB:1000:SAP System PAB:orapab,pabadm::
    process.max-sem-nsems=(priv,2048,deny);project.max-sem-ids=(priv,1024,deny);project.max-shm-i
    ds=(priv,256,deny);project.max-shm-memory=(priv,18446744073709551615,deny)

    Hi
    The original entries were created with projadd.
    I've just done a projdel and another projadd (as below) and watching out for error msgs - will post again when I get the error msgs - cheers Lou
    root@sappab # projadd -p 1000 -c "SAP System PAB" -U pabadm,orapab \
    root@sappab > -K "project.max-sem-ids=(priv,1024,deny)" \
    root@sappab > -K "process.max-sem-nsems=(priv,2048,deny)" \
    root@sappab > -K "project.max-shm-ids=(priv,256,deny)" \
    root@sappab > -K "project.max-shm-memory=(priv,18446744073709551615,deny)" \
    root@sappab > PAB
    root@sappab # more /etc/project
    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::
    PAB:1000:SAP System PAB:orapab,pabadm::process.max-sem-nsems=(priv,2048,deny);project.max-sem-ids=(priv,1024,deny);project.max-shm-i
    ds=(priv,256,deny);project.max-shm-memory=(priv,18446744073709551615,deny)

  • Solaris 10 zones - Resource Controls not persisting through reboot

    Local zone was rebooted, but somehow the resource controls are not well configured and the oracle database did not start up.
    The cat /etc/project shows this : The local zone has 10 gb. The oracle database was started manually with the startdb.sh, which conn /assysdba and issue a startup, adn also startups the listener.
    cat /etc/project
    system:0::::project.max-shm-memory=(privileged,8589934000,deny)
    user.root:1::::project.max-shm-memory=(privileged,8589934000,deny)
    noproject:2::::
    default:3::::project.max-shm-memory=(privileged,6442450944,deny)
    group.staff:10::::
    user.oracle:100::oracle::project.max-shm-memory=(privileged,8589934000,deny)
    group.dba:101::::project.max-sem-ids=(privileged,100,deny);project.max-shm-ids=(
    privileged,100,deny);project.max-shm-memory=(privileged,6442450944,deny)

    Nikolay, thank you for your reply.
    What I know is that the zone was rebooted saturday. sunady at 1:00 am the oracle database (I'am a Dba not sysadmin), perform coldbackup (veritas.) then Veritas call a unix script to starts the database.
    I run the script to starts the database manually sunday. Veritas could not open the database because of the Out of Memory.
    The box has 10 gb , the oracle user, the rot and system are configured to use 8 gb, the rest are configured to use less.
    I'am oracle user.
    id -p
    uid=100(oracle) gid=100(dba) projid=100(user.oracle)
    prctl -i process $$
    process: 8928: -ksh
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    process.max-port-events
    privileged 65.5K - deny -
    system 2.15G max deny -
    process.max-msg-messages
    privileged 8.19K - deny -
    system 4.29G max deny -
    process.max-msg-qbytes
    privileged 64.0KB - deny -
    system 16.0EB max deny -
    process.max-sem-ops
    privileged 512 - deny -
    system 2.15G max deny -
    process.max-sem-nsems
    privileged 512 - deny -
    system 32.8K max deny -
    process.max-address-space
    privileged 16.0EB max deny -
    system 16.0EB max deny -
    process.max-file-descriptor
    basic 256 - deny 8928
    privileged 65.5K - deny -
    system 2.15G max deny -
    process.max-core-size
    privileged 8.00EB max deny -
    system 8.00EB max deny -
    process.max-stack-size
    basic 8.00MB - deny 8928
    privileged 8.00EB - deny -
    system 8.00EB max deny -
    process.max-data-size
    privileged 16.0EB max deny -
    system 16.0EB max deny -
    process.max-file-size
    privileged 8.00EB max deny,signal=XFSZ -
    system 8.00EB max deny -
    process.max-cpu-time
    privileged 18.4Es inf signal=XCPU -
    system 18.4Es inf none -
    task.max-cpu-time
    system 18.4Es inf none -
    task.max-lwps
    system 2.15G max deny -
    project.max-contracts
    privileged 10.0K - deny -
    project.max-device-locked-memory
    privileged 987MB - deny -
    project.max-locked-memory
    system 16.0EB max deny -
    project.max-port-ids
    privileged 8.19K - deny -
    project.max-shm-memory
    privileged 8.00GB - deny -
    project.max-shm-ids
    privileged 128 - deny -
    project.max-msg-ids
    privileged 128 - deny -
    project.max-sem-ids
    privileged 128 - deny -
    project.max-crypto-memory
    privileged 3.85GB - deny -
    project.max-tasks
    system 2.15G max deny -
    project.max-lwps
    system 2.15G max deny -
    project.cpu-cap
    system 4.29G inf deny -
    project.cpu-shares
    privileged 1 - none -
    zone.max-swap
    privileged 20.0GB - deny -
    zone.max-locked-memory
    system 16.0EB max deny -
    zone.max-shm-memory
    system 16.0EB max deny -
    zone.max-shm-ids
    system 16.8M max deny -
    zone.max-sem-ids
    system 16.8M max deny -
    zone.max-msg-ids
    system 16.8M max deny -
    zone.max-lwps
    system 2.15G max deny -
    zone.cpu-cap
    system 4.29G inf deny -
    zone.cpu-shares
    privileged 1 - none -
    Print configured reso
    urce control
    ksh: Print: not found

  • /etc/system file

    How do I set a limit for a per process data size in the /etc/system file?
    Thank you.
    coscop

    Coscop,
    You can't. The only limit you could set via /etc/system is
    file descriptor limits (rlim_fd_cur & rlim_fd_max). ie.:
    set rlim_fd_max = 4096
    The rest, including the process heap segment, needs
    to be set via shell (like in the .profile). Later version of
    Solaris has the plimit command which allows to set the limit
    on the running PID. Solaris Resource Manager was developed
    around the Solaris 8 release time frame, I don't believe
    it has a way to limit the heap segment per prccess either.
    Hope this helps.
    hae

  • Audio driver fails to initialize when hires_tick=1 in /etc/system

    Running Solaris 9 on Ultra 25 hardware. A customer's application requires hires_tick=1 be set in /etc/system. Once this change is made, audio does not work. Here is the error message from /var/adm/messages
    Nov 1 12:34:11 <hostname> audiosup: [ID 384451 kern.warning] WARNING: audio15750: failure to power up the AC97 Codec
    Nov 1 12:34:11 <hostname> audiosup: [ID 472426 kern.warning] WARNING: audio15750: attach() failure to init chip
    There is a bug report on this: http://sunsolve.sun.com/search/document.do?assetkey=1-1-6567521-1
    However, there does not appear to be a patch or other workaround aside from not setting hires_tick=1. That is not an option in this case.
    Any thoughts?
    Thanks,
    Adam McManus

    Running Solaris 9 on Ultra 25 hardware. A customer's application requires hires_tick=1 be set in /etc/system. Once this change is made, audio does not work. Here is the error message from /var/adm/messages
    Nov 1 12:34:11 <hostname> audiosup: [ID 384451 kern.warning] WARNING: audio15750: failure to power up the AC97 Codec
    Nov 1 12:34:11 <hostname> audiosup: [ID 472426 kern.warning] WARNING: audio15750: attach() failure to init chip
    There is a bug report on this: http://sunsolve.sun.com/search/document.do?assetkey=1-1-6567521-1
    However, there does not appear to be a patch or other workaround aside from not setting hires_tick=1. That is not an option in this case.
    Any thoughts?
    Thanks,
    Adam McManus

  • Problem with /etc/system file

    I changed /etc/system file and reboot Sun Solaris Intel (5.8)
    and I got :
    * IPC Semaphores module is not loaded
    I did same thing on another box before and was fine. I now that I run some utility before rebooting, but I forget which one.
    Can somebody help me.

    Thank you very much.
    That solve my problem. The problem, if I undersend well, was not in my new /etc/system file, problem was (it is not problem) because I run sysdef right after booting machine and that modul probably is not loaded yet. With forceload sysdef shows what I expected. About
    some utility, probably that was something else.
    Regards,
    Ivan Aksentijevic

  • Shmmax in /etc/system

    Hi All,
    we have a server of 8GB RAM , what can be maximum value I can assign for shmmax in /etc/system ..can i assign complete 8GB of RAM.
    And what can be maximum sga_target that I can assign to a database in solaris..
    In linux I know that to have a SGA of more than 2 Gb we assign hugepage memory.. In solaris what is the max limit for the SGA...
    Please give me reply ASAP
    Thanks in Advance...

    you can set shmsys:shminfo_shmmax=8589934591
    It has no effect other than allocating contiguous memory for a process. In your case since you are going to have 4 Dbs and you have 8 GB of physical memory, may be you can have SGA of each DB as 1.5 GB, but as Hans suggested earlier you should look at tuning manual to estimate, how much PGA your processes will take. Also you should take into account what will be going on in these 4 DBs i.e. how much activities will be there in these and allocate SGA accordingly. Allocating SGA of 1.5 GB to each without consideration to activities may not be good thing to do.

Maybe you are looking for

  • Ken burns limitation

    I am organizing a slideshow with iMovie importing photos form iPhoto. When I try to decide about Ken Burns effect: 1. are the frames fixed in height to width ratio to the choice of the screen or can it be set to a free format by some option? 2. Is re

  • Getting user name, date and time into 1 field

    Hi All, I have to add a new field in a customising include of AUFK table. This field should have user name, date and time. How do I store all these values in a single field of the table? Please help.

  • Delay not processing in new db

    Hi, Running 10.204 We have several application queues (i.e. built by developers without involving the dba) that were working fine. We created a new database and imported the schemas containing the ques. Two of the three queues are working fine. But o

  • UCCX Real time Reporting - Engine Tasks not clearing

    I've got a couple of VERY basic test scripts that I wrote for testing session management from one script to the next.  I finally got the scripts to work, but I've been getting this error message when the first script completes (after the call is tran

  • IChat Buggy not loading

    Hello there. These past two days my iChat has not been working. About a year ago I installed a program called iChat Pro that modified my iChat to look different. It worked fine and such but two days ago I decided to reinstall iChat from the Snow Leop