lsof 命令用法:查看已删除空间却没有释放的进程

查看已经删除的文件,空间有没有释放,没有的话kill掉pid

lsof -n |grep deleted

lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。

问题描述:

服务报警根分区使用率超过95%,上来查看发现96%使用率;

但是/分区下面的目录,每个查询加起来也不到4G空间,多出来的40G不知道在哪里?

find查询也没有找到大文件;

分析原因:

可能是系统进程占用的空间没有释放掉,导致的;

通过命令查看发现,php进程一共有3个,都是处于deleted状态,文件大小刚好是40G,正好是多出来的空间,找到问题所在;

解决办法:

找到对应的php进程号,kill掉即可;

[[email protected] WebServer]# lsof -n / |grep deleted
mysqld     2660   mysql    4u   REG    8,2           0  524290 /tmp/ibSF7sXt (deleted)
mysqld     2660   mysql    5u   REG    8,2           0  524305 /tmp/ibCCM4u4 (deleted)
mysqld     2660   mysql    6u   REG    8,2           0  524309 /tmp/ibKuAG2E (deleted)
mysqld     2660   mysql    7u   REG    8,2           0  524315 /tmp/ibcLe4Bf (deleted)
mysqld     2660   mysql   11u   REG    8,2           0  524316 /tmp/ibW2n1iQ (deleted)
php        7045    root    0r   REG    8,2        1172  524374 /tmp/sh-thd-1494029191 (deleted)
php        7045    root    2w   REG    8,2 42413952626  657428 /var/spool/at/spool/a0100c017bf37c (deleted)
php        7054    root    0r   REG    8,2        1172  524374 /tmp/sh-thd-1494029191 (deleted)
php        7054    root    2w   REG    8,2 42413952626  657428 /var/spool/at/spool/a0100c017bf37c (deleted)
php       12730    root    0r   REG    8,2        1172  524374 /tmp/sh-thd-1494029191 (deleted)
php       12730    root    2w   REG    8,2 42413952626  657428 /var/spool/at/spool/a0100c017bf37c (deleted)
mysqld    17855   mysql    4u   REG    8,2           0  524384 /tmp/ibxBS5jf (deleted)
mysqld    17855   mysql    5u   REG    8,2           0  524385 /tmp/ibmrNzfL (deleted)
mysqld    17855   mysql    6u   REG    8,2           0  524386 /tmp/ibVDS3ah (deleted)
mysqld    17855   mysql    7u   REG    8,2           0  524387 /tmp/ibx6YTrj (deleted)
mysqld    17855   mysql   13u   REG    8,2           0  524388 /tmp/ibOhb8xQ (deleted)

在对应的目录下并没有发现文件

[[email protected] WebServer]# ll /var/spool/at/spool/

总用量 0

[[email protected] WebServer]# kill -9 7045

[[email protected] WebServer]# kill -9 7054

[[email protected] WebServer]# kill -9 12730

再次查看发现没有php的进程

[[email protected] WebServer]# lsof -n / |grep deleted

mysqld     2660   mysql    4u   REG    8,2         0  524290 /tmp/ibSF7sXt (deleted)

mysqld     2660   mysql    5u   REG    8,2         0  524305 /tmp/ibCCM4u4 (deleted)

mysqld     2660   mysql    6u   REG    8,2         0  524309 /tmp/ibKuAG2E (deleted)

mysqld     2660   mysql    7u   REG    8,2         0  524315 /tmp/ibcLe4Bf (deleted)

mysqld     2660   mysql   11u   REG    8,2         0  524316 /tmp/ibW2n1iQ (deleted)

mysqld    17855   mysql    4u   REG    8,2         0  524384 /tmp/ibxBS5jf (deleted)

mysqld    17855   mysql    5u   REG    8,2         0  524385 /tmp/ibmrNzfL (deleted)

mysqld    17855   mysql    6u   REG    8,2         0  524386 /tmp/ibVDS3ah (deleted)

