Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 运行.net core API/cloud时,系统SocketException中打开的文件过多_.net Core_Google Cloud Platform_Socketexception_Google Cloud Run - Fatal编程技术网

.net core 运行.net core API/cloud时,系统SocketException中打开的文件过多

.net core 运行.net core API/cloud时,系统SocketException中打开的文件过多,.net-core,google-cloud-platform,socketexception,google-cloud-run,.net Core,Google Cloud Platform,Socketexception,Google Cloud Run,我已经编写了一个.net核心API,它是容器化的,运行在云计算环境中。每次在GCS bucket中创建文件时(每个文件一次),我的api都会收到调用,它会处理该文件并在另一个bucket中写出新文件。目前,我每分钟将大约50-80个文件上传到源bucket。在日志中,我看到了很多这样的错误 System.Net.Http.HttpRequestException: Too many open files in system ---> System.Net.Sockets.SocketExc

我已经编写了一个.net核心API,它是容器化的,运行在云计算环境中。每次在GCS bucket中创建文件时(每个文件一次),我的api都会收到调用,它会处理该文件并在另一个bucket中写出新文件。目前,我每分钟将大约50-80个文件上传到源bucket。在日志中,我看到了很多这样的错误

System.Net.Http.HttpRequestException: Too many open files in system ---> System.Net.Sockets.SocketException: Too many open files in system at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType) at System.Net.Sockets.DualSocketMultipleConnectAsync..ctor(SocketType socketType, ProtocolType protocolType) at System.Net.Sockets.Socket.ConnectAsync(SocketType socketType, ProtocolType protocolType, SocketAsyncEventArgs e) at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)

我还从云运行指标中看到,4xx响应比2xx响应多得多。由于某种原因,我1月31日当天的费用约为10美元,而昨天的费用几乎为2美元。我有一种感觉,很多文件现在只是被4xx删除,而没有得到处理。我会做更多的调查,但我如何才能找出究竟是什么导致4xx错误。如何解决上述错误?我读过一些关于更改linux系统设置以允许更多文件的文章,但我不确定在云运行中运行的.net core api中在何处进行这些更改?

将文件写入bucket后是否关闭这些文件?你在删除它们吗?你有内存不足的错误吗?Grrr,我运行的旧代码没有删除文件的代码。我想这可能就是问题所在。让我知道这就是问题所在@AIK DOHi@AIKDO,如果您运行的旧代码确实是问题所在,那么如果您能够为其他可能面临相同问题的社区用户发布关于您为解决问题而遵循的步骤的答案,将非常有帮助。否则,请使用@sllopis标记通知我。