在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,
在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。
遇到这种情况,基本可以断定是某些大文件被某些程序占用了,并且这些大文件已经被删除了,但是对应的文件句柄没有被某些程序关闭,造成内核无法收回这些文件占用的空间。
那么,如何查找那些文件被某些程序占用呢:
1
2
3
lsof -n | grep deleted
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
dd 31708 higkoo 1w REG 8,2 5523705856 429590 /data/filetest (deleted)
命令:lsof -n| grep deleted打印出所有针对已删除文件的读写操作,这类操作是无效的,也正是磁盘空间莫名消失的根本原因。
解决办法:kill -9 PID ----只需把进程删掉就能释放空间
lsof `which httpd` //那个进程在使用apache的可执行文件
lsof /etc/passwd //那个进程在占用/etc/passwd
lsof /dev/hda6 //那个进程在占用hda6
lsof /dev/cdrom //那个进程在占用光驱
lsof -c sendmail //查看sendmail进程的文件使用情况
lsof -c courier -u ^zahn //显示出那些文件被以courier打头的进程打开,但是并不属于用户zahn
lsof -p 30297 //显示那些文件被pid为30297的进程打开
lsof -D /tmp 显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列
lsof -u1000 //查看uid是100的用户的进程的文件使用情况
lsof -utony //查看用户tony的进程的文件使用情况
lsof -u^tony //查看不是用户tony的进程的文件使用情况(^是取反的意思)
lsof -i //显示所有打开的端口
lsof -i:80 //显示所有打开80端口的进程
lsof -i -U //显示所有打开的端口和UNIX domain文件
lsof -i UDP@[url]www.akadia.com:123 //显示那些进程打开了到www.akadia.com的UDP的123(ntp)端口的链接
lsof -i tcp@ohaha.ks.edu.tw:ftp -r //不断查看目前ftp连接的情况(-r,lsof会永远不断的执行,直到收到中断信号,+r,lsof会一直执行,直到没有档案被显示,缺省是15s刷新)
lsof -i tcp@ohaha.ks.edu.tw:ftp -n //lsof -n 不将IP转换为hostname,缺省是不加上-n参数
原文链接:https://blog.csdn.net/zhaojian1988/article/details/40376771
相关推荐
总之,理解Linux文件系统的运作方式以及如何处理已删除文件的空间释放问题是系统管理员必备的技能。通过监控、定位问题文件并采取适当的释放策略,可以有效地管理磁盘空间,确保系统的稳定运行。在日常运维中,应...
Linux 文件存储机制和存储结构是理解 Linux 中文件已经删除但空间不释放的问题的关键。一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的 meta-data 中,在将数据删除后,这个指针就...
在Linux系统中,通过rm删除文件将会从文件系统的目录结构上解除链接(unlink),如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件磁盘空间也一直被占用 这样会导致我们明明删除了文件,...
了解这些知识后,当遇到Linux文件删除后空间未释放的问题时,就可以有针对性地采取措施来释放磁盘空间。在日常管理中,应该养成良好的文件管理和监控习惯,避免因文件占用导致的磁盘空间不足问题。
在Linux操作系统中,磁盘空间管理和文件删除涉及到文件系统的原理。当遇到大文件已被删除,但使用df命令查看磁盘空间没有减少的情况时,这通常指向了几个关键知识点。 首先,了解df命令的作用。df命令用于检查文件...
在Linux系统中,经常需要清理一些不再需要的老文件来释放磁盘空间或者维护系统的整洁。本文将详细介绍如何利用`find`命令结合其他工具来批量删除指定目录下N天之前的文件。 #### 一、`find`命令简介 `find`是Linux...
总之,"重复文件删除工具Linux32位"是一种实用的工具,利用MD5哈希技术帮助用户高效地查找和删除系统中的重复文件,以优化存储空间。在使用时,务必小心谨慎,确保不会误删重要文件。同时,定期清理重复文件是保持...
在日常运维工作中,经常需要清理服务器上的旧文件来释放磁盘空间或管理文件版本。特别是在Linux环境下,掌握如何高效地按时间批量删除文件是一项非常实用且必要的技能。本文将详细介绍如何利用`find`命令配合其他...
在Linux系统中,释放磁盘空间可以通过删除不必要的文件和日志文件来实现。例如,可以删除/var/log/messages文件来释放磁盘空间。 此外,还可以使用du命令来查找占用磁盘空间最大的文件和目录,然后删除它们以释放...
本主题将详细讲解如何在Linux环境中进行简单的文件读写,以及如何通过定时任务来周期性地存储文件,并在磁盘空间不足时自动删除旧数据。 首先,让我们深入了解Linux中的文件读写操作。在Linux中,一切皆为文件,...
在IT领域,尤其是在系统管理与优化的过程中,重复文件删除是一个重要的任务,因为它可以帮助节省存储空间,提高系统效率。本文将详细介绍“重复文件删除工具Duplicate-File-Eraser”在Linux 64位环境下的应用,以及...
使用这些命令和工具软件,用户可以轻松地清除Linux系统中的垃圾文件,释放磁盘空间,提高系统性能。 清除垃圾文件是Linux系统维护中的一个重要步骤,通过使用命令和工具软件,用户可以轻松地清除垃圾文件,提高系统...
这是由于Linux文件系统为root用户保留了一部分磁盘空间(默认5%),以防系统关键服务在磁盘满时无法运行。要查看或调整这个预留比例,可以使用`tune2fs`命令,例如`tune2fs -m 1 /dev/vda1`,其中1表示预留1%的磁盘...
其中,-r 选项表示递归删除文件夹中的所有文件和子文件夹,-f 选项表示强制删除,不提示用户确认。 删除文件夹的方法 删除文件夹可以使用 rm 命令,也可以使用其他方法,例如使用 find 命令或使用 GUI 文件管理器...
3. **文件操作**:如创建、打开、读取、写入、删除等,都需要适配 VFS 接口,并利用位图进行空间分配和释放。 4. **性能优化**:为了提高效率,可能需要缓存频繁使用的位图块,以及优化查找空闲空间的算法。 5. **...
6. 使用硬盘空间释放工具。这些工具可以释放出未使用的硬盘空间,例如删除零碎的硬盘空间等。 在Linux操作系统中,掌握硬盘空间管理的策略和实践方法是非常必要的。只有通过恰当的管理和维护,才能确保系统的正常...
在本项目中,"模拟Linux文件系统"是一个学习任务,旨在通过C++编程语言来...在实现过程中,可能会遇到一些bug,但只要遵循Linux文件系统的设计原则,并充分理解C++编程,就能逐步解决问题,完成这个有意义的学习任务。
尽管这样做可以暂时缓解内存压力,但交换空间位于硬盘上,其访问速度远低于内存,因此不应作为长期替代物理内存的解决方案。建议的交换空间大小通常是物理内存的两倍,但不超过2GB。如果需要添加交换空间,有两种...
在Linux系统中,所有硬件设备都被视为文件,称为设备文件,位于/dev目录下。设备文件分为字符设备(character device)和块设备(block device)。字符设备通常是流式传输数据,如键盘、串口等,而块设备则以固定...