<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java, Only Java!

    統計

    留言簿(20)

    積分與排名

    好友空間

    文檔技巧

    閱讀排行榜

    評論排行榜

    HP-UX中CLOSE_WAIT問題解決

    作者一直被某個項目的HP-UX折磨,系統運行一段時間后就會出現大量的CLOSE_WAIT連接,然后Apusic應用服務器就一直處于非常繁忙的狀態,但是Dump JVM發現Apusic的許多線程處在空閑狀態,此時將Apusic重新啟動將連接全部釋放系統就恢復正常了。
    分析認為因為系統在公網上受到攻擊有關,攻擊會建立大量的空閑連接,然后使連接處于CLOSE_WAIT狀態,從而系統需要消耗大量的資源去維護這些連接直到斷開,從而影響系統運行的效果。
    為此,作者調整了相關的網絡參數,效果比較明顯,CPU壓力大幅下降。
    ndd -set /dev/tcp tcp_keepalive_interval 120000

    但是,對于生產系統許多時候是不希望宕機的,有沒有直接斷開CLOSE_WAIT連接呢?可以,先用
    ndd -get /dev/tcp tcp_status |grep CLOSE_WAIT
    把已經CLOSE_WAIT的連接找出來,然后使用
    ndd -set /dev/tcp tcp_discon 0x<TCP地址>
    例如:輸入 ndd -get /dev/tcp tcp_status |grep 133
    結果
    000000005843e168 010.010.010.133???????????????????????? 48a68cfa 48a68cf8 00008000 00008072 b64b7c33 b64b7c33 00008000 00500 01460 [17,c539] TCP_ESTABLISHED
    再輸入 ndd -set /dev/tcp tcp_discon 0x000000005843e168
    連接就會被主動斷開了。
    如果有人可以寫個腳本定期執行,至少能夠解決臨時性問題,如果要真正解決可能還需要想其他辦法,歡迎大家一起來討論。

    posted on 2008-06-20 07:56 zYx.Tom 閱讀(3597) 評論(5)  編輯  收藏 所屬分類: 1.Java世界

    評論

    # re: HP-UX中CLOSE_WAIT問題解決 2008-06-21 00:56 dennis

    服務器進入CLOSE_WAIT,說明服務器是被動關閉,沒有發FIN,停留在CLOSE_WAIT狀態。解決辦法就是強制關閉,socket設置SoLinger選項。  回復  更多評論   

    # re: HP-UX中CLOSE_WAIT問題解決 2008-07-07 22:00 朱遠翔-Apusic技術顧問

    @dennis
    不好意思,沒明白你的留言,希望能再補充解釋一下,謝謝。  回復  更多評論   

    # re: HP-UX中CLOSE_WAIT問題解決 2009-01-15 15:56 myloveunix

    這個問題解決很簡單
    你在監聽套接字創建之后,
    int on=1;
    if(setsockopt(ListenSock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) != 0)
    ....錯誤返回
    連接套接字創建之后,
    if(setsockopt(nLocalSock,SOL_SOCKET,SO_LINGER,(const char*)&ling,sizeof(ling)) !=0)
    ...錯誤返回
    這樣系統就不會出現close_wait狀態的tcp套接字了。  回復  更多評論   

    # re: HP-UX中CLOSE_WAIT問題解決 2009-01-15 16:04 myloveunix

    補充:
    struct linger ling;
    ling.l_onoff=1;
    ling.l_linger=5;/* (容許逗留的時間為5秒) */  回復  更多評論   

    # re: HP-UX中CLOSE_WAIT問題解決 2012-06-02 16:50 bigtank

    ndd -get /dev/tcp tcp_status | awk '$19=="CLOSE_WAIT" { print $1 }'|xargs -i ndd -set /dev/tcp tcp_discon {}

    但是,似乎沒有tcp_discon 這個值。  回復  更多評論   

    主站蜘蛛池模板: 99久久国产免费中文无字幕| 欧洲乱码伦视频免费国产| 成人影片一区免费观看| 亚洲人成人无码网www电影首页 | 丁香花在线观看免费观看图片| 亚洲国产综合精品中文字幕| 四虎一区二区成人免费影院网址 | 亚洲午夜久久久影院| 国产黄片不卡免费| 国产亚洲综合成人91精品| 免费的全黄一级录像带| 亚洲老熟女@TubeumTV| 国产福利在线免费| 蜜芽亚洲av无码一区二区三区| 亚洲国产高清精品线久久| 久久久久久av无码免费看大片 | JLZZJLZZ亚洲乱熟无码| 中文在线观看免费网站| 亚洲资源在线观看| 欧亚精品一区三区免费| 特级毛片aaaa级毛片免费| 亚洲色成人网站WWW永久| 无码av免费网站| 亚洲 暴爽 AV人人爽日日碰| 国产aa免费视频| 免费91最新地址永久入口| 99久久国产亚洲综合精品| 亚洲国产综合久久天堂| 亚洲一区免费观看| 亚洲乱亚洲乱妇24p| 亚洲无码黄色网址| 日本免费xxxx| 免费毛片毛片网址| 久久久久亚洲AV无码观看| 四虎成人免费网站在线| 免费无码又爽又刺激网站| 亚洲一级片在线播放| 亚洲午夜福利精品无码| 国产精品成人观看视频免费| 黄页网址在线免费观看| 亚洲性无码av在线|