记录上传文件异常 /tmp/tomcat... (No space left on device)

news2024/9/21 22:42:53

一,问题描述

用postman调用上传接口,基本每两次调用会有一次报错,如下

{
    "timestamp": "2023-04-11T03:00:15.469+0000",
    "status": 500,
    "error": "Internal Server Error",
    "exception": "org.springframework.web.multipart.MultipartException",
    "message": "Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. /tmp/tomcat.476807474335553889.8040/work/Tomcat/localhost/ROOT/upload_18b82282_3d69_4839_aa73_fa4f2d02893b_00000427.tmp (No space left on device)",
    "path": "/userService/oss/uploadFile"
}

二,问题排查

先排查日志,上传成功的服务有对应日志,失败的没有日志,说明失败请求没有到上传服务

1》.上传文件会先上传到服务器的临时文件,临时文件有定时清理机制,文件被清理了,所以报上面错误

依据:

/tmp/tomcat.476807474335553889.8040/work/Tomcat/localhost/ROOT/upload_18b82282_3d69_4839_aa73_fa4f2d02893b_00000427.tmp (No space left on device)

对应的解决方案

1.在其他位置新建临时文件存储路径,不放在默认临时文件中tmp,这样就不会被清理

2.设置tomcat.文件不被清理

3.重启,重启会重新生成临时文件

参考:

FileNotFoundException /tmp/tomcat.26341039_Erwinl的博客-CSDN博客

上传文件突然报错/tmp/tomcat_/tmp/tomcat.3780801945149811830.8904/work/tomcat/l_he_xiao123的博客-CSDN博客

2》.磁盘空间不足

依据:No space left on device

三,结论

尝试了,在上传服务器,新建临时文件与重启服务均未解决,磁盘空间占用也不大

 原因:

没有找到问题点,应该先排查网关服务的问题,不应该直接看上传接口对应的服务器,所以上面解决方案前提都是错误的。以上问题在网关服务排查一遍,发现两台网关中有一台磁盘空间满了,重启后,上传接口正常了,解释了为什么上传时成功一次失败一次。

参考这篇文章

No space left on device问题解决记录_caohl04的博客-CSDN博客

四,临时文件与删除策略

临时文件

按理说临时文件默认在tmp/tomcat.........,但这个目录下并没有上传照片信息,是空的

 删除临时文件配置

 疑问

1.这里配置自动删除临时文件是tmp,为什么上传文件没有存在这里,实际存在哪里

2.磁盘空间占满,是哪里满了,哪里的临时文件

3.D /tmp 1777 root root -

这个命令中 - 是什么意思,没有配置具体天数,是不是临时文件不会删除

如果把这个替换成具体天数,是否可实现定时自动删除临时文件,但问题排查后,上传图片信息又不在这个临时文件中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【活动】想对大学的自己说……

写在前面: 时间过得真的很快,眨眼间我们已经走过了这么多年的大学时光。回想起来,我们曾经有过无数的欢笑和泪水,有过无数的成功和挫败,但是这些经历都让我们变得更加坚强和成熟。如果现在有机会回到大学时光&#xff…

【LInux】进程间通信 -- 匿名管道

前言 我们在学习进程管理,进程替换时,都强调了进程的独立性,那进程间通信是什么?这好像和进程的独立性相矛盾吧? 那么今天,我们就来学习进程间通信,和第一种通信方式 – 管道 文章目录 前言一. …

高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务

目录 前言一、nohup命令详解1-1、nohup命令介绍1-2、语法格式1-2-1、基础语法介绍1-2-2、执行脚本文件1-2-3、执行python文件1-2-4、拓展延申:在服务器上运行后台进程1-2-5、nohup和&的区别 二、进程查看2-1、jobs命令(基本不用)2-2、ps命…

Android进阶宝典—在Compose中跳转Fragment

使用场景 我们原有的项目中基本采用的是单Activity架构,页面之间的跳转都是通过Navigation进行的,举个简单的例子。 在这种单Activity架构模式下,有一天我们想把MainActivity或者BFragment使用Compose重构,这个时候我们就需要去…

PasteSpider软件优势介绍

PasteSpider采用.netcore编写,运行于linux服务器的docker/podman里面,涉及的技术或者工具有podman/docker,registry,nginx,top,ssh,git,svn等。 PasteSpider可以更好的为你执行服务的升级和维护工作。支持集群模式安装,也支持单例模式运行。…

如何为 Apple 官方 SwiftUI 示例中的图表元素加上首显动画?

0. 概览 在 Apple 官方教程示例 Animating Views and Transitions 中,苹果为我们展示了如何为 SwiftUI 中的各种视图添加动画和过渡效果。 在示例的最后,我们在完成 3 种不同数据类型(Elevation, Heart Rate, Pace)切换的同时,顺面收获了美美的图表元素动画效果: 不过,…

