<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]因删除的文件被系统进程打开，那么文件实际上并没有被删除，因此空间没有被释放，出现Linux下文件已删空间还是不足，经常遇到文件已经删除，但是空间因进程还在并没有释放的原因，一个队列进程把磁盘写满后，即使杀死PHP队列进程和对应的大文件后df -h的/ 100%占满，经lsof grep Remote.log发现是Filebeat，一文件多进程读取导致。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Fri, 05 Jan 2018 05:45:33 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	大多原因是删除的文件被系统进程打开，那么文件实际上并没有被删除，因此空间没有被释放。<br/>三次发现类似文件：<br/>lsof -n /sec_syslog/<br/>COMMAND&nbsp;&nbsp;&nbsp;&nbsp;PID USER&nbsp;&nbsp; FD&nbsp;&nbsp; TYPE DEVICE&nbsp;&nbsp;&nbsp;&nbsp; SIZE/OFF&nbsp;&nbsp;&nbsp;&nbsp;NODE NAME<br/>rsyslogd&nbsp;&nbsp;1228 root&nbsp;&nbsp; 11w&nbsp;&nbsp; REG 253,17&nbsp;&nbsp;&nbsp;&nbsp;701955294 9437186 /sec_syslog/2024-05-05/10.71.59.14.log (deleted)<br/>rsyslogd&nbsp;&nbsp;1228 root&nbsp;&nbsp; 26w&nbsp;&nbsp; REG 253,17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21333 9437187 /sec_syslog/2024-05-05/127.0.0.1.log (deleted)<br/>rsyslogd&nbsp;&nbsp;1228 root&nbsp;&nbsp; 27w&nbsp;&nbsp; REG 253,17&nbsp;&nbsp;40433209822 6553602 /sec_syslog/2024-05-06/10.71.59.14.log (deleted)<br/>猜测是因为sec_syslog导致的，以下得到验证：<br/>lsof&nbsp;&nbsp;-nPp 1228&#124;grep sec_syslog<br/>rsyslogd 1228 root&nbsp;&nbsp; 11w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;&nbsp;&nbsp;701955294&nbsp;&nbsp; 9437186 /sec_syslog/2024-05-05/10.71.59.14.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 26w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21333&nbsp;&nbsp; 9437187 /sec_syslog/2024-05-05/127.0.0.1.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 27w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;40433209822&nbsp;&nbsp; 6553602 /sec_syslog/2024-05-06/10.71.59.14.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 28w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4649024&nbsp;&nbsp; 6553603 /sec_syslog/2024-05-06/127.0.0.1.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 29w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3681387&nbsp;&nbsp; 2883586 /sec_syslog/2024-05-07/127.0.0.1.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 30w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17 119666961091&nbsp;&nbsp; 2883587 /sec_syslog/2024-05-07/10.71.59.14.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 31w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5869568&nbsp;&nbsp; 6946818 /sec_syslog/2024-05-08/127.0.0.1.log (deleted)<br/>rsyslogd 1228 root&nbsp;&nbsp; 32w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 253,17&nbsp;&nbsp;50329927680&nbsp;&nbsp; 6946819 /sec_syslog/2024-05-08/10.71.59.14.log (deleted)<br/>重启后，也就好了：<br/>df -h<br/>Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;&nbsp;Used Avail Use% Mounted on<br/>/dev/vdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 197G&nbsp;&nbsp; 78M&nbsp;&nbsp;187G&nbsp;&nbsp; 1% /sec_syslog<br/><br/><br/>二次发现类似问题：还得靠lsof -n / &#124;grep deleted&nbsp;&nbsp;，操作如下：<br/>删了大文件，但是这个文件没有释放，ls -n / &#124;grep deleted 反查到<br/>lsof -n / &#124;grep deleted <br/>baserepor&nbsp;&nbsp;3827&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;2w&nbsp;&nbsp; REG&nbsp;&nbsp;253,1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 2492090 /tmp/xuoasefasd.err (deleted)<br/>tshark&nbsp;&nbsp;&nbsp;&nbsp;47796&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;5r&nbsp;&nbsp; REG&nbsp;&nbsp;253,1 14106508896 2492042 /tmp/wireshark_pcapng_eth0_20201015103006_KWTDIm (deleted)<br/>dumpcap&nbsp;&nbsp; 47802&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;4u&nbsp;&nbsp; REG&nbsp;&nbsp;253,1 14106508896 2492042 /tmp/wireshark_pcapng_eth0_20201015103006_KWTDIm (deleted)<br/><br/>查命令历史：<br/>root_shell_cmd [xiangdong 10.4.12.52] [/tmp] 1056&nbsp;&nbsp;[2020-10-15 11:52:14] cd wireshark_pcapng_eth0_20201015103006_KWTDIm <br/>root_shell_cmd [xiangdong 10.4.12.52] [/tmp] 1057&nbsp;&nbsp;[2020-10-15 11:52:17] tail -f wireshark_pcapng_eth0_20201015103006_KWTDIm <br/>root_shell_cmd [xiangdong 10.4.12.52] [/tmp] 1058&nbsp;&nbsp;[2020-10-15 11:52:21] ls<br/>root_shell_cmd [xiangdong 10.4.12.52] [/tmp] 1059&nbsp;&nbsp;[2020-10-15 11:52:24] rm -rf wireshark_pcapng_eth0_20201015103006_KWTDIm <br/><br/>再次确认删了，但是磁盘空间还在：<br/>ls -lart /tmp/wireshark_pcapng_eth0_20201015103006_KWTDIm<br/>ls: cannot access /tmp/wireshark_pcapng_eth0_20201015103006_KWTDIm: No such file or directory<br/><br/>由于是tahshrk，估计tcpdump是它调用起来的，应该也是，查看进程名：<br/>cat /proc/47796/status &#124;grep Name<br/>Name:&nbsp;&nbsp; tshark<br/>ps -eo&quot;pid,ppid,gid,sid,tty,cmd&quot; --forest&#124;less<br/> 1238&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;1238 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/sbin/sshd -D<br/>42045&nbsp;&nbsp;1238&nbsp;&nbsp;&nbsp;&nbsp; 0 42045 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ sshd: xiangdong [priv]<br/>42047 42045&nbsp;&nbsp;1040 42045 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp; &#92;_ sshd: xiangdong@pts/0,pts/1,pts/2,pts/3<br/>47537 42047&nbsp;&nbsp;1040 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ -bash<br/>47585 47537&nbsp;&nbsp;1040 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp; &#92;_ sudo su -<br/>47586 47585&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ su -<br/>47587 47586&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ -bash<br/>47628 47587&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ sudo su -<br/>47629 47628&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ su -<br/>47630 47629&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ -bash<br/>47796 47630&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ tshark -n -t a -R http.request -T fields -e frame.time -e ip.src -e http.host -e http.request.method -e http.request.uri<br/>47802 47796&nbsp;&nbsp;&nbsp;&nbsp; 0 47537 pts/1&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ /sbin/dumpcap -n -i eth0 -Z none<br/><br/>果然：<br/>root&nbsp;&nbsp;&nbsp;&nbsp; 47796 47630&nbsp;&nbsp;2 10:30 pts/1&nbsp;&nbsp;&nbsp;&nbsp;00:04:51&nbsp;&nbsp;&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ tshark -n -t a -R http.request -T fields -e frame.time -e ip.src -e http.host -e http.request.method -e http.request.uri<br/>root&nbsp;&nbsp;&nbsp;&nbsp; 47802 47796&nbsp;&nbsp;0 10:30 pts/1&nbsp;&nbsp;&nbsp;&nbsp;00:00:36&nbsp;&nbsp;&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;_ /sbin/dumpcap -n -i eth0 -Z none<br/><br/>杀了它就好了，磁盘就释放了：<br/>df -h<br/>/dev/vda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40G&nbsp;&nbsp; 37G&nbsp;&nbsp;583M&nbsp;&nbsp;99% /<br/>变为：<br/>pkill tshark<br/>df -h<br/>/dev/vda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40G&nbsp;&nbsp; 24G&nbsp;&nbsp; 14G&nbsp;&nbsp;64% /<br/><br/>告诉我们要记得退出tshark，别让它后台运行，删文件前用 lsof wireshark_pcapng_eth0_20201015103006_KWTDIm 看这个tshak进程还在不在。<br/>来自：<a href="https://www.cnblogs.com/zhangrongfei/p/12463466.html" target="_blank">https://www.cnblogs.com/zhangrongfei/p/12463466.html</a><br/><br/>经过lsof直接看文件谁打开了：#lsof /var/log/messages<br/>COMMAND&nbsp;&nbsp; PID USER&nbsp;&nbsp; FD&nbsp;&nbsp; TYPE DEVICE SIZE/OFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NODE NAME<br/>rsyslogd 1994 root&nbsp;&nbsp;&nbsp;&nbsp;6w&nbsp;&nbsp; REG&nbsp;&nbsp;253,0&nbsp;&nbsp;&nbsp;&nbsp;39892 101327940 /var/log/messages<br/><br/>背景：机器长时间运行往往磁盘空间满了，但是删除了还是占用很大空间和没删除几乎一样，怎么办？<br/>运维监控系统发来通知，报告一台服务器空间满了，登陆服务器查看，根分区确实满了，这里先说一下服务器的一些删除策略，由于 linux 没有回收站功能，所以线上服务器上所有要删除的文件都会先移到系统 / tmp 目录下，然后定期清除 / tmp 目录下的数据。这个策略本身没有什么问题，但是通过检查发现这台服务器的系统分区中并没有单独划分 / tmp 分区，这样 / tmp 下的数据其实占用根分区的空间，既然找到了问题，那么删除 / tmp 目录下一些占用空间较大的数据文件即可。<br/><br/>发现真出现了，一个队列进程把磁盘写满后，即使杀死PHP队列进程和对应的大文件后df -h的/ 100%占满，经lsof &#124;grep &quot;Remote.log&quot;发现是Filebeat：<br/>实践解决如下，确定杀光了：<br/>ps aux &#124;grep&nbsp;&nbsp;Daemon &#124;awk &#039;&#123;print $2&#125;&#039; &#124;xargs kill -9<br/>kill 10379: No such process<br/>空间还是占用100%，用 lsof查看，这个命令还可以用来看端口对应的程序，如：<br/>/usr/sbin/lsof -i tcp:5902<br/>COMMAND&nbsp;&nbsp; PID USER&nbsp;&nbsp; FD&nbsp;&nbsp; TYPE DEVICE SIZE/OFF NODE NAME<br/>Xvnc&nbsp;&nbsp;&nbsp;&nbsp;24560 root&nbsp;&nbsp;&nbsp;&nbsp;9u&nbsp;&nbsp;IPv4 763173&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0t0&nbsp;&nbsp;TCP *:5902 (LISTEN)<br/>Xvnc&nbsp;&nbsp;&nbsp;&nbsp;24560 root&nbsp;&nbsp; 10u&nbsp;&nbsp;IPv6 763174&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0t0&nbsp;&nbsp;TCP *:5902 (LISTEN)<br/><br/>lsof -i :80<br/>COMMAND&nbsp;&nbsp; PID USER&nbsp;&nbsp; FD&nbsp;&nbsp; TYPE&nbsp;&nbsp;&nbsp;&nbsp;DEVICE SIZE/OFF NODE NAME<br/>nginx&nbsp;&nbsp; 41167 root&nbsp;&nbsp; 18u&nbsp;&nbsp;IPv4 249906712&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0t0&nbsp;&nbsp;TCP *:http (LISTEN)<br/><br/>lsof &#124;grep &quot;Remote.log&quot; 发现是filebeat :<br/><textarea name="code" class="php" rows="15" cols="100">
lsof &#124;grep &quot;Remote.log&quot;
filebeat&nbsp;&nbsp; 56412&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;9r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8,3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32768&nbsp;&nbsp;&nbsp;&nbsp;3148902 /data/logs/app/Remote.log
filebeat&nbsp;&nbsp; 56412&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp; 15r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8,3 239896014848&nbsp;&nbsp;&nbsp;&nbsp;3148971 /data/logs/app/Remote.log (deleted)
</textarea><br/>重启一下Filebeat下吧:<br/>/etc/init.d/filebeat restart<br/>Stopping filebeat: <br/>Config OK<br/>Stopping filebeat:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [&nbsp;&nbsp;OK&nbsp;&nbsp;]<br/>2018/03/22 08:29:07.965771 config.go:86: INFO Additional configs loaded from: /etc/filebeat/conf.d/sec.yml<br/>Config OK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [&nbsp;&nbsp;OK&nbsp;&nbsp;]<br/>再看这个文件还在，是新生成的，但是空间就变正常了。AddTime：2018-03-22<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>=============================================================================<br/># du -sh /tmp/* &#124; sort -nr &#124;head -3<br/>通过命令发现在 / tmp 目录下有个 66G 大小的文件 access_log，这个文件应该是 apache 产生的访问日志文件，从日志大小来看，应该是很久没有清理的 apache 日志文件了，基本判定是这个文件导致的根空间爆满，在确认此文件可以删除后，执行如下删除命令，<br/># rm /tmp/access_Iog<br/># df -h<br/><br/>从输出来看，根分区空间仍然没有释放，这是怎么回事<br/>一般来说不会出现删除文件后空间不释放的情况，但是也存在例外，比如文件进程锁定，或者有进程一直在向这个文件写数据，要理解这个问题，就需要知道 linux 下文件的存储机制和存储结构。<br/><br/>一个文件在文件系统中存放分为两个部分：数据部分和指针部分，指针位于文件系统的 meta-data 中，在将数据删除后，这个指针就从 meta-data 中清除了，而数据部分存储在磁盘中。在将数据对应的指针从 meta-data 中清除后，文件数据部分占用的空间就可以被覆盖并写入新的内容，之所以出现删除 access_log 文件后，空间还没有释放，就是因为 httpd 进程还在一直向这个文件写入内容，导致虽然删除了 access_Ilog 文件，但是由于进程锁定，文件对应的指针部分并未从 meta-data 中清除，而由于指针并未删除，系统内核就认为文件并未被删除，因此通过 df 命令查询空间并未释放。<br/><br/>问题排查：<br/>既然有了解决思路，那么接下来看看是否有进程一直在向 access_log 文件中写入数据，这里需要用到 linux 下的 losf 命令，通过这个命令可以获取一个仍然被应用程序占用的已删除文件列表<br/><br/># lsof &#124; grep delete<br/>从输出可以看出，/tmp/access_log 文件被进程 httpd 锁定，而 httpd 进程还一直向这个文件写入日志数据，最后一列的‘deleted’状态说明这个日志文件已经被删除，但是由于进程还在一直向此文件写入数据，因此空间并未释放。<br/><br/>解决问题：<br/>到这里问题就基本排查清楚了，解决这一类问题的方法有很多，最简单的方法就是关闭或者重启 httpd 进程，当然重启操作系统也可以。不过这些并不是最好的办法，对待这种进程不停对文件写日志的操作，要释放文件占用的磁盘空间，最好的方法是在线清空这个文件，具体可以通过如下命令完成:<br/># echo “”&gt;/tmp/access_log<br/><br/>通过这种方法，磁盘空间不但可以马上释放，也可以保障进城继续向文件写入日志，这种方法经常用于在线清理 apache /tomcat/nginx 等 web 服务产生的日志文件。<br/><br/><br/><br/>摘自：http://mp.weixin.qq.com/s/AJtnz_CE3pmhoaMHm6HNXA
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]因删除的文件被系统进程打开，那么文件实际上并没有被删除，因此空间没有被释放，出现Linux下文件已删空间还是不足，经常遇到文件已经删除，但是空间因进程还在并没有释放的原因，一个队列进程把磁盘写满后，即使杀死PHP队列进程和对应的大文件后df -h的/ 100%占满，经lsof grep Remote.log发现是Filebeat，一文件多进程读取导致。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>