首页
学习
活动
专区
工具
TVP
发布

Linux文件后删除空间释放问题

当系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放的情况。...其实不然,linux的回收站功能想了解的可以与我沟通或查资料了解一下,也是个比较实用的方法,此处我们主要实践文件删除空间释放问题。...此时删除 文件,再查看文件是否被删除空间是否释放 /* 删除文件 */ [root@c7_2 local]# rm -f all_backup.tar.gz /* 查看磁盘空间,没有变化 */...对于此种查询状态情况,需要结束对应程序 /* 杀掉对应进程 */ [root@c7_2 local]# kill -9 1799 1798 /* 空间释放 */ [root@c7_2 local...03 结语 本主要适用于以下场景: 删除文件空间释放 磁盘满了 但是找不到文件 再提示一遍,如果可以使用 echo " ">filename 命令在线清空文件,则无需暴力的结束进程,如果此方法无效时再考虑结束进程

7.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux删除文件,磁盘空间释放问题追踪

在客户使用我们产品后,发现一个问题:在删除了文件后,磁盘空间却没有释放。是有进程在打开这个文件,还是其他情况?我们一起来看看一下两个场景 一....当使用这个文件的进程结束后,文件才会真正的从磁盘删除释放占有的空间。...这次客户在删除文件后,磁盘空间没有释放,通过"lsof"命令也没有找到正在占用此文件的进程。于是再次怀疑这是由于产品的内核模块早成的。...在这种情况下,dentry不会被释放,则inode也就一直被引用着,从而也导致了即使删除文件,也不会从磁盘删除。...而且针对以上的问题和分析,如果不能及时给客户修这个问题,那也只能让其重新启动OS,空闲的磁盘空间才会释放出来。

3.1K21

mysql删除数据空间没有释放

OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。OPTIMIZE TABLE 是指对表进行优化。...这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 。OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起作用 。...但是删除一半数据后,.MYD.MYI 尽然连 1KB 都没有减少 ,这是多么的可怕啊。...当你删除数据 时,mysql 并不会回收,被已删除数据的占据的存储空间,以及索引位。...被删除的记录被保持在链接清单中,后续的 INSERT 操作会重新使用旧的记录位置。您可以使用 OPTIMIZE TABLE 来重新 利用未使用的空间,并整理数据文件的碎片。

5.2K20

rm 删除文件空间释放了吗?

来源:编程珠玑 在 Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间释放了?事情可能不是常常如人意。...空间大小怎么一点都没变!!明明使用rm把它删除了啊?...我们把openFile程序停掉,再看看: $$ df -h /dev/sda11 454M 280M 147M 66% /boot 乖乖,空间马上就释放掉了,也就是按照预期,我们的文件被删除了...如何释放已经被删除文件占用的空间? 关于释放,前面已经说了,重启打开该文件的进程即可。但是有没有方法找到哪些文件被删除了,但还是被某些进程打开了呢?...总结 实际上对于这种文件被删除了,常常出现于程序的日志文件中,可能你有一个定时任务去清理程序产生的日志文件,但是如果程序本身忘记关闭句柄,就会导致磁盘空间得不到释放,最终就是你认为文件都被删除了,但是磁盘却依然被占着

1.5K10

CentOS删除文件后没有释放空间

发现一台服务器的home空间满了,要清空无用的文件,但删除文件后,发现可用空间没有变化 os:centos6.0 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df...,怎么空间没有被释放啊,rm命令应该是直接删除啊,在查看下/home下还有什么占用空间 [root@ticketb ~]# du -h --max-depth=1 /home 16K /home.../lost+found 2.6G /home/oracle 2.6G /home 可这里显示空间已经释放了啊,于是google下, 未释放磁盘空间原因: 在Linux或者Unix系统中...,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被 打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。...一种方法是kill掉相应的进程,或者停掉使用这个文件的应用,让os自动回收磁盘空间 我这个环境有很多进程在使用的这个文件,停掉进程有点麻烦,再有就是风险很大 当linux打开一个文件的时候,Linux

3K10

解决Linux系统删除文件后空间并没有释放的问题

二、原因 未释放磁盘空间的原因:   在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的文件夹结构上解除链接(unlink),然而假设文件是被打开的(有一个进程正在使用),那么进程将仍然能够读取该文件...nginx/logs/t-error.log (deleted)   从输出的结果可以看到 /var/nginx/logs/t-access.log 和 t-error.log 还在被使用中,所以导致未释放空间...那么如何让进程释放呢? 方法1:直接 kill 掉相应的进程,或者停掉使用这个文件的应用,让操作系统自己主动回收磁盘空间。   ...四、删除原理   一般来说,不会出现删除文件后空间释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程在使用这个文件,例如输出日志文件,要了解这个问题,就需要知道Linux下文件的存储机制和存储结构...之所以出现删除大文件后,空间还没有释放,就是因为有进程一直在使用这个文件的指针,日志文件的服务还在运行,导致虽然删除了日志大文件,但文件对应的指针部分由于被进程锁定,并未从meta-data中清除,而由于指针并未被删除

