问题现象

Linux操作系统云服务器根目录空间占用率过高。例如,以图1为例,根目录空间占用率为96%。

根目录空间占用率过高

查询当前系统存在一个约42G 大小的文件access_log,这个文件应该是apache产生的访问日志文件,从日志大小来看,应该是很久没有清理的apache 日志文件了。

执行以下命令删除access_log。
rm /tmp/access_log
执行以下命令查看文件系统使用率。
df -h
删除该文件后使用df查看文件系统使用率仍是96%。

根因分析

通常不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件进程锁定,或者有进程一直在向这个文件写数据,要明白这个问题,首先需要知道 linux 下文件的存储机制和存储结构。

一个文件在文件系统中存放分为两个部分:

指针部分:指针位于文件系统的meta-data中,在将数据删除后,这个指针就从meta-data中清除了。
数据部分:而数据部分存储在磁盘中。
将数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容。之所以出现删除access_log文件后,空间还没有释放,就是因为httpd进程还在一直向这个文件写入内容,导致虽然删除了access_log文件,但是由于进程锁定,文件对应的指针部分并未从meta-data中清除,而由于指针并未删除,系统内核就默认文件并未被删除,因此查询文件系统使用率时,显示空间并未释放。

处理方法
使用lsof命令查看是否有进程一直在向 access_log 文件中写入数据。

lsof -n |grep delete

从输出可以看出,/tmp/access_log 文件被进程 httpd 锁定,而 httpd 进程还一直向这个文件写入日志数据,最后一列的‘deleted’状态说明这个日志文件已经被删除,但是由于进程还在一直向此文件写入数据,因此空间并未释放。

可以选择关闭或者重启httpd进程,或重启操作系统。本节操作推荐在线清空access_log。
执行以下命令清空access_log。

echo “”>/access_log

通过这种方法,磁盘空间不但可以马上释放,也可以保证进程继续向文件写入日志,再次执行df -h查看根分区空间已经释放。

Linux清理磁盘挂载点方法(亲测有效)相关推荐

  1. java访问win10共享盘失败_Win10不能访问共享磁盘的解决方法(亲测能用)

    Win10系统不能访问共享磁盘的问题很常见,主要表现为在访问其他计算机共享的磁盘.文件夹或是网络硬盘时出现没有权限.找不到资源等情况,那么如何解决呢?通常这个问题是由于SBM导致的.下面一起来看看解决 ...

  2. linux清理磁盘空间的脚本,在Ubuntu和Linux Mint上释放空间的7种简单方法

    Linux系统空间不足?您可以通过以下几种方式清理系统,释放Ubuntu和其他基于Ubuntu的Linux发行版上的空间. 随着时间的流逝,随着添加和删除程序,任何操作系统都可能变得混乱.如果您拥有T ...

  3. 最新阿里云ECS服务器挂载数据盘亲测好用挂载成功分享一下

    最近网站打不开了,发现服务器系统盘不够用了.查看磁盘占用情况,系统盘已经快满了,不能考虑到后期的需求,不能每次都去清理,不得不增加数据盘,这里记录下数据盘的挂载过程,也是找了好多参考方法亲测成功分享出 ...

  4. linux下成功安装ffmpeg( 亲测有效 )

    linux下成功安装ffmpeg( 亲测有效 ) 一.下载 二.安装步骤 1.安装yasm 2.安装ffmpeg 总结 一.下载 ffmpeg 官网下载: http://ffmpeg.org/down ...

  5. linux下如何挂载格式化内存卡,Linux下磁盘挂载格式化

    Linux下磁盘挂载格式化 [日期:2007-07-11] 来源:Linux公社 作者:Linuxidc [字体:大 中 小] 虚拟机上的 系统磁盘空间不足了的事情很容易发生, 这时可以通过增加虚拟磁 ...

  6. 电视android已停止运行是什么意思,智能电视提示应用停止运行,三种方法亲测有效!...

    原标题:智能电视提示应用停止运行,三种方法亲测有效! 智能电视使用时间一长,或者是使用不当总会出现一些问题,当电视机页面出现"某软件"已经停止运行提示的时候,是什么原因导致的?自己 ...

  7. 台式电脑计算机硬盘清理,台式电脑重装系统win7清理磁盘碎片的方法

    电脑用了一段时间后,磁盘空间就会产生一些碎片,而碎片越来越多会影响系统的运行速度,最好定期对磁盘整理碎片.下面给大家分享重装系统win7清理磁盘碎片的方法,希望小编的分享能够帮助到大家! 重装系统wi ...

  8. windows 2003 远程桌面无法使用剪贴板共享纯文本的解决方法(亲测可用)

    windows 2003 远程桌面无法使用剪贴板共享纯文本的解决方法(亲测可用) 参考文章: (1)windows 2003 远程桌面无法使用剪贴板共享纯文本的解决方法(亲测可用) (2)https: ...

  9. 微信开发者解除绑定微信公众号的方法,亲测有效

    微信开发者解除绑定微信公众号的方法,亲测有效 微信关注 '公众平台安全助手' 点击'绑定查询',选择'微信号绑定账号',出现以下页面: 点击列表右边的箭头 ,选择'解除绑定'即可: 这个问题相信对很多 ...

最新文章

  1. spring开发_Spring+Struts2
  2. Python编程基础:第十六节 元组Tuple
  3. 【采用】规则引擎Pyke与PyClips对比研究报告(高大上啊,第一次听说pyke和pyclips这俩词~)
  4. linux监控命令详解
  5. C++中各种智能指针的实现及弊端(三)
  6. selenium python下载_使用Selenium、Chrome和Python下载PDF
  7. 【1024开发者节】:2019科大讯飞声博会会议记录——AI+女性,AI+5G
  8. 使用celery执行Django串行异步任务
  9. 2013着重发展的4个方向
  10. 用js解析经json序列化后的C#的DateTime类型数据
  11. centos6 revive-adserver
  12. 离散数学-各种关联词的符号化
  13. php addslashes 防注入,PHP基础-addslashes防sql注入-北漂者
  14. Androidstudio之菜单栏设置
  15. python-shutil对文件的移动,重命名,和删除,压缩
  16. Eclipse 2020-06 汉化包安装步骤(附汉化包+安装教程)(转载)
  17. Smartbi电子表格版功能概览
  18. 怎么样说一段精彩的一分钟的自我介绍
  19. D2FQ(2021 FAST)
  20. 【网络安全】-- 网络渗透技术攻防(--更新中)

热门文章

  1. seaborn.heatmap概述
  2. P6295 有标号 DAG 计数(多项式指数函数对数函数/二项式反演/动态规划/生成函数)
  3. Codeforces Round #602 (Div. 2) D2. Optimal Subsequences stl 黑科技
  4. Codeforces Round #709 (Div. 1, based on Technocup 2021 Final Round) A. Basic Diplomacy
  5. P4070 [SDOI2016]生成魔咒
  6. P1829 [国家集训队]Crash的数字表格 / JZPTAB
  7. How Much Memory Your Code Is Using? Gym - 101955J
  8. [树套树] 网络管理
  9. 模板:Miller-RabinPollard-Rho(数论)
  10. P5074-Eat the Trees【插头dp】