当前位置: 技术问答>linux和unix
linux 系统rm 删除文件后,磁盘空间不释放
来源: 互联网 发布时间:2017-05-07
本文导语: 嵌入式linux,用的yaffs文件系统;想升级设备用新的库文件替换掉以前旧的库文件:本来想直接覆盖,提示空间不足,得知cp覆盖是在新的空间放置新文件,然后才将节点修改掉;用rm -rf删除掉那些旧的库文件后,发...
嵌入式linux,用的yaffs文件系统;想升级设备用新的库文件替换掉以前旧的库文件:本来想直接覆盖,提示空间不足,得知cp覆盖是在新的空间放置新文件,然后才将节点修改掉;用rm -rf删除掉那些旧的库文件后,发现磁盘空间没怎么释放,要替换这些文件提示没空间;后来网上查询才知道是被删除的文件正在被进程使用,所以linux系统认为文件还存在,不对其空间进行释放,需要杀掉进程才可以。
但是我这个进程却是不能杀的,影响太大;不知道有没有大神知道有什么其他方法没有啊?可以在不杀进程的情况下,释放掉磁盘空间;或者不用rm删除也行,只要能够让我的新库文件替换掉原来的这些旧库文件~~
拜谢各位了!!
但是我这个进程却是不能杀的,影响太大;不知道有没有大神知道有什么其他方法没有啊?可以在不杀进程的情况下,释放掉磁盘空间;或者不用rm删除也行,只要能够让我的新库文件替换掉原来的这些旧库文件~~
拜谢各位了!!
|
试试用这个命令清空文件内容:
>/tmp/test.txt
|
使用 sync,将缓存数据保存磁盘试试;删除的文件太小,系统感知不到,多删除一些大文件看看。
|
NAND,没接触过。如果单在Linux上面删除100多兆文件就想让系统感知,这个比较难。
|
使用
最后一列可以看到很多deleted的进程
杀掉这些进程即可释放空间
lsof folder | grep -i delete
最后一列可以看到很多deleted的进程
杀掉这些进程即可释放空间
|
建一个新的ramdisk,把之前的拷贝过去,把不需要的删除,这样行不行