| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> go连接mysql遇到dial tcp xxxx:1111: socket: too many open files和 写日志遇到Fail to OpenFile :open xxx -> 正文阅读 |
|
[网络协议]go连接mysql遇到dial tcp xxxx:1111: socket: too many open files和 写日志遇到Fail to OpenFile :open xxx |
这是由于文件打开太多,导致的问题1、dial tcp xxxxip:1111: socket: too many open files 2、2021/08/27 15:12:46 Fail to OpenFile :open /Users/twj/Documents/go_www/wwwlogs/more_go_script/log20210827.log: too many open files 先查看pid,mac需要去活动监视器,linux需要以下命令
mac 通过这个命令去查看文件打开数量,mac和linux一样
我这里是256个,超过数量的话就会挂掉程序。并抛出异常: 下面我们来看看代码 请求写日志 写日志的前提,需要打开这个日志文件 打开这个日志文件,因为每次打开都没有close 这个F参数是一个全局变量的 如果我每次运行程序都打开一次文件,就太浪费资源并且打开次数多了,就会崩溃了程序,这时候我只要判断这个F不是nil才去打开文件,就可以了。 先判断初次启动项目时候 -> 创建今天的日志并打开返回 判断今天的日期日志文件不存在 -> 关闭昨天打开的日志 -> 创建今天的日志并打开返回 看,这样他就不会像刚才那样,打开那么多文件数了,就不会报刚才哪些错误了 总结就是,是你打开的文件太多而导致的。可以试试查看当前pid打开的文件有多少了然后再调整。只要打开的文件释放了或者打开的文件不要那么多,即使你初次打开一次就可以,后面如果第二天了,就关闭前一天的日志。? 然后创建并且开启今天的日志就好。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:17:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |