ITPUB论坛 » Oracle ERP » PeopleSoft与JDE » 谁能share一下PSFT在SUN上的装的/etc/system


2006-8-30 23:16 降龙十八掌
谁能share一下PSFT在SUN上的装的/etc/system

在创建domain时, tuxedo遇到如下错误,经研究是需要设定SEMMNU,因为服务器同时也运行其他咚咚,所以需要谨慎些。有人能share一下你这里的设置吗?

Do you wish to see the error messages in the TUXLOG.082406 file? (y/n) [n] :y

184701.V880-C!PSADMIN.11358: Begin  attempt on domain FIN88
184703.V880-C!tmadmin.11728.1.-2: TMADMIN_CAT:1330: INFO: Command: boot -A
184708.V880-C!BBL.11731.1.0: 08-24-2006: Tuxedo Version 8.1, 32-bit, Patch Level 135
184708.V880-C!BBL.11731.1.0: LIBTUX_CAT:262: INFO: Standard main starting
184710.V880-C!PSWATCHSRV.11740.1.-2: 08-24-2006: Tuxedo Version 8.1, 32-bit
184710.V880-C!PSWATCHSRV.11740.1.-2: LIBTUX_CAT:262: INFO: Standard main starting
184721.V880-C!PSAPPSRV.11741.1.0: 08-24-2006: Tuxedo Version 8.1, 32-bit
184721.V880-C!PSAPPSRV.11741.1.0: LIBTUX_CAT:262: INFO: Standard main starting
184737.V880-C!PSAPPSRV.11758.1.0: 08-24-2006: Tuxedo Version 8.1, 32-bit
184737.V880-C!PSAPPSRV.11758.1.0: LIBTUX_CAT:262: INFO: Standard main starting
184751.V880-C!PSAPPSRV.11769.1.0: 08-24-2006: Tuxedo Version 8.1, 32-bit
184751.V880-C!PSAPPSRV.11769.1.0: LIBTUX_CAT:262: INFO: Standard main starting
184801.V880-C!PSSAMSRV.11780.1.0: 08-24-2006: Tuxedo Version 8.1, 32-bit
184801.V880-C!PSSAMSRV.11780.1.0: LIBTUX_CAT:271: ERROR: System lock semop failure, key = 35064 (errno = 28)
184801.V880-C!PSSAMSRV.11780.1.0: LIBTUX_CAT:248: ERROR: System init function failed, Uunixerr = : semop: No space left on device
184801.V880-C!tmboot.11739.1.-2: 08-24-2006: Tuxedo Version 8.1, 32-bit
184801.V880-C!tmboot.11739.1.-2: CMDTUX_CAT:825: ERROR: Process PSSAMSRV at V880-C failed with /T tperrno (TPEOS - operating system error)
184801.V880-C!tmboot.11739.1.-2: tmboot: CMDTUX_CAT:827: ERROR: Fatal error encountered; initiating user error handler
184802.V880-C!tmboot.11739.1.-2: FATAL: CMDTUX_CAT:828: ERROR: Cannot create error process - fork() failed

finding

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=512
set shmsys:shminfo_shmseg=100
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=1024
set semsys:seminfo_semmns=1024
set semsys:seminfo_semopm=256
set semsys:seminfo_semvmx=32767
set noexec_user_stack=1
set noexec_user_stack_log=1


Summary:  
E-AS: LIBTUX_CAT:271: ERROR: System lock semop failure,  key = nnn 62414  
Details:  Solution 704260- E-AS: LIBTUX_CAT:271: ERROR: System lock semop failure,  key = nnn 62414

Specific To:
Unix

Issue:
Application Server boot attempt fails with error 1685:Application server initialization failure and Tuxedo log shows following error messages:

083550.pssun!PSADMIN.3506: Begin boot attempt on domain DOMAINNAME
083552.pssun!BBL.3511: 03292001: TUXEDO Version 6.5 SunOS  5.5.1 Generic_10364 0-29 sun4m sparc SUNW,SPARCstation-20.
083552.pssun!BBL.3511: LIBTUX_CAT:271: ERROR: System lock semop failure, key =  62414 (errno = 28)
083552.pssun!BBL.3511: LIBTUX_CAT:248: ERROR: System init function failed, Uunixerr = : semop: No space left on device

Solution:
The error indicates a UNIX IPC resource issue. The LIBTUX_CAT:271 message suggest that the "semop" system call is failing with a ENOSPC error ( errno = 28 ), which is reported if the limit for number of processes that can request a SEM_UNDO is exceeded. The kernel parameter that controls this is SEMMNU. Refer to your PeopleTools PeopleBooks on how to determine IPC resource requirements for your Appserver domain. If you want to take a guess try setting SEMMNU to double its current value.

