相关文章推荐
玉树临风的领带  ·  教程:Azure Active ...·  1 年前    · 
多情的剪刀  ·  UITableViewDelegate.Ed ...·  1 年前    · 

今天项目启动不起来,报两个错误no space left on device和Unable to create tempDir, java.io.tmpdir

一、Unable to create tempDir, java.io.tmpdir

原因是项目启动时会创建一个临时目录存放数据解决方法有两个

1. 重新指定临时文件位置 java -Djava.io.tempdir=D:/tmpdir -jar -my_project.jar

2. 手动创建指定文件夹

但是检查后linux服务器是上tmp文件夹存在,账号也拥有可读可写权限

在不同的操作系统上java.io.tmpdir指向的目录是不一样的,下面是网上给的参考资料

操作系统不同 这个系统属性所表示的目录也不同
On Windows: java.io.tmpdir:[C:\Documents and Settings\用户名\Local Settings\Temp]
On Solaris: java.io.tmpdir:[/var/tmp/]
On Linux: java.io.tmpdir: [/tmp]
On Mac OS X: java.io.tmpdir: [/tmp]

二:no space left on device(磁盘空间不足)

df -h 一看却发现还有挺多没有用
df -i 一看发现是i node s空间满了

###解决方法
####1.删除掉没用的临时文件,释放inodes

可以到/tep目录下看看有没有很多sess_xxxx的 session 临时文件

ls -lt /tmp | wc -l

如果发现文件特别多,则:

find /tmp -type f -exec rm {} \;

####2.0字节的文件也会占用一个inode,也必须删除掉

遍历查找并删除

find /home -type f -size 0 -exec rm {} \;

####3.遍历所有文件目录找出占空间大的文件,进行适当删除

先遍历出来占的空间大的目录

for i in /*; do echo $i; find $i | wc -l; done
(如果确定是某个目录下面,则/转换为该目录绝对路径,如/var/spool,则使用for i in /var/spool/*; do echo $i; find $i | wc -l; done)

我的是发现/log/xxl-job/jobhandler日志太多,这是xxl-job执行器的默认路径,删除多余日志,并配置自动清理

### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=30
在ubuntu服务器上运行我的springboot Web服务Java jar应用程序会导致出现以下错误,我已经对该错误进行了一些研究,但是无法获得解决方案。 我用来运行jar文件的命令是java -jar mySpringBootApp.jarorg.springframework.context.ApplicationContextException: Unable to start web... 因为未知原因,jdk-8u212-windows-x64.exe安装不上,拷贝别人安装好的文件夹C:\Program Files\Java\jdk1.8.0_231到自己的电脑,后端程序可以执行,但报以下错误信息: Unable to create tempDir. java.io.tmpdir is set to C:\Users\ADMINI~1\AppData 解决办法: 删掉拷贝别人... 无法创建 tempDirjava.io.tmpdir 设置为 /tmp Unable to create tempDir. java.io.tmpdir is set to /tmp 解决方法: 第一种: 更改 /tmp目录 的权限以授予您的用户访问权限 # chmod -R 777 /tmp 第二种:将用户添加到sudo组 偶然遇到,在此记录一下:Unable to create tempDir. java.io.tmpdir is set to C:\Windows\ 背景:eclipse + jdk8 debug时会报错,但是能够通过run启动 百度了一些原因是项目路径中存在中文导致的乱码;但是我的项目路径没有中文 后来在论坛找到一个靠谱的回答(感谢): 给java.io.tmpdir创造一个文件夹 步骤:window -> preferences -> java -> Installed J Writing objects: 100% (6/6), 1.41 KiB | 1.42 MiB/s, done. Total 6 (delta 5), reused 0 (delta 0) remote: error: unable to create temporary file: No space left on device remote: fatal: failed to write object error: remote unpack failed: unpack-objects abnorm . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spr... 这里写自定义目录标题使用mvn或者手动启动spring boot 程序报以下错误: 使用mvn或者手动启动spring boot 程序报以下错误: Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to create tempDir. java.io.tmpd... java.io.IOException: No space left on device 原因是 /root/tmp 空间不够了,可以制定自己的tmp目录, 在conf/spark-default.conf 里加上 “spark.local.dir /home/XXX/你自己的目录” 即可。