日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux服务器报Too many open files的解决方法

發(fā)布時(shí)間:2024/10/12 linux 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux服务器报Too many open files的解决方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

linux?上tomcat?服務(wù)器拋出socket異常“文件打開(kāi)太多”的問(wèn)題?
java.net.SocketException:?Too?many?open?files
at?java.net.PlainSocketImpl.socketAccept(Native?Method)
at?java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at?java.net.ServerSocket.implAccept(ServerSocket.java:450)
at?java.net.ServerSocket.accept(ServerSocket.java:421)
at?org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
at?org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:407)
at?org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:70)
at?org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at?java.lang.Thread.run(Thread.java:595)?
原本以為是tomcat的配置或是應(yīng)用本身的問(wèn)題,"谷歌"一把后才發(fā)現(xiàn),該問(wèn)題的根本原因是由于系統(tǒng)文件資源的限制導(dǎo)致的。
具體的解決方式可以參考一下:
1。ulimit?-a?查看系統(tǒng)目前資源限制的設(shè)定。
[root@test?security]#?ulimit?-a
core?file?size????????(blocks,?-c)?0
data?seg?size?????????(kbytes,?-d)?unlimited
file?size?????????????(blocks,?-f)?unlimited
max?locked?memory?????(kbytes,?-l)?unlimited
max?memory?size???????(kbytes,?-m)?unlimited
open?files????????????????????(-n)?1024
pipe?size??????????(512?bytes,?-p)?8
stack?size????????????(kbytes,?-s)?8192
cpu?time?????????????(seconds,?-t)?unlimited
max?user?processes????????????(-u)?7168
virtual?memory????????(kbytes,?-v)?unlimited
[root@test?security]#?
通過(guò)以上命令,我們可以看到open?files?的最大數(shù)為1024
那么我們可以通過(guò)一下命令修改該參數(shù)的最大值
2.?ulimit?-n?4096
[root@test?security]#?ulimit?-n?4096
[root@test?security]#?ulimit?-a
core?file?size????????(blocks,?-c)?0
data?seg?size?????????(kbytes,?-d)?unlimited
file?size?????????????(blocks,?-f)?unlimited
max?locked?memory?????(kbytes,?-l)?unlimited
max?memory?size???????(kbytes,?-m)?unlimited
open?files????????????????????(-n)?4096
pipe?size??????????(512?bytes,?-p)?8
stack?size????????????(kbytes,?-s)?8192
cpu?time?????????????(seconds,?-t)?unlimited
max?user?processes????????????(-u)?7168
virtual?memory????????(kbytes,?-v)?unlimited
這樣我們就修改了系統(tǒng)在同一時(shí)間打開(kāi)文件資源的最大數(shù),基本解決以上問(wèn)題。

報(bào)這個(gè)錯(cuò)誤就在我那次登陸更新之后又報(bào)的,原來(lái)ulimit -n 4096 命令只能臨時(shí)的改變open files 的值,當(dāng)重新登陸后又會(huì)恢復(fù),所以需要永久設(shè)置open files 的值才行啊,用ulimit -n 修改open files 總是不能保持。所以用下面一個(gè)簡(jiǎn)單的辦法更好些。
修改/etc/security/limits.conf
添加如下一行:* - nofile 65536

修改/etc/pam.d/login
添加如下一行session required /lib/security/pam_limits.so

退出shell登陸,重新登陸一次即生效(運(yùn)行ulimit -n 檢查)

轉(zhuǎn)載于:https://www.cnblogs.com/yangxia-test/p/3356928.html

總結(jié)

以上是生活随笔為你收集整理的linux服务器报Too many open files的解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。