查看已经删除的文件,空间有没有释放,没有的话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. Java中的OOM问题

    OOM是什么 OOM全称"OutOfMemory",既内存溢出.我们知道,Java中的对象是在堆(heap)上创建的,当堆内存不足以为新创建的对象分配空间时,就会产生OutOfMe ...

  2. Laravel 5.7 RCE (CVE-2019-9081)

    Laravel 代码审计 环境搭建 Laravel 5.7 文档 : https://learnku.com/docs/laravel/5.7/installation/2242 Composer 下 ...

  3. ADO.Net和Entity Framework的区别联系

    它们有以下几点区别:1,ADO.Net是开发人员自己select.update等写sql语句,来实现对数据库的增删改查等操作:采用EF进行开发操作数据库的时候,只需要操作对象,这样做使开发更方便,此时 ...

  4. angularjs: draggable js

    var startX = 0, startY = 0, x = 0, y = 0, minDragRang = 50; var targetContainer = angular.element(do ...

  5. 架构设计 | 分布式业务系统中,全局ID生成策略

    本文源码:GitHub·点这里 || GitEE·点这里 一.全局ID简介 在实际的开发中,几乎所有的业务场景产生的数据,都需要一个唯一ID作为核心标识,用来流程化管理.比如常见的: 订单:order ...

  6. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

  7. (第四篇)Linux命令初识之常用系统管理命令

    1.hostname [命令作用]用于显示和设置系统的主机名称(但是不会永久保存,重启后会恢复) [命令语法]hostname(选项)(参数) [常用选项] -a:显示主机别名(alias name) ...

  8. 理解分布式一致性:Paxos协议之Multi-Paxos

    理解分布式一致性:Paxos协议之Multi-Paxos Multi-Paxos without failures Multi-Paxos when phase 1 can be skipped Mu ...

  9. JDK14的新特性

    文章目录 虽然JDK13在今年的9月17号才发布,但是丝毫不会影响到下一个版本JDK14的开发工作.听说官方定的新功能马上就要官宣了,我们这里不妨来提前推断一下. 在9月17号的发布中,Oracle提 ...

  10. KafkaConsumer assign VS subscribe

    背景 在kafka中,正常情况下,同一个group.id下的不同消费者不会消费同样的partition,也即某个partition在任何时刻都只能被具有相同group.id的consumer中的一个消 ...