2006-8-31 22:41 snowhite2000
帮你找到一些 reference, 你看看能不能用:

Summary:  
E1: CNC: KERNEL E1 8.11 UNIX kernel parameter recommendations  
Details:  SOLUTION ID: 200988035 E1 8.11 UNIX kernel parameter recommendations

ISSUE:
HP-UX and Solaris E1 kernel recommendations and explanation

SOLUTION:

Disclaimer:
This solution is written for HP-UX and Solaris systems only.  It is intended to be a reference of E1 recommendations, based upon information given in the E1 Server and Workstation Administration guide.  Your values may be different based upon the specifications (Memory/CPU) of your system, and by the software requirements of other programs that are running on your system.

Changes to these settings have the potential to impact your system, so only modify these values if you are getting resource errors in your E1 logs, or are seeing performance problems on your system.  

Prior to making system-wide changes, we strongly recommend a backup of the existing configuration.

Please consult HP or Sun documentation for further questions or clarification on the information provided in this solution.

--------------------------
General Note:

For Solaris, some machines might require an additional parameter in the /etc/system file to activate messaging and semaphore processing. After you enter the sysdef -i command, if some parameters appear with 0 (zero) values, you might need to add one or more of these parameters to the /etc/system file:

forceload: sys/msgsys

forceload: sys/semsys

forceload: sys/shmsys

------------------------------------------------------------------------------
Recommendations on Kernel settings
------------------------------------------------------------------------------

Message Queues

These definitions apply to Message Queues
Note:  Generally, the system clears queues quickly. If a problem arises, you can revise values for these parameters to rectify the situation:

mesg = 1
msgmni = 1 + jdenet_n + 2 x jdenet_k + (max number of concurrent runbatch, runube, and runprint processes)
msgtql = requirements of other software + 10 x msgmni
msgmap = msgtql + 2
msgmnb = msgseg x msgssz (E1 value of 32768 reasonable with min value = 8192)
msgmax = msgmnb (min value 1024)
msgssz = 64
msgseg = requirements of other software + 50 x msgmni

--------------------------
Semaphores

These definitions apply to semaphores:

sema = 1
semmni = 2 x each instance of E1 (default value should be sufficient)
semmap = semmni + 2
semmns = other software requirements + total of all E1 instances maxNumberOfSemaphores (default 200) in jde.ini
Example:  Single E1 instance with Oracle should be 500
semmnu = 1 + jdenet_n + jdenet_k + maximum number of runbatch processes + maximum number of runprint processes + maximum number of runube processes
semume = default system value (256)
semmsl = maxNumberOfSemaphores (or higher)

--------------------------
Shared Memory

These definitions apply to shared memory:

shmem = 1 to enable shared memory.
shmmax = default system value
shmmni = system default + other software requirements + 20 per E1 instance
shmseg = default system value

--------------------------
File Descriptors

These definitions apply to file descriptors:

nfile = system default + other software requirements + maxNetConnections in jde.ini
maxfiles / rlim_fd_cur (Solaris) = system default + other software requirements + maxNetConnections (jde.ini) + 10
Processes

--------------------------
Processes

This definition applies to processes:

maxuprc = total number of E1 processes running at a given time


------------------------------------------------------------------------------
Explanation of the various Kernel Parameters:
------------------------------------------------------------------------------
Message Queues

msgmni:
The value of msgmni represents the number of message queue identifiers. These identifiers determine the number of message queues that can exist throughout the system. In addition to the system default value and the requirements of other software, calculate what is needed for the EnterpriseOne installation (per EnterpriseOne instance). You can use these equation to estimate the number of message queues necessary for EnterpriseOne:

msgtql:
The value of msgtql represents the number of message headers. This number determines the total number of messages that can be in all the message queues at the same time. In addition to the requirements of other software, allow a value equal to 10 x msgmni for the requirements of EnterpriseOne.

msgmap:
The value for msgmap represents the number of entries in the map of free message segments. The default value of msgtql + 2 should be used. If the value of msgmap is less than the value of msgtql + 2, attempts to create a message queue or to send a message might fail.

Note. This parameter is no longer used in Solaris 8.

msgmnb:
The value of msgmnb represents the maximum number of bytes that can reside on a single message queue at the same time. You should set the value for msgmnb at only a fraction of msgseg x msgssz. For EnterpriseOne, a value of 32768 is reasonable. You can set a larger value as long as the product of msgseg x msgssz is large enough. The minimum value is 8192. Additional requirements of this parameter might increase the value of msgmnb.