9K30

Linux如何处理文件已删除空间释放的问题

问题产生背景 一个业务系统的服务器监控系统发来预警通知,磁盘空间使用率已经达到90%了,然后就登陆服务器搜索了下比较大的日志文件,全部都删除了(坑在此处埋上了),磁盘空间释放了一些,当时也是疏忽,没有确认查出并删除的文件大小的空间是否已经全部释放...,先找了/tmp/*目录下的文件 Linux系统删除策略:Linux没有回收站功能,所以服务去会将要删除的文件都会先移动到系统/tmp目录下,然后定期清除/tmp目录下的数据。...本次出现删除文件不释放空间,是在删除/home目录空间下的一个dubbo服务日志文件时发生的。...删除文件不释放空间原因 一般情况下不会出现删除文件后空间释放的情况,但在这个文件被进程锁住或者是有进程一直往这个文件写数据等情况下,还是会出现的。...到此这篇关于Linux如何处理文件已删除空间释放的问题的文章就介绍到这了,更多相关Linux 文件删除空间释放内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn

3.7K21

Monodb删除数据和磁盘空间释放

需求: 1、客户数据磁盘空间,剩余空间不足10% 2、mongodb数据库,可以清理数据表。存在问题,清理完成后,磁盘不会自动释放空间。 一、分批删除数据 1、执行命令,根据时间为条件判断。...: {$lte: ISODate("2019-08-31T16:00:00Z")}}) WriteResult({ "nRemoved" : 56447439 }) 二、磁盘空间释放 方法1:使用 compact...命令进行磁盘空间释放 compact命令,在WiredTiger存储引擎的MongoDB上,将重写集合和索引,且释放未使用的空间 命令: use testdb db.runCommand({ compact...3、在使用WiredTiger存储引擎的MongoDB上,compact命令将重写集合和索引,且释放未使用的空间,但使用MMAPv1存储引擎的MongoDB上,该命令只对集合的数据文件进行碎片整理并重新创建其索引...不会释放空间,在使用MMAPv1存储引擎的MongoDB上回收空间,建议使用第三种方法“secondary节点重同步” 4、使用MMAPv1存储引擎的MongoDB中的Capped Collections

1.4K30

MongoDB 删除数据是否会释放存储空间

导语通过删除无用数据来释放存储空间,对于数据库来说是很常见的需求。但是很多 MongoDB用户发现,在执行删除操作后,存储空间并没有很快释放。...本文通过分析 MongoDB 4.0 源代码,并结合测试来讨论 MongoDB 存储空间释放的问题,最后提出一些常用的解决方案。原理分析MongoDB 中常见的删除操作有:1.库表整体删除。...比如 dropCollection/dropDatabase, 会将对应的表、索引文件删除。磁盘空间会很快得到释放。2.逻辑删除部分数据。...比如 delete/remove 操作,一般会指定 filter 删除部分数据。磁盘空间可能不会很快释放。由于方案 1 的结果非常明确,下面主要分析方案 2。...().storageSize466944总结逻辑删除,是否会释放空间综合上述分析,文件变大,变小,不变都有可能。

2.9K40

记一次Linux下文件删除空间释放问题的解决

问题现象 今天早上,收到运维监控系统的告警,说web02这台主机的根分区剩余空间不足20%,于是马上连上服务器查看。...命令获知是/var/lib/AnyBackup/logs/下的日志文件过大导致的异常,前几日的文件都正常,但是前天日志文件有2GB,昨天的日志竟高达17GB,鉴于是生产系统,为保证平台稳定性,在确认可以删除后...,立即将该日志删除,再次执行df命令,但发现磁盘空间并未释放 [root@prd-ds-tms-web02 logs]# df -hT Filesystem Type Size...,空间长久不释放的问题。...,文件的指针由于被进程锁定,依旧存在于文件系统元数据(meta-data)中而并未被删除,因此Linux内核认为文件并未被删除,通过df命令查询空间并未释放也就是情理之中的事情了。

3.5K20

面试官:rm 删除文件空间释放了吗?

来自:编程珠玑 在 Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间释放了?事情可能不是常常如人意。...空间大小怎么一点都没变!!明明使用rm把它删除了啊?...我们把openFile程序停掉,再看看: $$ df -h /dev/sda11 454M 280M 147M 66% /boot 乖乖,空间马上就释放掉了,也就是按照预期,我们的文件被删除了...如何释放已经被删除文件占用的空间? 关于释放,前面已经说了,重启打开该文件的进程即可。但是有没有方法找到哪些文件被删除了,但还是被某些进程打开了呢?...总结 实际上对于这种文件被删除了,常常出现于程序的日志文件中,可能你有一个定时任务去清理程序产生的日志文件,但是如果程序本身忘记关闭句柄,就会导致磁盘空间得不到释放,最终就是你认为文件都被删除了,但是磁盘却依然被占着

1.2K30

删除文件后,磁盘空间没有释放的处理记录

经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢??...中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没释放,就是因为有进程还在一直向这个文件写入内容,导致虽然删除了文件,但文件对应的指针部分由于进程锁定,并未从meta-data...中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。...3)也可以重启操作系统,不过这并不是最好的方法 4)对待这种进程不停对文件写日志的操作,要释放文件占用的磁盘空间,最好的方法是在线清空这个文件。...通过这种方法,磁盘空间不但可以马上释放,也可保障进程继续向文件写入日志。

4.4K70

Linux服务器如何释放内存空间

Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是Linux内存管理中非常出色的一点...,所以乍一看内存剩余的非常少,但是在程序真正需要内存空间时,Linux会将缓存让出给程序使用,这样达到对内存的最充分利用,所以真正剩余的内存是free+buff/cache 但是有些时候大量的缓存占据空间...,这时候应用程序回去使用swap交换空间,从而使系统变慢,这时候需要手动去释放内存,释放内存的时候,首先执行命令 sync 将所有正在内存中的缓冲区写到磁盘中,其中包括已经修改的文件inode、已延迟的块...,由操作系统自动管理 1:释放页缓存 2:释放dentries和inodes 3:释放所有缓存 所以根据上面的说明,分别将1,2,3这3个数字重定向到drop_caches中可以实现内存的释放,一般释放内存都是重定向...到这里内存就释放完了,现在drop_caches中的值为3,另外需要注意的是,在生产环境中的服务器我们不要频繁的去释放内存,只在必要时候清理内存即可,更重要的是我们应该从应用程序层面去优化内存的利用和释放

22.6K10

操作篇:Linux磁盘空间释放解决步骤

经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢??...中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没释放,就是因为有进程还在一直向这个文件写入内容,导致虽然删除了文件,但文件对应的指针部分由于进程锁定,并未从meta-data...中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。...一般这种问题都是由于分区目录下deleted删除后的资源空间没有真正释放出来导致的, 具体处理流程如下: 1.先df -lh查看一下磁盘使用状况, 发现/data分区下的Used已用空间很大, 但是实际查看并没有占用那么大的空间...2.找到被删除文件所在的分区, 比如/data分区 3.查看被删除了的所有文件:lsof -n /data |grep deleted 4.杀死这些文件的delete进程, 释放空间: lsof -n

6.4K31

安全快速地删除 MySQL 大表数据并释放空间

一、需求 按业务逻辑删除大量表数据 操作不卡库,不能影响正常业务操作 操作不能造成 60 秒以上的复制延迟 满足以上条件的前提下,尽快删除数据并释放所占空间         表结构如下: create...导出需要删除数据的主键到文件 -- 在从库执行查询 select userid, avid into outfile '/data/del.txt' from space_visit_av where...将文件分割成 10 万行一个的小文件 cd /data split -l 100000 -d -a 6 del.txt # 删除原文件 rm del.txt 4....遍历文件执行删除 # 后台执行 nohup ~/del.sh > ~/del.log 2>&1 &         del.sh 脚本文件内容如下: #!...使用 pt-online-schema-change 释放删除数据所占空间 # 后台执行 nohup ~/shrink.sh > ~/shrink.log 2>&1 &         shrink.sh

25010

Harbor私有仓库中如何彻底删除镜像释放存储空间

简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间。直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像。...需要停止Harbor服务,执行垃圾回收命令,进行存储空间清理和回收。...#要启用垃圾回收(GC),首先要关闭Harbor服务,然后再执行清理命令 #停止Harbor相关服务 $ docker-compose stop #使用–dry-run参数运行容器,预览运行效果,但不删除任何数据...#不使用–dry-run参数,将删除相关的文件和镜像, $ docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2...garbage-collect /etc/registry/config.yml #重新启动Harbor相关服务 $ docker-compose start 图1:01-先在Harbor UI图形界面中删除不需要的镜像

2.5K10
领券