{"id":4025,"date":"2018-07-02T13:26:43","date_gmt":"2018-07-02T04:26:43","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=4025"},"modified":"2018-07-02T13:26:43","modified_gmt":"2018-07-02T04:26:43","slug":"oraclenet-dcddead-connection-detection-%ea%b3%bc-o-s-keep-alive-%ec%9d%98-%ea%b4%80%ea%b3%84","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=4025","title":{"rendered":"Oracle*NET DCD(DEAD CONNECTION DETECTION) \uacfc O\/S KEEP ALIVE \uc758 \uad00\uacc4"},"content":{"rendered":"<p>Client PC\uc758 process\uac00 \uc0ac\ub77c\uc9c0\uace0 \ub09c \ud6c4 server\uc5d0\uc11c \uc811\uc18d\uc774 close\uac00 \uc548 \ub418\uc5c8\uc744 \uacbd\uc6b0\u00a0\ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4. \uc804\ud615\uc801\uc778 \uc608\ub85c\ub294 Oracle\uc5d0 \uc811\uc18d\ub418\uc5b4 \uc788\ub294 \uc0c1\ud669\uc5d0\uc11c<br \/>\n\uc0ac\uc6a9\uc790\uac00 \uae30\uacc4\ub97c reboot \ud558\uac70\ub098 \uc804\uc6d0\uc744 \ub04a\uac70\ub098 \ud560 \uacbd\uc6b0 client process\ub294 \uc815\ud655\ud788\u00a0\uc885\ub8cc\ub418\uc5c8\uc744 \uc9c0 \ubaa8\ub974\ub098 \uc11c\ubc84\uc0c1\uc758 background process\ub294 client\uac00 \uc544\uc9c1\uae4c\uc9c0 \uc811\uc18d<br \/>\n\ub418\uc5b4 \uc788\ub294\uac83\uc73c\ub85c \uc0dd\uac01\ud558\uace0 \ucc98\ub9ac\ub97c \uacc4\uc18d \uc218\ud589\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \uc774 \uacb0\uacfc\ub85c \uc778\ud558\uc5ec \uc11c\ubc84\u00a0\uc0c1\uc5d0\uc11c\ub294 \ub9ce\uc740 \uc790\uc6d0\uc744 \ub0ad\ube44\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc774\ub294 Oracle\uc758 \ubb38\uc81c\uac00 \uc544\ub2c8\uba70 TCP\/IP\uc758 \uc81c\ud55c\uc5d0 \ub530\ub978 \uac83\uc774\ub2e4.<\/p>\n<p><b>Dead Conection\uc744 \ubc1c\uacac\ud558\uc5ec \ubcf4\ub2e4 \ube60\ub974\uac8c close\uc2dc\ud0a4\uace0 server\uc0c1\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \u00a0\uc788\ub294resource\ub97c \ubcf4\ub2e4 \ube60\ub974\uac8c free\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 keepalive\ub97c \uc815\ud655\ud558\uac8c \uc124\uc815<br \/>\n\ud558\uc5ec\uc57c \ud55c\ub2e4.<\/b><\/p>\n<p>Problem Description<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><b>** KEEPALIVE **<\/b><\/p>\n<p>TCP\/IP\uc811\uc18d\uc744 \ud558\uace0 \uc788\ub294 \uc591\uce21\uc5d0\uc11c \uc811\uc18d\uc744 \ud558\uace0 \uc788\ub294 \ub3d9\uc548 \uc815\ud574\uc9c4 \uc2dc\uac04\ub0b4\uc5d0 \u00a0\ub2e4\ub978 \ubc18\ub300\ud3b8\uc73c\ub85c \ubd80\ud130 \uc544\ubb34\ub7f0 \ub370\uc774\ud130\ub97c \ubc1b\uc9c0 \ubabb\ud588\uc74c\uc744 \uac10\uc9c0\ud558\ub294 \uacbd\uc6b0<br \/>\n\uadf8\uac83\uc73c\ub85c \uc778\ud558\uc5ec transparent layer\uc5d0\uc11c &#8220;dummy(test)&#8221; packet\uc744 application layer\ub85c \ubcf4\ub0b4\uace0 \uc751\ub2f5(acknowledgement)\uac00 \uc62c \ub54c\uac00\uc9c0 \ub2e4\ub978 \ud55c\ucabd\uc5d0\uc11c\ub294 \uae30\ub2e4\ub9ac\uac8c\u00a0\ub41c\ub2e4.<br \/>\n\ub9cc\uc77c \uc811\uc18d\ub41c process\uc5d0\uc11c \uc751\ub2f5(acknowledgement)\ub97c \uae30\ub2e4\ub9ac\ub294 \uc911\uc5d0 timeout\uc774 \ub418\ub294\u00a0\uacbd\uc6b0 TCP\/IP\uc5d0\uc11c\ub294 \uc811\uc18d\uc744 \ud3ec\uae30\ud558\uae30\uc804\uc5d0 \ubcf4\ub0b4\uc9c4 &#8220;dummy(test)&#8221; packet\uc5d0 \ub300\ud55c<br \/>\n\uc751\ub2f5(acknowledgement)\ub97c \uae30\ub2e4\ub9ac\ub294 \uc77c\ub828\uc758 \uc77c\ub4e4\uc744 \uba87\ubc88\uc774\uace0 \uc7ac\uc2dc\ub3c4 \ud560 \uc218 \uc788\ub3c4\ub85d\u00a0\uad6c\ud604\ub418\uc5b4 \uc788\ub2e4.<\/p>\n<p>\uc989 keepalive\uac00 \uc124\uc815\ub418\uc5b4 \uc788\uc744 \uacbd\uc6b0\uc5d0\ub294 client process\ub4e4\uc774 \uc2e4\uc81c\ub85c connection\uc744\u00a0\uc720\uc9c0\ud558\uace0 \uc788\ub294 \uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574 \ubaa8\ub4e0 \ube44\ud65c\uc131 TCP\/IP \uc811\uc18d\uc744 \uc8fc\uae30\uc801\uc73c\ub85c \uc870\uc0ac<br \/>\n(Polling)\ud55c\ub2e4. \uc811\uc18d\uc774 \ub418\uc5b4 \uc788\ub294 process\ub4e4\uc740 \uc815\ud574\uc9c4 \ube44\ud65c\uc131 \uc8fc\uae30 \uc774\ud6c4\uc5d0 \uc11c\ubc84\uc758\u00a0TCP\/IP s\/w\uc5d0 \uc758\ud574 &#8220;dummy(test)&#8221;\uc744 \ubcf4\ub0b4\uae30 \uc2dc\uc791\ud558\uba70 \ubc18\ub300\ud3b8\uc73c\ub85c \ubd80\ud130 \ubc18\ub4dc\uc2dc<br \/>\n\uc751\ub2f5(acknowledgement)\uc744 \ubc1b\uc544\uc57c \ud55c\ub2e4. \ub9cc\uc77c \ubcf4\ub0b8 \uc2dc\ub3c4 packet\ub4e4\uc774 client\uc5d0\uc11c \ubb34\uc2dc\ub418\uc5b4 \ubc84\ub9b0\ub2e4\uba74 \uc11c\ubc84\ub294 \uc811\uc18d\uc774 \ucd5c\uc545\uc758 \uc0c1\ud0dc\uc778\uac83\uc73c\ub85c \uac04\uc8fc\ud558\uace0 \uc811\uc18d\uc744<br \/>\nclose\ud55c\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c ORACLE\uc5d0\uc11c\ub294 connection\uacfc \uad00\ub828\ub41c shadow process\ub97c \uc548\uc804\u00a0\ud558\uac8c \uc81c\uac70\ud55c\ub2e4.<\/p>\n<p>SQL*NET\uc758 TCP\/IP level\uc5d0\uc11c\ub294 listener\uac00 startup\ub420\ub54c setsockopt()\ub77c\ub294 \ud568\uc218\ub97c\u00a0\ud638\ucd9c\ud568\uc73c\ub85c\uc11c listener\uc5d0\uc11c\ub294 keepalive\uac00 \uad6c\ud604\ub418\uc5b4 \uc788\ub2e4.<\/p>\n<p>* Dead mans Handle *<\/p>\n<p>\uc77c\ubc18\uc801\uc73c\ub85c \ub124\ud2b8\uc6cc\ud06c\ub97c \uc774\uc6a9\ud558\uc5ec \uc591\ucabd\uc5d0 \ub3c4\ub2ec\ud558\uae30\uae4c\uc9c0\uc5d0 \ub300\ud55c algorithm\uc758\u00a0\uc774\ub984\uc774\uba70 keepalive\uc640 \ub9e4\uc6b0 \ub3d9\uc77c\ud558\uace0 \uc774\ub294 TCP\/IP\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uc804\ubb38\uc6a9\uc5b4\ub294 \u00a0\uc544\ub2c8\ub2e4.<br \/>\nSQL*NET\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uc6a9\uc5b4\ub85c\uc11c SQL*NET v2.1\uc774\uc0c1\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 dead man&#8217;shandle\uc5d0 \uadfc\uac04\uc744 \ub454 algorithm\uc73c\ub85c \ubaa8\ub4e0 platforms\ub4e4\uacfc protocol\ub4e4\uc5d0\uc11c \uc77c\ubc18\uc801<br \/>\n\uc73c\ub85c \uc0ac\uc6a9\ud558\uace0 \uc788\uc73c\uba70 \uc774\ub97c DCD(DEAD CONNECTION DECTION)\ub77c\uace0\ub3c4 \ubd80\ub978\ub2e4.\u00a0SQL*NET V2.1.3 \uc774\uc0c1 (RDBMS V7.1.3\uc774\uc0c1)\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>* Timeout *<\/p>\n<p>Timeout\uc740 orasrv\uc758 \uae30\ub2a5\uc73c\ub85c client\uac00 connection handhake (client\uac00 \uc694\uccad\ud55c break-mode, buffersize, SID\uc5d0 \uad00\ud55c \uc815\ubcf4\ub97c \uc5b4\ub514\ub85c \uc804\ub2ec\ud560 \uac83\uc774\uc9c0\ub97c \ucc3e\ub294<br \/>\n\uc77c\ub828\uc758 \uc791\uc5c5)\ub97c \ud558\ub294 \ub3d9\uc548 \uc751\ub2f5\uc774 \uc62c\ub54c\uae4c\uc9c0 \uacc4\uc18d \uae30\ub2e4\ub9ac\ub294 \uac83\uc744 \ubc29\uc9c0\ud558\uae30 \uc704\ud574 orasrv\uc5d0 \ucd94\uac00\ub41c \uae30\ub2a5\uc774\ub2e4.<br \/>\n\uc774 \uae30\ub2a5\uc740 SQL*NET V1.2.7.2.3\uc774\uc0c1\uc5d0\uc11c \uac00\ub2a5\ud558\uba70 \ub2e4\uc74c\uc758 \uba85\ub839\uc5b4\ub97c \uc218\ud589\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. (Default = 0)<\/p>\n<p>$ tcpctl timeout 5<\/p>\n<p>\ub9cc\uc77c \uc0ac\uc6a9\uc790\uac00 application\uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c \uc885\ub8cc\ud558\uc9c0 \uc54a\uace0 \uc804\uc6d0\uc744 \ub044\ub294 \uacbd\uc6b0\u00a0process\ub4e4\uc740 &#8220;Clean-up&#8221;\ub418\uc9c0 \uc54a\uace0 \uc774\ub7ec\ud55c shadow process\ub4e4\uc740 \uace0\uc544(oraphaned)<br \/>\nprocess\uac00 \ub420\uac83\uc774\ub2e4.<br \/>\n\ub9cc\uc77c \uc218\ub9ce\uc740 \uc0ac\uc6a9\uc790\ub4e4\uc774 \uc774\ub807\uac8c \ube44\uc815\uc0c1 \uc885\ub8cc\ub97c \ud560 \uacbd\uc6b0 \uc11c\ubc84\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c defunct process\ub4e4\ub85c \uc778\ud558\uc5ec \uacfc\ubd80\ud558\uac00 \uac78\ub9ac\uac8c \ub420 \uac83\uc774\uba70 \uc774\ub54c \uc774\ub4e4 process\ub4e4\uc740 parent<br \/>\nprocess id (PPID)\ub97c 1\ub85c \uac16\ub294 daemon \ub610\ub294 init \uc18c\uc720\uc758 process\ub4e4\uc774\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \uc0c1\ud669\uc744 \ud574\uacb0\ud558\uae30 \uc704\ud574, \uc0ac\uc6a9\uc790\ub294 TCP\/IP level\uc5d0\uc11c KEEPALIVE option\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc73c\uba70 \uc774 parameter\ub294 \/usr\/include\/netinet\ub514\ub809\ud1a0\ub9ac\ub0b4\uc758 tcp_timer.h<br \/>\n\ucc38\uc870 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc801\uc73c\ub85c Keepalive\ub294 \ub2e4\uc74c\uc5d0\uc11c \ubcf4\ub294 parameters\uc5d0 \uc758\ud574 \uc81c\uc5b4 \ud560 \uc218 \uc788\uc73c\uba70 \ubb3c\ub860 system\ub9c8\ub2e4 parameters\uc774\ub984\uc740 \uc57d\uac04\uc758 \ucc28\uc774\uac00 \uc788\uc744 \uc218 \uc788\ub2e4.<\/p>\n<p>tcp_keepidle : time before keepalive probes begin<br \/>\ntcp_keepintvl : time between keepalive probes<br \/>\ntcp_maxidle : time to drop (after probes)<br \/>\ntcp_ttl : time to live for TCP segs<br \/>\nPR_SLOWHZ : usually 2 times per second<\/p>\n<p>KEEPALIVE\uc758 \uae30\uc874 interval\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758 \ub418\uc5b4 \uc788\ub2e4.<\/p>\n<p>#define TCPTV_KEEP_IDLE (120*60*PR_SLOWHZ) \/* dflt time before probing *\/<\/p>\n<p>\uc5ec\uae30\uc11c PR_SLOWHZ\uc744 1\ucd08\ub85c \uc815\uc758\ub418\uc5b4 \uc788\ub2e4\uace0 \uac00\uc815\ud558\uba74 (120*60*PR_SLOWHZ)\uc740 2\uc2dc\uac04\uc744 \ub098\ud0c0\ub0b4\ub294 \uac83\uc774\ub2e4. KEEPALIVE\uac00 \uc2dc\uc791\ub418\uba74 &#8220;dummy&#8221; packet\uc744 connection<br \/>\n\ub4e4\uc5d0 \ubcf4\ub0b4\uc5b4 \ub9cc\uc77c connection\uc774 active\uc0c1\ud0dc\ub77c\uba74 KEEPALIVE\uac00 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc744 \uac83\uc774\uace0 \ub9cc\uc77c \ub354 \uc774\uc0c1 active\uc0c1\ud0dc\uac00 \uc544\ub2c8\ub77c\uba74 KEEPALIVE\uc5d0 \uc758\ud574 connection\uc774<br \/>\nclose\ub420\uac83 \uc774\ub2e4. \uadf8\ub7f0 \ub2e4\uc74cDedicated server process(shadow process)\ub294 kill signal\uc744 \ubc1b\ub294 \uac83\uacfc \ub3d9\uc2dc\uc5d0 \uc885\ub8cc\ub420 \uac83\uc774\ub2e4.<\/p>\n<p>\uc8fc\uc758 : KEEPALIVE\uc758 \ud2b9\uc9d5\uc744 \ubaa8\ub4e0 TCP\/IP Verdor\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uac83\uc740 \uc544\ub2c8\uba70,\uc774\ub294 TCP\/IP level\uc5d0\uc11c \uc124\uc815\ud558\ub294 \uac83\uc73c\ub85c Oracle\uc758 \uae30\ub2a5\uc740 \uc544\ub2c8\ub2e4.<br \/>\n\uc774 \uae30\ub2a5\uc740 vendor\ub9c8\ub2e4 \ub2e4\ub97c \uc218 \uc788\uc73c\ubbc0\ub85c \ub9cc\uc77c \uac12\uc744 \uc124\uc815\ud558\ub824\uba74 TCP\/IP vendor\ub85c \ubb38\uc758\ud558\uae30 \ubc14\ub780\ub2e4.<br \/>\n\uc774 \uae30\ub2a5\uc740 \ubb38\uc81c\ub97c \ud53c\ud574\uac08 \uc218 \uc788\ub294 \ud558\ub098\uc758 \ubc29\ubc95\uc77c\ubfd0 \ubb38\uc81c\ud574\uacb0\uc744 \uc704\ud55c\u00a0\ud574\uacb0\ucc45\uc774 \uc544\ub2c8\ubbc0\ub85c \uc774\ub85c \uc778\ud574 \uc0dd\uae30\ub294 \ubb38\uc81c\uc5d0 \ub300\ud574 \ub294 \ubcf4\uc7a5\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<p>SQL*NET V2.1\uc774\uc0c1\uc758 \uc11c\ubc84\uc640 SQL*NET V2.0.14\uc774\uc0c1\uc758 client\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 DCD(Dead Connection Detection) \uae30\ub2a5\uc740 TCP\/IP\uc758 KEEPALIVE \ud2b9\uc9d5\ucc98\ub7fc \ub3d9\uc77c\ud55c<br \/>\n\uae30\ub2a5\uc744 \uc218\ud589\ud55c\ub2e4.<\/p>\n<p>DCD\ub294 \uc11c\ubc84\uc758 $ORACLE_HOME\/network\/admin\/sqlnet.ora\ud30c\uc77c\ub0b4\uc5d0 \uc788\ub294 parameter\uc778<br \/>\nsqlnet.expire_time\uc5d0 \uc815\uc758\ud560 \uc218 \uc788\uc73c\uba70 \ub2e8\uc704\ub294 \ubd84\uc774\uba70 1 ~ \ubb34\ud55c\ub300\uae4c\uc9c0 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>\ub9cc\uc77c sqlnet.ora\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc558\ub2e4\uba74 DCD\uc758 \uae30\ub2a5\uc740 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \ub2e4.\uc774 parameter\ub294 client\uc640 server\uc0ac\uc774\uc5d0\uc11c connection\uc744 \ud1b5\ud558\uc5ec \uc5f0\uc18d\ub418\ub294 \uc2dc\ub3c4<br \/>\npacket\ub4e4\uc744 \uc804\ub2ec\ud558\ub294 \uc2dc\uac04 \uc8fc\uae30\ub97c \uacb0\uc84d\ud55c\ub2e4.<\/p>\n<p>Workaround<br \/>\n&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>\uc9c0\uae08\uae4c\uc9c0 \uc124\uba85\ud55c keepalive\uc5d0 \ub300\ud55c \uae30\ub2a5\uc744 \uac01 H\/W\uc5d0\uc11c\ub294 \uc5b4\ub5bb\uac8c \uc124\uc815\ud558\ub294 \uc9c0 \uc54c\uc544 \ubcf4\ub3c4\ub85d \ud55c\ub2e4. (\uc77c\ubc18\uc801\uc73c\ub85c \ub9cc\uc774 \uc0ac\uc6a9\ud558\ub294 H\/W\ub97c \uae30\uc900)<br \/>\n\uadf8\ub9ac\uace0\u00a0<b>\ub2e4\uc74c\uc758 OS parameter\ub97c \uc218\uc815\uc2dc\uc5d0\ub294 \ubc18\ub4dc\uc2dc OS engineer\uc640 \uc0c1\uc758<\/b>\ub294 \ud558\ub294 \uac83\uc774 \ubc14\ub78c\uc9c1 \ud558\uaca0\ub2e4.<\/p>\n<p>&lt;&lt; Windows NT &gt;&gt;<\/p>\n<p>1. Regedt32\ub97c \uc218\ud589\ud55c\ub2e4.<\/p>\n<p>2. HKEY_LOCAL_MACHINE -&gt; SYSTEM -&gt; CurrentControlSet -&gt; Services -&gt;<\/p>\n<p>Tcpip -&gt; Parameters\uc73c\ub85c \uac04\ub2e4.<\/p>\n<p>3. \ud3b8\uc9d1\uba54\ub274 -&gt; \uac12\ucd94\uac00\ub97c \uc120\ud0dd\ud558\uba74 \uac12\ucd94\uac00 \uc708\ub3c4\uc6b0\uac00 \ub098\ud0c0\ub09c\ub2e4.<\/p>\n<p>4. \uac12\uc774\ub984\uc744 KeepAliveTime\uc73c\ub85c \ub123\uace0 \ub370\uc774\ud0c0 \ud615\uc2dd\uc744 REG_DWORD\ub85c \uc120\ud0dd\ud55c\ud6c4 \ud655\uc778\ubc84\ud2bc\uc744 \ub204\ub974\uac8c \ub418\uba74 DWORD\ud3b8\uc9d1\uae30 \uc708\ub3c4\uc6b0\uac00 \ub098\ud0c0\ub098\uba70 \uc5ec\uae30\uc11c \uae30\uc218<br \/>\n(\uc774\uc9c4, \uc2ed\uc9c4, 16\uc9c4)\ub97c \uc120\ud0dd\ud558\ub294 \ub370 \uc2ed\uc9c4\uc744 \uc120\ud0dd\ud558\uace0 \ub09c\ud6c4 \ub370\uc774\ud0c0 \uac12\uc744180000 (3\ubd84) \uc124\uc815\ud55c \ud6c4 \ud655\uc778 \ubc84\ud2bc\uc744 \ub204\ub978\ub2e4.<\/p>\n<p>&lt;&lt; Netware &gt;&gt;<\/p>\n<p>Netware\uc5d0\uc11c\ub294 DCD\uae30\ub2a5\uc774 \uc801\uc6a9 \uc548\ub428<\/p>\n<p>&lt;&lt; SunOS, Sun Solaris &gt;&gt;<\/p>\n<p># ndd \/dev\/tcp \\? &#8212;&#8211;&gt; parameter \ud655\uc778\ud558\ub294 \ubc29\ubc95<br \/>\n# ndd \/dev\/tcp tcp_keepalive_interval &#8212;&#8211;&gt; \uc124\uc815\ub41c \uac12 \ud655\uc778<br \/>\n7200000\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0(\uae30\ubcf8\uac12 : 7200000 ms)<br \/>\n# ndd \/dev\/tcp<br \/>\ntcp_keepalive_interval 10000<br \/>\n# ndd \/dev\/tcp tcp_keepalive_interval<br \/>\n10000<\/p>\n<p>&lt;&lt; Digital Unix &gt;&gt;<\/p>\n<p># dbx -k \/vmunix<\/p>\n<p>(dbx) p tcp_maxidle<br \/>\n1200<br \/>\n(dbx) p tcp_keepidle &#8212;&#8212;&gt; print value<br \/>\n14400\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;&gt; \uc124\uc815\ub41c \uac12 \ud655\uc778<br \/>\n(dbx) assign tcp_keepidle = 1200 &#8212;&#8212;&gt; new value assign<br \/>\n1200<br \/>\n(dbx) assign tcp_maxidle = 600\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;&gt; new value assign<br \/>\n600<br \/>\n(dbx) quit<\/p>\n<p>\ub450 parameter\uc758 \ub2e8\uc704\ub294 0.5\ucd08 \uc785\ub2c8\ub2e4. tcp_keepidle\uc758 \uae30\ubcf8\uac12\uc740 2\uc2dc\uac04\uc774\uba70 tcp_maxidle\uc758 \uae30\ubcf8\uac12\uc740 20\ubd84\uc785\ub2c8\ub2e4.<br \/>\ntcp_keepidle\uc740 keepalive code\uac00 \uc801\uc6a9\ub418\uae30 \uc804\uae4c\uc9c0\uc758 \uc2dc\uac04\uc774\uba70, tcp_maxidle\uc740 connection\uc774 drop\ub420\ub54c\uae4c\uc9c0 keepalive\uac00 \uc801\uc6a9\ub418\ub294 \uc2dc\uac04\uacfc\uc758 \uc0ac\uc774\ub97c \uc815\ud574\ub193\uc740<br \/>\n\uc2dc\uac04\uc785\ub2c8\ub2e4.<br \/>\n\uc989 \uc608\ub97c \ub4e4\uc790\uba74 tcp_keepidle\uc744 10\ubd84\uc73c\ub85c, tcp_maxidle\uc744 5\ubd84\uc73c\ub85c \uc124\uc815\ud558\uc5ec \ub193\uc558\ub2e4\uba74 defaunct connection\ub4e4\uc740 15\ubd84\ud6c4\uc560 \uc885\ub8cc\ub429\ub2c8\ub2e4.<\/p>\n<p>&lt;&lt; IBM AIX &gt;&gt;<\/p>\n<p># no -a \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;-&gt; \uc124\uc815\ub41c \uac12 \ud655\uc778<br \/>\n&#8230;..\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0(units of half seconds)<br \/>\ntcp_keepidle = 14400 (2 hours)<br \/>\ntcp_keepintvl = 150 (75 seconds)<br \/>\n&#8230;..<br \/>\n# no -o tcp_keepidle=1200<br \/>\n# no -o tcp_keepintvl=40<\/p>\n<p>tcp_keepidle\ub294 keepalive \uba54\uc138\uc9c0\ub97c \ubcf4\ub0b4\uae30 \uc804\uc5d0 \ud65c\ub3d9\ud558\uace0 \uc788\uc9c0 \uc54a\uc740 \uc2dc\uac04\uc744 \uacb0\uc815\ud558\ub294 parameter\uc774\uace0 tcp_keepintvl\uc740 keepalive\uc2dc\ub3c4 \uba54\uc138\uc9c0\ub97c \uc5bc\ub9c8\ub098 \uc790\uc8fc<br \/>\n\ubcf4\ub0b4\ub294\uc9c0\ub97c \uacb0\uc815\ud558\ub294 parameter\uc774\ub2e4. \uc811\uc18d\uc740 8\ud68c\uc758 \ube44\uc751\ub2f5 \uc2dc\ub3c4\ud6c4\uc5d0 broken\uc774 \uace0\ub824\ub41c\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c parameter\uc758 \uac12\uc744 \uc124\uc815\ud558\ub294 \uac83\uc740 \uc5b4\ub824\uc6b4 \ubd80\ubd84\uc73c\ub85c \ubd88\ud544\uc694\ud55c traffic\uc744 \uac10\uc18c\uc2dc\ud0a4\uae30 \uc704\ud574 \uc801\uc740 \uac12\uc73c\ub85c \uc124\uc815\ud558\ub294 \uac8c \uc77c\ubc18\uc801\uc774\ub2e4. \uc2e4\uc81c\ub85c \uc774\ub7ec\ud55c<br \/>\nparameter\ub4e4\uc740 \uc2dc\uc2a4\ud15c\uc5d0 \uc0c1\ub2f9\ud788 \uc758\uc874\uc801\uc774\ub2e4.<br \/>\n\uc544\ubb34\ud2bc IBM AIX\uc5d0\uc11c oracle\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 1200(10\ubd84)\uacfc 400(20\ucd08)\uc73c\ub85c \uc124\uc815\ud558\uc5ec \uc0ac\uc6a9\ud558\uae30\ub97c \ucd94\ucc9c\ud55c\ub2e4.<\/p>\n<p>\uc774 parameter\uc758 \uac12\uc744 \uc601\uad6c\ubcf4\uc874\ud558\uae30 \uc704\ud574\uc11c\ub294 \/etc\/rc.tcpip\uc5d0 \ub450\uac1c\uc758 \uba85\ub839\uc5b4\ub97c \ucd94\uac00\ud55c\ub2e4.<\/p>\n<p>&lt;&lt; HP-UX HP9000 Ver 10.01 I70 series &gt;&gt;<\/p>\n<p>\uc870\uc815 \ud560 \uc218 \uc788\ub294 parameter\ub97c \ud655\uc778\ud55c\ub2e4.<\/p>\n<p># nettune -h<\/p>\n<p>\uc870\uc815 \ud560 \uc218 \uc788\ub294 TCP parameter\uc758 \uc774\ub984\ub4e4\uc744 \ud655\uc778\ud55c\ub2e4.<\/p>\n<p># nettune -h tcp | grep<\/p>\n<p>tcp_localsubnets:<br \/>\ntcp_receive:<br \/>\ntcp_send:<br \/>\ntcp_defaultttl:<br \/>\ntcp_keepstart:<br \/>\ntcp_keepfreq:<br \/>\ntcp_keepstop:<br \/>\ntcp_maxretrans:<br \/>\ntcp_urgent_data_ptr:<br \/>\ntcp_pmtu:<br \/>\ntcp_random_seq:<\/p>\n<p>TCP\uc5d0\uc11c keepalives\uc758 \uc804\uc1a1\uc744 \uc2dc\uc791\ud558\uae30 \uc804\uc5d0 idle time\uc744 \ubcc0\uacbd\ud558\uae30\uc704\ud574 tcp_keepstart\ub97c \uc124\uc815\ud55c\ub2e4<br \/>\n\uadf8\ub9ac\uace0 keepalives\uc0ac\uc774\uc758 \uc2dc\uac04\uc744 \ubcc0\uacbd\ud558\uae30 \uc704\ud574 tcp_keepfreq\ub97c \uc124\uc815\ud55c\ub2e4.<\/p>\n<p># nettune tcp_keepfreq &#8211;&gt; This shows the current value: 75.<\/p>\n<p># nettune -l tcp_keepfreq &#8211;&gt; This shows the range of values.<\/p>\n<p>tcp_keepfreq = 75 default = 75 min = 5 max = 2000 units = seconds<\/p>\n<p># nettune -s tcp_keepfreq 1000 &#8211;&gt; set it to 1000<\/p>\n<p># nettune tcp_keepfreq &#8211;&gt; verify it as 1000<\/p>\n<p>keepalive\ub97c \uc218\uc815\ud558\uae30 \uc704\ud558\uc5ec<\/p>\n<p># adb -w \/ph-ux \/dev\/kmem<\/p>\n<p>0d10$d (Change to base 10)<br \/>\ntcp_keepidle?D (Display value of keepidle &#8211; 14400 = 2 hours)<br \/>\ntcp_keepidle?W 1200 (This command updates the HP-UX kernel on disk)<br \/>\ntcp_keepidle\/W 1200 (This command updates the HP-UX kernel in<br \/>\nmemory)<br \/>\ntcp_keepidle?D (This will display the value used for the next<br \/>\nboot)<br \/>\ntcp_keepidle\/D (This will display the value used for future<br \/>\nconnections)<br \/>\n^d (CRTL-D to exit adb)<\/p>\n<p>Again, this will modify the HP-UX kernel on disk and in memory.<\/p>\n<p>\uc0ac\uc6a9\uc790\uc758 \uc2dc\uc2a4\ud15c\uc744 \uc704\ud574 PHNE_8420=Nettune Cumulative Patch \uc640\u00a0PHNE_11758=FDDI cumulative patch\ub97c \ucc3e\uc544\ubcf4\uae30 \ubc14\ub780\ub2e4.<\/p>\n<p>&lt;&lt; HP-UX HP9000 Ver 10.10 K210 series &gt;&gt;<\/p>\n<p>TCP\uc5d0\uc11c keepalives\uc758 \uc804\uc1a1\uc744 \uc2dc\uc791\ud558\uae30 \uc804\uc5d0 idle time\uc744 \ubcc0\uacbd\ud558\uae30\uc704\ud574 tcp_keepstart\ub97c \uc124\uc815\ud55c\ub2e4<br \/>\n\uadf8\ub9ac\uace0 keepalives\uc0ac\uc774\uc758 \uc2dc\uac04\uc744 \ubcc0\uacbd\ud558\uae30 \uc704\ud574 tcp_keepfreq\ub97c \uc124\uc815\ud55c\ub2e4.<\/p>\n<p># nettune tcp_keepfreq # what&#8217;s the current value?<br \/>\n75<\/p>\n<p># nettune -l tcp_keepfreq # what are the range of values?<br \/>\ntcp_keepfreq = 75 default = 75 min = 5 max = 2000 units = seconds<\/p>\n<p># nettune -s tcp_keepfreq 1000 # set it to 1000<\/p>\n<p># nettune tcp_keepfreq # verify it<br \/>\n1000<\/p>\n<p>\ubcc0\uacbd\ud560 \uc218 \uc788\ub294 \ubaa8\ub4e0 \uac12\ub4e4\uc740 help\ub97c \uc774\uc6a9\ud558\uc5ec \uc5bb\uc744 \uc218 \uc788\ub2e4.<\/p>\n<p># nettune -h # what can I tune?<br \/>\n# nettune -h tcp # what TCP variables can I tune?<br \/>\n# nettune -h tcp | grep : # what are the TCP tunables named?<\/p>\n<p># adb -w \/ph-ux \/dev\/kmem<br \/>\n0d10$d (Change to base 10)<br \/>\ntcp_keepidle?D (Display value of keepidle &#8211; 14400 = 2 hours)<br \/>\ntcp_keepidle?W 1200 (This command updates the HP-UX kernel on disk)<br \/>\ntcp_keepidle\/W 1200 (This command updates the HP-UX kernel in<br \/>\nmemory)<br \/>\ntcp_keepidle?D (This will display the value used for the next<br \/>\nboot)<br \/>\ntcp_keepidle\/D (This will display the value used for future<br \/>\nconnections)<br \/>\n^d (CRTL-D to exit adb)<\/p>\n<p>\uc774\uc678\uc758 H\/W\uc5d0 \ub300\ud574\uc11c\ub294 OS verdor\ub85c \ubb38\uc758\ud558\uc5ec \uc54c\uc544 \ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Client PC\uc758 process\uac00 \uc0ac\ub77c\uc9c0\uace0 \ub09c \ud6c4 server\uc5d0\uc11c \uc811\uc18d\uc774 close\uac00 \uc548 \ub418\uc5c8\uc744 \uacbd\uc6b0\u00a0\ubb38\uc81c\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4. \uc804\ud615\uc801\uc778 \uc608\ub85c\ub294 Oracle\uc5d0 \uc811\uc18d\ub418\uc5b4 \uc788\ub294 \uc0c1\ud669\uc5d0\uc11c \uc0ac\uc6a9\uc790\uac00 \uae30\uacc4\ub97c reboot \ud558\uac70\ub098 \uc804\uc6d0\uc744 \ub04a\uac70\ub098 \ud560 \uacbd\uc6b0 client process\ub294 \uc815\ud655\ud788\u00a0\uc885\ub8cc\ub418\uc5c8\uc744 \uc9c0 \ubaa8\ub974\ub098 \uc11c\ubc84\uc0c1\uc758 background process\ub294 client\uac00 \uc544\uc9c1\uae4c\uc9c0 \uc811\uc18d \ub418\uc5b4 \uc788\ub294\uac83\uc73c\ub85c \uc0dd\uac01\ud558\uace0 \ucc98\ub9ac\ub97c \uacc4\uc18d \uc218\ud589\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \uc774 \uacb0\uacfc\ub85c \uc778\ud558\uc5ec \uc11c\ubc84\u00a0\uc0c1\uc5d0\uc11c\ub294 \ub9ce\uc740 \uc790\uc6d0\uc744 \ub0ad\ube44\ud560 \uc218 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2880,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[9],"tags":[31,33,1109,1110],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2018\/02\/tips-newsletter.jpg?fit=680%2C530","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4025"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4025"}],"version-history":[{"count":1,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4025\/revisions"}],"predecessor-version":[{"id":4026,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4025\/revisions\/4026"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2880"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4025"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}