Solaris 10 processes slow

Hi Guys

I have a Solaris 10 server running Oracle database most of the sessions are slow when forking resource/processes on the O/S.

How can I resolve this issue or how do I see the time it takes to fork a process from the O/S?

Thanks

Pleasse help!!!

You have to be able to quantify what you are seeing, we cannot help with really vague questions because we will start asking a bunch of questions about things like this:
For example:

  1. is free memory unavailable?
  2. how many processes are there and how many process slots are free?
  3. are there lots of network connections in the TIMED_WAIT status?
  4. are there a few processes that are using lots of resources?

And keep going until there is enough information to help. Consider putting together a much better question with lots of information based on problems you see in the system.

Thanks.

The bigger the process, the longer takes the fork.
Oracle DB processes might be a little better because they use a large portion of "shared memory".

Since also Solaris is from Oracle, you can consider analysis method/tools from Oracle.
Also OS patches often boost performance.

Also you can monitor your system.
E.g. on the command line do

vmstat 2

you can likely see a bottle neck: a big value in the "b" column means a slow disk, a big value in the "r" column means too much work for the CPU.
If you have a slow CPU, you can look how CPU time is distributed between "sy"s=kernel and "us"er=processes, and hopefully something is left for "id"le. (These values are in percent and sum up to 100.)
If you have a slow disk, you can break down this further with

iostat -D 2

or with the OS disk names (but long names are truncated)

iostat -nD 2

Looking for

netstat | grep 'TIME[_]WAIT'

is a good idea because these processes are waiting for the client to re-open the connection, they cannot be used for another client.
If there are too many processes in TIME_WAIT it can improve by tuning it down, say from

ndd /dev/tcp tcp_time_wait_interval

60000 reduce it to 30000

ndd -set /dev/tcp tcp_time_wait_interval 30000
ndd /dev/tcp tcp_time_wait_interval

Filesystems or ASM for database ?
Are you using ZFS on your Solaris system ?

Can you provide the output of following command :

echo "::memstat" | mdb -k

Regards
Peasant.