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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node.js Error: connect EMFILE 或者 getaddrinfo ENOTFOUND

發布時間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node.js Error: connect EMFILE 或者 getaddrinfo ENOTFOUND 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo'

Error: connect EMFILE

本人在中心服上向800多個ip上發請求,發兩次就不行了出現如上報錯。

原因是文件句柄不夠用了,修改? ulimit 即可,步驟如下:

1.vim /etc/security/limits.conf

2.添加兩行內容:?
* soft nofile 65536?
* hard nofile 65536

3.退出當前終端,再進? ulimit -a 查看。

雖然顯示對了,經過node.js測試仍報錯,懷疑沒立即生效,指令: grep "Max open files" /proc/39629/limits? ?顯示還是1024,說明沒生效。

解決辦法:轉自??https://blog.csdn.net/shootyou/article/details/6579139

主要是因為linux在文件句柄的數目上有兩個級別的限制。一個是系統級別的總數限制,一個是針對用戶的限制。

默認情況下每個用戶所能使用的句柄數是1024。一般情況下1024也夠用了,但是在大容量的系統上,特別是會頻繁使用網絡通信和文件IO的系統上,1024很快就被耗光了。所以首先我們要調整這個值。修改方法如下:

1. ulimit -a 查看當前用戶的文件句柄限制
2. 用戶級別的句柄數限制修改。
修改 /etc/security/limits.conf 增加下面的代碼:
用戶名(或者用*表示所有用戶) soft nofile 65535
用戶名 hard nofile 65535
有兩種限制,一種是soft軟限制,在數目超過軟限制的時候系統會給出warning警告,但是達到hard硬限制的時候系統將拒絕或者異常了。
修改之后可能需要重啟shell生效。
3. 系統級別的句柄數限制修改。
sysctl -w fs.file-max 65536
或者
echo "65536" > /proc/sys/fs/file-max
兩者作用是相同的,前者改內核參數,后者直接作用于內核參數在虛擬文件系統(procfs, psuedo file system)上對應的文件而已。
可以用下面的命令查看新的限制
sysctl -a | grep fs.file-max
或者
cat /proc/sys/fs/file-max
修改內核參數
/etc/sysctl.conf
echo "fs.file-max=65536" >> /etc/sysctl.conf
sysctl -p
查看系統總限制 命令:cat /proc/sys/fs/file-max
查看整個系統目前使用的文件句柄數量命令:cat /proc/sys/fs/file-nr
查看某個進程開了哪些句柄 :lsof -p pid
某個進程開了幾個句柄 :lsof -p pid |wc -l
也可以看到某個目錄 /文件被什么進程占用了,顯示已打開該目錄或文件的所有進程信息 :lsof path/filename

轉載于:https://www.cnblogs.com/workharder/p/10372472.html

總結

以上是生活随笔為你收集整理的node.js Error: connect EMFILE 或者 getaddrinfo ENOTFOUND的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。