msgmax:
The value of msgmax represents the maximum size, in bytes, of a single message. Do not set msgmax with a larger value than the value of msgmnb. The recommended setting is msgmax = msgmnb. The minimum value is 1024. Additional requirements of this parameter might increase the value of msgmax.

Note:  Inside the HP-UX and Solaris kernels (prior to Solaris 8), messages in message queues reside in message segments. These parameters, which do not apply to Solaris 8, determine the size and number of segments available throughout the system:

msgssz:
The value of msgssz represents the size of each message segment in bytes. For EnterpriseOne, a value of 64 is adequate for most situations.

msgseg:
The value of msgseg represents the number of message segments throughout the system. In addition to the requirements of other software, allow a value equal to 50 x the msgmni requirement for EnterpriseOne, or approximately 4096 per instance.

--------------------------
Semaphores

semmni:
The value of semmni represents the maximum number of semaphore identifiers that can exist throughout the system.

For EnterpriseOne, two identifiers exist for each instance of EnterpriseOne, so the default value supplied with the HP-UX and Solaris systems should suffice.

semmap:
The value of semmap represents the number of entries in the map of free semaphores. The default value of semmni + 2 should suffice. If you decrease the value of semmap, attempts to create a semaphore set, which occurs during JDEIPC initialization, might fail.

Note. This parameter is not used in Solaris 8.

semmns:
The value of semmns represents the maximum number of semaphores that can exist throughout the system. Each instance of EnterpriseOne allocates 200 semaphores by default. However, you can customize this value in the JDE.INI file. In the [JDEIPC] section, modify the parameter maxNumberOfSemaphores to customize the number of semaphores that an instance of EnterpriseOne allocates.

For all releases of EnterpriseOne, the EnterpriseOne requirement is in addition to the requirements of other software. A good starting point for a typical EnterpriseOne installation (single instance) with Oracle should be 500.

semmnu:
The value of semmnu represents the maximum number of semaphore undo structures for the entire system. Effectively, this value is the maximum number of semaphores that the system can lock at the same time. For EnterpriseOne, enable one for each EnterpriseOne process that can exist for all installations of EnterpriseOne on the system. Use these equation to determine this value:

1 + jdenet_n + jdenet_k + maximum number of runbatch processes + maximum number of runprint processes + maximum number of runube processes

Note. This equation is similar to the equation used to calculate the value for msgmni. If you will be running a large number of batch queues or print jobs, you might need to increase the value of this parameter.

The number of outstanding print requests at a given time, whether printing or waiting for a printer, determines the number of jdeprint processes. A reasonable estimate for the upper limit of this value is 10. However, this estimate is application-dependent. For example, a large warehouse that constantly prints pick slips might have more requests.

The number of batch processes that run directly on the server, not from a client, determine the number of runube processes. This value depends on the use of the system. Theoretically, this value has no limit.

semume:
The value of semume represents the maximum number of semaphore undo structures per process. Effectively, this value is the maximum number of semaphores that a given process can lock at the same time. EnterpriseOne requires a minimum value of 4 for semume. This minimum value is not in addition to the system default and the requirements of other software. This value is a simple minimum. The default value provided with the system should suffice.

semmsl:
The value for semmsl, which applies to Solaris only, represents the maximum number of semaphores per unique identifier. For EnterpriseOne, this must be set equal to or higher than the maxNumberOfSemaphores setting in the JDE.INI file. For the default installation, you should set this parameter to 200.

--------------------------
Shared Memory

shmem:
This value enables shared memory.

shmmax:
The value of shmmax represents the maximum size, in bytes, of a single shared memory segment. The default value provided with the system should suffice. Other software packages, such as Oracle, might require an increase in this value.

shmmni:
The value of shmmni represents the maximum number of shared memory segments throughout the system. For EnterpriseOne, enable 20 per instance of the EnterpriseOne server software running on the system. This requirement is in addition to the system default value and the requirements of other software.

shmseg:
The value of shmseg represents the maximum number of shared memory segments to which any one process can attach at a given moment. The default value provided with the system should suffice.

--------------------------
File Descriptors

nfile:
The value of nfile represents the maximum number of open files, or sockets, throughout the system. The default value should be enough to handle most EnterpriseOne needs. However, you must make explicit allowance for the maximum number of sockets that jdenet_n processes can create to communicate with clients. This number is the sum of all sockets for all instances of EnterpriseOne server software that runs on the system. The maxNetConnections parameter in the [JDENET] section of each JDE.INI file indicates this sum. This requirement is in addition to the system default value and the requirements of other software.