科研方向与个人思考

文章目录 关于科研选题与方法的若干思考如何选题选题tips确定研究问题之后如何读论文——与一篇优秀论文作者的博弈阅读论文的技巧代码实现过程中成果发表四步走:科技论文的书写顺序学会利用工具科研的正确姿势 研究生时间线个人思考入门一个领域的步骤(…

【有功-无功协调优化】基于改进多目标粒子群优化算法(小生境粒子群算法)的配电网有功-无功协调优化研究(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

Windows 安装 GDAL C++库

Windows 安装 GDAL C库1. 方法1:下载配置网友编译的GDAL版本1.1 下载1.2 配置1.3 测试1.4 缺点2. 方法2:自己编译3. 参考1. 方法1:下载配置网友编译的GDAL版本 1.1 下载 CSDN: GDAL,geos联合编译的库,版本为1.8.0&am…

VMware虚拟机搭建

网络步骤 VMWARE虚拟机NAT模式上网设置 VM虚拟机设置 虚拟机全局设置 启动虚拟机选择【虚拟网络编辑器】 如果需要管理员权限点【更改设置】,没有提示这忽略这一步 选择NAT模式,更改下面的子网IP,改成你需要的任何一个子网网段(…

KDZD608屏蔽服效率测试仪

一、产品概述 KDZD608型屏蔽服效率试验装置(带电作业用屏蔽服屏蔽效率试验装置)是对屏蔽服进效率试验的专用设备,广泛用于电力系统、生产厂家和科研单位不可缺少的检测设备。KDZD608型屏蔽服效率试验装置根据最新国家标GB6568.2-86《带电作业…

9.含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度

说明书 MATLAB代码:含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度 关键词:冰蓄冷空调 CCHP-MG 多时间尺度优化 冷热电联供 参考文档:《含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度》完全复现 仿真平台:MATLAB yal…

算法学习day57

算法学习day57 1.力扣647. 回文子串1.1 题目描述1.2分析1.3 代码 2.力扣 516.最长回文子序列2.1 题目描述2.2 分析2.3 代码 3.参考资料 1.力扣647. 回文子串 1.1 题目描述 题目描述: 给定一个字符串,计算这个字符串中有多少个回文子串。 具有不同开始…

TenserRT(一)模型部署简介

第一章:模型部署简介 — mmdeploy 0.12.0 文档 pytorch.onnx.export方法参数详解,以及onnxruntime-gpu推理性能测试_胖胖大海的博客-CSDN博客 我们来谈谈ONNX的日常 - Oldpan的个人博客 初识模型部署 训练:网络结构(深度学习框…

【Windows】更换笔记本键盘操作

目录 一、拆旧 1、电脑保持关机状态 2、拆下电池 3、拧开中间这块区域的螺丝 4、拿键盘进行对照,找到对应的固定键盘的螺丝的位置,拧开 5、直接撬起原本的键盘,注意不要扯到下面的排线,小心点 二、换新 6、换新键盘&#…

公司新招了个腾讯拿38K的人,让我见识到了什么才是测试天花板···

5年测试,应该是能达到资深测试的水准,即不仅能熟练地开发业务,而且还能熟悉项目开发,测试,调试和发布的流程,而且还应该能全面掌握数据库等方面的技能,如果技能再高些的话,甚至熟悉分…

ubuntu_修改libc.so.6 或者 libm.so.6的软链接导致sudo ls 等命令失效的解决方法

1. 背景 运行一个binary 应用程序, 提示报错: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.27 not found (required by 我的应用程序string 里一下符号标, 确实没有然后下载了一个 glibc-2.27, 安装到 usr/local/下, 并将 libm-2.27.so 和 libc-2.27.so 复制到 /lib/x8…

点云的处理

一、激光点云 激光点云指的是由三维激光雷达设备扫描得到的空间点的数据集,每一个点云都包含了三维坐标(XYZ)和激光反射强度(Intensity),其中强度信息会与目标物表面材质与粗糙度、激光入射角度、激光波长以…

基于imx8m plus开发板全体系开发教程3:Ubuntu 20.04 编译

前言: i.MX8M Plus 开发板是一款拥有 4 个 Cortex-A53 核心,运行频率 1.8GHz;1 个 Cortex-M7 核心,运行频率 800MHz;此外还集成了一个 2.3 TOPS 的 NPU,大大加速机器学习推理。 全文所使用的开发平台均为与NXP官方合作的FS-IMX8…

websorm启动vue项目修改内容后自动运行内存溢出

手动启动vue项目正常运行,修改部分内容保存后会自动重新run一下, 这个时候就报错内存溢出,然后很悲伤的需要再手动重启一下。 (在网上查了好多方法就不单独加链接了) 前3个方法都试过对于我的项目无效,第4…