向Netty服务器发送大文件失败的原因和解决方法

上传失败:java.lang.OutOfMemoryError: Cannot reserve 701708538 bytes of direct buffer memory (allocated: 1852148983, limit: 2118123520)

明显原因是oom报错,很有可能忽略的一点原因,服务器内存不够

查了一整天发现是服务器内存不足,无法处理单个大文件(1个G左右)(顺便一提错误信息一定要服务端记录后发给客户端,昨天以为是客户端报错,但客户端有32G,迷惑了)

通过增大jvm内存、关闭其他软件、使用虚拟内存等方式解决。

被自己气笑了,记录一下。

当 gRPC Channel 向 Netty Server 发送数据时,可能会导致数据发送失败原因有很多。以下是一些常见的失败原因: 1. 无法连接到服务器:可能是由于网络问题、服务器不可用或端口未正确配置等原因导致无法建立连接。 2. 服务器未正确配置或启动:如果服务器未正确配置 gRPC 服务或未成功启动,客户端将无法连接到服务器。 3. 防火墙或代理问题:防火墙或代理服务器可能会阻止 gRPC 数据包的传输,导致连接失败。 4. 传输层问题:可能是由于网络中的传输层问题(如丢包、延迟或带宽限制)导致数据发送失败。 5. TLS/SSL 配置问题:如果使用了 TLS/SSL 进行加密通信,并且证书或密钥配置不正确,可能会导致连接失败。 6. 客户端配置问题:如果客户端的配置参数不正确,如超时时间设置不合理、负载均衡策略选择不当等,可能会导致数据发送失败。 为了确定具体的失败原因,可以进行以下调试步骤: - 确保服务器正常运行并监听正确的主机名和端口号。 - 检查客户端和服务器之间的网络连接是否正常,例如使用 `ping` 命令测试网络连通性。 - 检查防火墙或代理服务器的设置,确保 gRPC 数据包可以正常通过。 - 检查 TLS/SSL 配置并确保证书和密钥正确配置。 - 检查客户端的配置参数,确保它们与服务器的期望配置匹配。 通过以上步骤进行调试,可以帮助确定数据发送失败的具体原因,并采取适当的措施解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值