Running SAP on Solaris 10 in a global or local zone: Checking resource control settings

Changing and setting OS or process parameters for an SAP system on Solaris has never been easier and more flexible than with Solaris 10: Instead of having to reboot your server after changing OS parameters in file /etc/system, just set up projects, assign users to those projects, and (re)start the processes for these users. Or even change the settings for running processes!

Here's how it all works: According to SAP note 724713 and Sun Info Doc 88934, four resource controls have to be set for SAP systems running on Solaris 10 (instead of more than 10 for previous Solaris releases). Only one parameter has to remain in /etc/system:

set rlim_fd_cur=8192

Next step is to decide what you want to use your projects for: Do you want to set limits for your database and your application instance(s) separately? Do you want to configure processor sets for each of your projects? Or do you want to limit usage of physical memory per project?

You can find explanations and examples for all of the above in the System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.

Let's assume you would like to do a quick start and just use the simplest possible configuration (one project for database and SAP application instance), and let's assume your SAP system has the id "DEV". Then, the following commands would set your resource controls appropriately:

$ projadd -p 101 -c "SAP System DEV" -U devadm,oradev \\
          -K "project.max-sem-ids=(priv,1024,deny)" \\
          -K "process.max-sem-nsems=(priv,2048,deny)" \\
          -K "project.max-shm-ids=(priv,256,deny)" \\
          -K "project.max-shm-memory=(priv,18446744073709551615,deny)" \\
          DEV
Next step is to add those two users to your /etc/user_attr file so that they get a default project assigned:

$ ksh
(no need to switch to ksh if you like the "wrong apostrophes" better than $(<command>) ;-) )
$ cp -pi /etc/user_attr /etc/user_attr.$(date +%Y%m%d-%H%M%S)
(Backing up or printing system configuration files before changing them manually is always a good idea)
$ cat >> /etc/user_attr
devadm::::project=DEV
oradev::::project=DEV
<ctrl>d

Done. Now check if the settings are OK:

$ projects -d devadm
DEV
$ projects -l $(projects -d devadm)
DEV
        projid : 101
        comment: "SAP System DEV"
        users  : devadm
                 oradev
        groups : (none)
        attribs: process.max-sem-nsems=(priv,2048,deny)
                 project.max-sem-ids=(priv,1024,deny)
                 project.max-shm-ids=(priv,256,deny)
                 project.max-shm-memory=(priv,18446744073709551615,deny)

Everything's fine, so now you can start your SAP installation! (Before you ask: I always add the required groups and users by using groupadd and useradd before starting the SAP installer.)

Comments:

We are running in a shared servers environment for our many SAP applications such as: ERP 2005 SRM 2004 NW2004s BI / EP / PI The development/test environment share the following 4 SUN servers: The database server (F15K) runs all of the above Oracle databases, 8 databases in total. The Central Instance server (T2000) runs all the CI's for the above applications: DEV DSR DPI DBI QAP QAS QSR QPI QPO. The Application Servers (2 X V440) run the applications instances for all of the instances listed in CI. To set the correct Solaris /etc/system parameter, from the documentation we only need to set rlim_fd_cur=8192 We are not running in a zoned Solaris 10 environment. Do we need to set a project for each SAP DB & SAP instance? what guidelines for the project attributes should we follow?

Posted by Cheryl Siebert on June 07, 2007 at 06:22 PM CEST #

Cheryl, I did not get notified of your comment, so I just read it today. Regarding your questions, there are several possibilities: You could: 1) configure just one project. 2) configure one project for the databases and one project for the SAP instances 3) configure separate projects for each of your SAP systems 4) configure separate projects for each of your databases and also for each of your SAP instances. The project settings should be taken from SAP note 724713. I cannot give general recommendations for the distribution of applications to the projects as the optimal solution for your environment depends on several factors, such as: - do you want to use the Fair Share Scheduler to gain fine control over the resource consumption of all your SAP systems? - do you want simple administration? I suggest that you contact your Sun account team for further questions. Regards, Bernd

Posted by Bernd Finger on June 21, 2007 at 06:00 AM CEST #

Just wondering why you're setting shared memory max to 18 trillion GB? Is that valid?

Posted by Steve on May 12, 2008 at 06:40 PM CEST #

(Happened to notice the unanswered question from Steve and thought I'd oblige): this value is the largest (decimal) value that can be stored in a 64-bit address space (equivalent to 0xFFFFFFFFFFFFFFFF in hex); used as the default to essentially allow your physical/available RAM capacity to become the constraint.

Posted by Scott Livezey on November 05, 2009 at 02:04 PM CET #

PAGE Is a Little bit out dated see latest SAP NOTES 724713

It is no longer required to set parameter rlim_fd_cur in /etc/system

Resource control process.max-file-descriptor can be used to set the soft
limit for the maximum number of open files per process

Posted by Wim De Preter on November 12, 2010 at 02:36 AM CET #

Post a Comment:
  • HTML Syntax: NOT allowed
About

blogfinger

Search

Archives
« June 2015
SunMonTueWedThuFriSat
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today