Forwarding: Oracle Shadows

From: <Raymond_E._Dutcher.Henr801h_at_xerox.com>
Date: 20 Jan 94 17:16:56 GMT
Message-ID: <"20-Jan-9412:13:18".*.Raymond_E._Dutcher.henr801h_at_Xerox.com>


  • Begin Forwarded Messages -----

Date: Tue, 4 Jan 94 13:49:21 PST
From: Mary_M._Deck.RochIA_at_Xerox.com
Subject: Oracle Shadows
To: suncon.RochIA_at_Xerox.com, dlong.henr801e_at_Xerox.com Message-ID: <" 4-Jan-94 16:49:21 EST".*.Mary_M._Deck.RochIA_at_Xerox.com>

FYI, I discovered some parameters which, when compiled into the Unix kernel, make Oracle shadow processes go away in a timely fashion. They have to do with the "keep alive" functionality of TCP and are described on p. 22-16ff in the Sun book _System and Network Administration_. (Keep in mind that I'm running SunOS 4.1.3 from a SPARC10; things may be slightly different for other machines.)

The variables described in the book are in the file /sys/netinet/in_proto.c, which uses values from the file /sys/netinet/tcp_timer.h. I had success changing the values of precompiler variables TCPTV_KEEP_INIT and TCPTV_KEEPCNT, but you might also want to change TCPTV_KEEPINTVL; the values for KEEP_INIT and KEEPINTVL are in half-seconds. KEEP_INIT gives the length of time that a process (TCP connection) is left idle before the system wakes up to do something about it; the default value is two hours. The monitoring process then "probes" the connection (basically a ping) to see if there's anything on the other end. It will probe every KEEPINTVL (length of time in half-seconds) until it has probed KEEPCNT times. If there is still nothing on the other end of the connection, the shadow process is killed.

As far as I can tell, any DDL locks held up by the shadow are also removed.

Have a blast!

Mary

  • End Forwarded Messages -----
Received on Thu Jan 20 1994 - 18:16:56 CET

Original text of this message