mysqld    17855   mysql    7u   REG    8,2         0  524387 /tmp/ibx6YTrj (deleted)

mysqld    17855   mysql   13u   REG    8,2         0  524388 /tmp/ibOhb8xQ (deleted)

查看空间已经恢复:

[[email protected] WebtServer]# df -h
文件系统      容量  已用  可用 已用%% 挂载点
/dev/sda2      49G  4.4G   42G  10%  /
tmpfs         16G    0   16G   0% /dev/shm
时间: 2024-10-16 10:47:36

lsof 命令用法:查看已删除空间却没有释放的进程的相关文章

linux查看已删除空间却没有释放的进程

背景:rm删除了文件或者文件夹,df查看时发现没有释放磁盘空间. 执行lsof -n | grep deleted这个命令.[[email protected] ~]#lsof -n | grep deleted #发现有几个删除了但是没有释放空间.[[email protected] ~]#kill -9 4291然后在df查看一下,发现空间减少了.[[email protected] ~]#df –lh 希望能帮到你. 原文地址:https://blog.51cto.com/chentong

Linux查看系统信息的一些命令及查看已安装软件包的命令

转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free

(十)Linux查看系统信息的一些命令及查看已安装软件包的命令

转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free

使用adb命令启查看已安装的Android应用的versionCode、versionName

列出已经安装的应用 adb shell pm list package C:\Users\CJTDEV003>adb shell pm list package package:com.samsung.android.provider.filterprovider package:com.sec.android.app.DataCreate package:com.android.cts.priv.ctsshim package:com.gd.mobicore.pa package:com.se

命令行查看和删除电脑上证书

下面命令分别用于进入certmgr.exe工具目录,删除电脑里my区域内"abc"开头的证书,查询my内所有证书: cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin CertMgr -del -c -n abc -s my certmgr /v /s my 原文地址:https://www.cnblogs.com/anjun-xy/p/11280454.html

linux命令-du查看占用磁盘空间大小

格式 df -h 查看磁盘分区情况 du /etc 目录文件大小都列出来 单位是k最后一行是总和 du -m 单位是m 小于1m写成1m du -h 单位人性化显示k/m du -sh /etc 查看指点目录/文件大小 ////////////////////////////////////////////////////////////////////////////////////// du查看和ls查看区别 [[email protected] ~]# du -sh /etc/init.d

如何查看已删除的手机通话记录

[这是 --> 技术员 --> 微信: --> --> 7554 --> 97625] --> 业务 --> 详细 --> 的加 --> 他咨 --> 询,我 上个 --> 月就是找 --> 他们 --> 帮 --> 我 --> 的. --> 技术 --> 好 --> ,放 --> 心 --> --> 可 --> 靠. --> 原文地址:https://www.cnbl

解决df和du查出来的已使用空间不同的问题

我之前在系统上写过一个监控硬盘剩余空间的脚本,今天它给我发来报警了,于是我就登录到服务器上查看,结果发现df和du查出来的结果不一样,du查出来的"实际使用空间"明显比df查出来的已使用空间要小很多,这是为什么呢?难道有些空间被隐藏起来了? 最终,借助网上的力量,解决了这个"诡异"的事件,并全程记录下来了. 首先,我们用df来查看已使用空间: 从上图可知,根分区已使用5456700KB(合约5.20GB). 然后,我们用du查出根分区下每个目录的大小: 排除红框中的

一个监控未释放已删除文件空间的脚本

具体需求: 1. 需要分析出是视频/data分区个类文件占比(实际文件占比多少,一般实际文件小于占比70%以下大多为已删除文件单未释放磁盘空间). 2. 需要统计已删除文件但未释放空间的大小(可参考lsof命令). 3. 根据1和2最终分析结果拿出占比较大的服务列表(针对服务列表建议支持白名单),针对服务列表对已在摆明单内的服务进行重启释放存储空间,未在白名单内的可进行列表打印. #!/usr/bin/python #coding:utf-8 import os import subproces