maxfiles / rlim_fd_cur (Solaris):
The value of maxfiles represents the default soft limit on the number of file descriptors that any given process can have. A system call can raise the soft limit of a process as high as maxfiles_lim. For EnterpriseOne, the minimum value for maxfiles should equal at least the largest of all the maxNetConnections values in all the JDE.INI files in use + 10. This requirement is a minimum value, not a value in addition to the system default value and the requirements of other software.

Note. If this parameter is too small, EnterpriseOne might not open the log file to generate an error message.

--------------------------
Processes

maxuprc:
The value of maxuprc represents the maximum number of processes that can run under a single user ID. This number is of particular concern on systems with either a very large EnterpriseOne installation or multiple instances running under the same user ID. You must allow for the total number of EnterpriseOne processes that might run at one time, plus other system processes that the EnterpriseOne user might be running.

SPECIFIC TO:  EnterpriseOne on HP-UX or Solaris

KEYWORDS:
C1:CNC:KRN
kernel
UNIX
semmni
semmns
maxNumberOfSemaphores

2006-8-31 22:42 snowhite2000
Summary:  
Solaris - too many open files [file descriptors, rlim_fd_cur, Sun, Kernel]  
Details:  Resolution: 928322 - Solaris - too many open files [file descriptors, rlim_fd_cur, Sun, Kernel]

ISSUE: too many open files error message

RESOLUTION:

Note the 4096 number suggested below, is quite high. It is set this high as both Webserver and Appserver use similar resources ,where file handles are used to open sockets or disk files (cache). If these apps are both located on the same system and started by the same user id, then they will compete for this resource.

1) Add the following entries in /etc/system and reboot the machine. This will set nofile to 4096.
set rlim_fd_cur=4096
set rlim_fd_max=4096

The default file descriptor is 64 for Solaris 7 and 256 for Solaris 8


2) ulimit - this commands shows current user limits. The hard limit can only be increased by root. As above these can be increased to 4096 or as high as needed.

ulimit -n    ...    gives number of soft descriptors
ulimit -nH    ...   gives number of hard descriptors

ulimit -n <number>  ...   changes number of soft descriptors
ulimit -nH <number>   ... changes number of hard descriptors (and you have to be superuser)

2006-8-31 22:43 snowhite2000
Summary:  
Generic Kernel parameters [ipc, message, semaphore, unix, WebLogic, thread]  
Details:  Solution ID 304485 - IPC Kernel parameters   [ipc, message, semaphore, unix, WebLogic, thread, settings]

ISSUE:   
Looking for a good basic set of UNIX Kernel parameters which can support a number of large domains.

RESOLUTION:
For a large environment of many Domains the following kernel parameters will provide a good deal of resources.
NOTE: These values will allow these resources to grow larger if necessary but if the resources are not requested then these

larger values will not significantly impact the systems resources

Increase the existing to:

MSGMAP=2048
MSGMAX=131072 (65536 max for HP)
MSGMNB=131072 (65536 for HP)
MSGMNI=1024
MSGSEG=32767
MSGTQL=1024

SEMMAP=512
SEMMNI=512
SEMMNU=4096
SEMUME=20
SEMMNS=4096
SEMMSL=256

SHMMIN=1
SHMMNI=300
SHMSEG=200

*** NOTE ***  SHMMIN: MUST be set to 1
If this is set higher you will get errors similar to:
WSNAT_CAT: failed to create to shared memory for listener table
The WSL/JSL shared memory segment is very small sometimes less than 100k . If this kernel parameter is set to high you will not

be allowed to start processes with small memory segments.

For HP note that it is advisable to adjust the 'maxdsiz' parameter to allow a process to allocate more memory for users

data/objects
MAXDSIZ = 536870912 (a setting of 2gb is more common)
MAXSSIZ = 67108864

For Digital UNIX or Tru64
max-per-proc-data-size =  536870912   (this is the True64 equivalent parameter for MAXDSIZ)

For HP the following will increase the number of available file descriptors ( needed for webservers)
maxfiles=4096
maxfiles_lim=4096   

For HP the following will increase the number of available threads a process can start (needed for webserver)
max_thread_proc=4096

For Solaris the following will increase the number of available file descriptors (needed for webserver)
set rlim_fd_max=8192
set rlim_fd_cur=8192

For Linux:
ipcs -l  will provide a current listing of kernel IPC resource limits. The IPC limits/settings are the same as above, but not

all parameters are required. Consult your local Linux admin for how these are set/configured in the OS.

For Solaris 10:
Solaris 10 is a little different from Solaris 9 in changing the kernel parameters. You can change them by using the prctl

command by using projects. Your System Admins should be able to help with setting these as needed.

