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

lsof -n |grep deleted

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

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

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

分析原因:
可能是系统进程占用的空间没有释放掉,导致的;
通过命令查看发现,php进程一共有3个,都是处于deleted状态,文件大小刚好是40G,正好是多出来的空间,找到问题所在;

解决办法:
找到对应的php进程号,kill掉即可;
[root@linuxidc.com 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)

在对应的目录下并没有发现文件
[root@linuxidc.com WebServer]# ll /var/spool/at/spool/
总用量 0
[root@linuxidc.com WebServer]# kill -9 7045
[root@linuxidc.com WebServer]# kill -9 7054
[root@linuxidc.com WebServer]# kill -9 12730

再次查看发现没有php的进程
[root@linuxidc.com 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)

查看空间已经恢复:
[root@linuxidc.com WebtServer]# df -h 
文件系统      容量  已用  可用 已用%% 挂载点 
/dev/sda2      49G  4.4G  42G  10%  / 
tmpfs        16G    0  16G  0% /dev/shm

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

  1. lsof 命令用法详解

    lsof 命令用法详解 作用 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所 ...

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

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...

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

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...

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

    列出已经安装的应用 adb shell pm list package C:\Users\CJTDEV003>adb shell pm list package package:com.sams ...

  5. linux服务器文件删除空间却未释放

    在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也 ...

  6. Oracle——系统数据字典常用命令(查看表所属空间层目录等)

    发生背景: 项目前后台交互对接时候,经常存在对底层表蒙圈情况尤其是oracle数据库,所在层级不同会导致操作对象直接的改变,从而发生意向不到的事情:很多时候需要了解我们所操作对象所处的层级等相关信息, ...

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

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

  8. linux 查找被删除但是未被释放空间的文件 并释放资源

    使用du -sh  和df -h 查看/data目录,发现结果相差一半,后来了解到: 使用rm命令删除文件时,只有当该文件不存在任何link才会被删除 当有进程访问这个文件时,这个文件的实际占用空间就 ...

  9. 每天一个Linux命令(45)lsof命令

        lsof命令用于查看你进程打开的文件,端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程.     (1)用法:     用法:  lsof  [参数]  [文件]     (2)功 ...

随机推荐

  1. 11. this.setState更新问题

    this.setState是异步的,所以在this.setState之后不能立刻得到最新的state数据关于如何获取最新的数据,有如下三种方法 1.回调函数 this.setState({ xxx:' ...

  2. Java集合linkdList

    LinkedList特有功能: A:添加功能 public void addFitst(Object e) public void addLast(Object e) B:获取功能 public Ob ...

  3. TensorFlow keras 迁移学习

    数据的读取 import tensorflow as tf from tensorflow.python import keras from tensorflow.python.keras.prepr ...

  4. Install go1.5 for CentOS7

    https://golang.org/doc/install 下载好后,通过FTPS,传递到Linux里去,放哪里随便你自己,因为被墙了,所以在Windows通过旋风下载了这个玩意儿. 你也可以: w ...

  5. python25之进制转换

    一.进制转换函数 bin():将十进制转换为二进制 oct():将十进制转换为八进制 hex():将十进制转换为十六进制 >>> x=1234>>> bin(x)' ...

  6. c语言 字符串大小写转换

    https://www.programmingsimplified.com/c/program/c-program-change-case https://docs.microsoft.com/en- ...

  7. nginx 配置多个 https 域名访问

    需要此操作的原因 在服务器上部署了 halo blog 以后,这次需要部署另外一个项目,但是又不想使用 ip + port,因此选择使用 nginx 配置多个域名访问. nginx 配置 server ...

  8. 一款被大厂选用的 Hexo 博客主题

    首先这是一篇自吹自擂的文章,主题是由多位非前端程序员共同开发,目前经过一年半的迭代已经到达 v1.8.0 版本,并且获得大量认可,甚至某大厂员工已经选用作为内部博客,因此我决定写这篇文章向更多人安利它 ...

  9. 【Linux题目】第七关

    1. 如果想修改开机内核参数,应该修改哪个文件? A. /dev/sda1 B. /etc/fstab 磁盘自动挂载的文件 C. /boot/grub/grub.conf D. /etc/rc.loc ...

  10. SQL SERVER 性能优化二: 数据库初始值大小及增长方式设置

    数据库增长方式主要有两种,按百分比自动增长和按固定大小自动增长,设置初始大小和增长方式需谨慎. 初始大小就是建库的大小,设小了,容易造成磁盘碎片,频繁增长也会影响IO响应.设大了,也不行,设大了,每次 ...