欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決接口調用報錯newSocketStream(..)failed:Too?many?open?files問題

 更新時間:2024年07月10日 09:33:59   作者:.貓的樹  
這篇文章主要介紹了解決接口調用報錯newSocketStream(..)failed:Too?many?open?files問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題描述

在調用微服務接口時,出現(xiàn)報錯

newSocketStream(..) failed: Too many open files

具體錯誤信息如下:

原因分析

報錯字面意思是程序打開的文件數(shù)過多

程序打開的文件數(shù)過多,不過這里的files不單是文件的意思,也包括打開的通訊鏈接(比如socket),正在監(jiān)聽的端口等等,所以有時候也可以叫做句柄(handle),這個錯誤通常也可以叫做句柄數(shù)超出系統(tǒng)限制。

第一時間想到的是程序異常報錯,進程未正常結束或者請求次數(shù)異常增大,但是實際上這些情況并未發(fā)生。

接著只能求助于網(wǎng)上的大神,查詢問題,基本上都是說句柄數(shù)超出系統(tǒng)限制

解決方案

于是按照網(wǎng)上的解決方法操作:

  • 先查看進程描述符ulimit -a
  • 查看當前系統(tǒng)打開的文件數(shù)量lsof | wc -l
  • 查看某一進程的打開文件數(shù)量lsof -p pid | wc -l
  • 增大允許打開的文件數(shù)ulimit -n 1024000

增大允許打開的文件數(shù):

1.臨時(重啟后失效): ulimit -n 1024000(非root用戶限制到4096)

2.永久生效(需要重啟)vim /etc/security/limits.conf #在最后加入 * soft nofile 1024000 * hard nofile 1024000

在查看當前系統(tǒng)打開的文件數(shù)量,出現(xiàn)問題

出現(xiàn)這個問題的情況 ,一般有兩種:

  • 系統(tǒng)中有容器在運行該進程
  • 啟動進程后,刪除了相關進程的文件,導致進程異常

到這里我其實已經(jīng)發(fā)現(xiàn)問題似乎不是這個,再次查詢程序進程打開文件數(shù)量,發(fā)現(xiàn)只有5個,確定不是應用程序文件打開過多的問題。

網(wǎng)上查詢也實在沒有啥好的解決方法(重啟程序也試過了)

后面我查詢運行程序的時候,發(fā)現(xiàn)了用戶問題,有的是root啟動的,有的又是非root用戶

而報錯的程序就是root用戶啟動的,于是懷著試一試的心態(tài),將程序改為非root用戶啟動,結果接口訪問成功了?。。?!

總結

雖然問題解決了,但是我也是云里霧里的。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論