Example:  prctl -n project.max-shm-memory -v 64G -r -i project 3

Details in following doc links:
[url]http://docs.sun.com/app/docs/doc/817-1592/6mhahuoh0?q=prctl&a=view[/url]
[url]http://docs.sun.com/app/docs/doc/817-0404/6mg74vs92?a=view#chapter1-33[/url]

Old parameters can still be included in the /etc/system file on a Solaris system. If so, the parameters are used to initialize

the default resource control values as in previous Solaris releases. For more information, see 'Parameters That Are Obsolete or

Have Been Removed'. However, using the obsolete parameters is not recommended.

New parameter name (old parameter name)  default   Suggested
process.max-msg-qbytes (msginfo_msgmnb)   65536     131072
process.max-msg-messages (msginfo_msgtql) 8192        ok
process.max-sem-ops (seminfo_semopm)      512         ok
process.max-sem-nsems (seminfo_semmsl)    512         ok
project.max-shm-ids (shminfo_shmmni)      128         ok
project.max-msg-ids (msginfo_msgmni)      128        1024
project.max-sem-ids (seminfo_semmni)      128         512

Solaris 9  'IPC' parameters which are now obsolite.
semsys:seminfo_semmns
semsys:seminfo_semvmx
semsys:seminfo_semmnu
semsys:seminfo_semaem
semsys:seminfo_semume
semsys:seminfo_semusz
semsys:seminfo_semmap
shmsys:shminfo_shmseg
shmsys:shminfo_shmmin
msgsys:msginfo_msgmap
msgsys:msginfo_msgseg
msgsys:msginfo_msgssz
msgsys:msginfo_msgmax

2006-8-31 22:52 snowhite2000
Solution 36996 - E-AS: IPC Kernel Parameters - Unix Tuning Information for Tuxedo

Specific To:
Unix

Issue:
How to tune your kernel parameters.

Solution:
The following information was provided by BEA Support
As with PeopleSoft's "tuning" information, this information should only be viewed as suggestions, and NOT specific recommendations.
We always suggest to tune the kernel for Tuxedo first then adjust for the database because for the most part, we use semaphores and shared memory different which might produce a problem if not done in a proper order.

Semaphores:
SEMMNS:      Set to MAXACCESSERS (local clients and all servers)
SEMMNI:        For small apps, 10 sets are sufficient. For large apps, 32-64 sets are sufficient
       (do a tmloadcf -c to see which is the best for you)
       (small apps - 100 to 500 servers) (large apps >500 servers)
SEMMSL:       Use the formula:  SEMMNS = SEMMNI * SEMMSL
SEMMAP:      Same as SEMMNS
SEMMNU:     Same as SEMMNS
SEMUME:     Same as SEMMNS

Shared Memory:
SHMMAX: Bulletin Board Size (must be greater than 1400000) Largest BB today is apx. 5 MB.
(this parameter is normally set much higher for the database, so use their rules)
SHMSEG: # of segments one process can attach to (for a busy application you need to set this from 32-64)
SHMMNI: Normally the default of 100 is acceptable
(unless more than 100 entities plan on allocating shared memory)
SHMMIN: MUST be set to 1
If this is set higher you will get errors similar to:
WSNAT_CAT: failed to create to shared memory for listener table
The WSL/JSL shared memory segment is very small sometimes less than 100k . If this kernel parameter is set to high you will not be allowed to start processes with small memory segments.

Message Queues:
MSGMNI: Total Number of Queues (To determine the appropriate value, use this formula:  
Add MAXACCESSERS + (No. Servers with Reply Queues) - (No. Servers in MSSQ Set)
+(No. MSSQ Sets))
MSGMAP: 2 * MSGMNI
MSGMAX: Set to the largest message size or 75% of the queue size (whichever is bigger)
MSGMNB: This is the queue size itself (64K, 128K, etc.)
MSGSSZ: Should set the segment size either to 16, 32, or 64 based on the OS
MSGTQL: Total Number of In-Flight messages in the system at once
MSGSEG: You need to find out the queue space of your machine and then the following formula applies:  
MSGSEG * MSGSSZ = Machine Queue Space Size
(note you can have more queues than the queue space can hold, it will swap)

Other Parameters (which we hit):
ULIMIT: Maximum file size (use your file as your guideline)
MAXUP: Maximum Processes Owned by a User
(remember all Tux processes are owned by the administrator, so this may add up)

In addition, you may want to change SFNOLIM and NOLIM concerning how many files can be opened
by one process because sometimes we hit that as well).

Workaround:
N/A

Enterprise:PeopleTools:Server:Application Server:How To

页: [1]


Powered by ITPUB论坛