linux 删除文件还是报错磁盘不足
来源:互联网 发布:c sharp和java 编辑:程序博客网 时间:2024/05/17 07:07
源文章地址:http://blog.csdn.net/mr253727942/article/details/38361469
这几天做LINUX实验的时候,发觉自己删除了一个大文件后用 df -h 指令检测磁盘空间,发现空间并没有减少,后来仔细查询,总结出以下三种不释放内存的可能:
一、该文件已经建立硬链接
这个原因很简单,hardlink是指多个文件名指向同一索引点(inode),只要其中仍然存在一个硬链接都文件内存都不会释放,所以文件具有硬链接是原因之一。
二、系统中有进程正在使用该文件
这个原因解释起来也很简单,如果系统中有进程使用该文件,删除该文件后如果内存释放,则进程会自动结束,造成无法预测的后果。
这里给出一种解决方案:
1、用 lsof | grep deleted命令列出现在被删除但依旧使用的文件
2、这里我可以用kill命令杀掉这个进程,但是请注意,如果当前系统有多个进程正在使用该文件,则停掉会有风险,所以建议先停掉这个进程。
PS:lsof这个命令非常好用这里给大家简单介绍一下:
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。
lisof有很多命令,这里举几个例子简要介绍一下,
三、磁盘空余空间出现问题
这个问题原因就很复杂了,既有物理磁盘损坏又有些磁盘内部分配问题。
这里提供一个可能,大家都知道LINUX文件系统是通过inode索引文件管理blocks区域,如果文件中的inode节点被用完了,则无法分配新空间。
- linux 删除文件还是报错磁盘不足
- Hadoop实战: Linux报 tmp 磁盘存储不足
- Microsoft word2013打开报错“内存或磁盘不足”
- Linux文件删除后磁盘没有释放
- 【Linux-运维】已删除文件占用磁盘
- 文件(夹)操作SHFileOperation (删除 复制 移动) 报错 无法读取源文件或磁盘
- visualbox中linux磁盘不足的解决方法
- linux 磁盘 空间 不足 符号链接
- linux下rm 删除大批量文件报错解决
- 读取磁盘文件 删除
- 磁盘文件删除
- PHP删除磁盘文件
- linux磁盘满时,如何定位并删除文件
- linux删除了占资源的log日志,磁盘还是满的不可用解决方案
- VS2010虚拟内存不足报错
- linux文件管理器的不足
- TX1因磁盘不足,无法正常开机,文件导出办法
- namenode磁盘满引发recover edits文件报错
- 【学习摘记】马士兵bbs改良版_课时37_搜索与最后残留问题解决
- [贪心] BZOJ2006: [NOI2010]超级钢琴
- I2C总线浅淡之(一)---概述
- 2017 PTC Creo 4.0解决方案巡展宁波站圆满落幕
- Redis超级新手指南-下篇(哪吒篇)
- linux 删除文件还是报错磁盘不足
- jQueryday10(选择器部分的复习 浏览器浏览 选择案例)
- javascript深入理解js闭包
- socket原理详解
- JavaEE学习14(应用)--用户自动登陆
- 基于用户投票的排名算法:威尔逊区间
- Linux下QT图形界面开发
- storm 任务提交过程
- 使用Javascript API for ArcGIS 4.X实现二三维一体化