日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

問題描述

Tomcat日志中報too many open files導致程序無法讀取文件錯誤。

報錯原因

出現這句提示的原因是程序打開的文件/socket連接數量超過系統(tǒng)設定值。

JAVA.IOException:打開的文件過多

經搜索,發(fā)現是由于linux默認設置的句柄數為1024,當并發(fā)量過大,就不夠用了;

原因:

操作系統(tǒng)的中打開文件的最大句柄數受限所致,常常發(fā)生在很多個并發(fā)用戶訪問服務器的時候.因為為了執(zhí)行每個用戶的應用服務器都要加載很多文件(new一個socket就需要一個文件句柄),這就會導致打開文件的句柄的缺乏.

解決:

  • 盡量把類打成jar包,因為一個jar包只消耗一個文件句柄,如果不打包,一個類就消耗一個文件句柄.
  • java的垃圾回收不能關閉網絡連接打開的文件句柄,如果沒有執(zhí)行close()(例如:java.net.Socket.close())則文件句柄將一直存在,而不能被關閉.你也可以考慮設置socket的最大打開數來控制這個問題.
  • 對操作系統(tǒng)做相關的設置,增加最大文件句柄數量。

增加最大文件句柄數量:

nofile(可打開的文件描述符的最大數)和nproc(單個用戶可用的最大進程數量)

cp /etc/security/limits.conf /etc/security/limits.conf_bak

echo "### add by css ### " >>/etc/security/limits.conf

echo "* soft nofile 65536" >>/etc/security/limits.conf

echo "* hard nofile 65536" >>/etc/security/limits.conf

echo "* soft nproc 65536" >>/etc/security/limits.conf

echo "* hard nproc 65536" >>/etc/security/limits.conf

重啟系統(tǒng),才能生效.

Linux下tomcat報too many open files錯誤解決方法

 

ulimit -a 查看所有設置

ulimit -u 65535(新的open files 值)修改設置

ulimit -n 65536 設置用戶可以同時打開的最大文件數(max open files) 默認是2048

如果本參數設置過小,對于并發(fā)訪問量大的網站,可能會出現too many open files的錯誤 。

使用lsof -p pid [httpd進程的 pid、java的pid]來查看系統(tǒng)中Apache進程和java運行時進程當前打開的文件資源:

lsof -p `ps -ef|grep tomcat|grep -v "grep --color=auto tomcat"|awk '{print $2}'` | wc -l

分享到:
標簽:tomcat
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定