lsof 命令用法:查看已删除空间却没有释放的进程
查看已经删除的文件,空间有没有释放,没有的话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 命令用法:查看已删除空间却没有释放的进程的更多相关文章
- lsof 命令用法详解
lsof 命令用法详解 作用 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所 ...
- Linux查看系统信息的一些命令及查看已安装软件包的命令
转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...
- (十)Linux查看系统信息的一些命令及查看已安装软件包的命令
转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...
- 使用adb命令启查看已安装的Android应用的versionCode、versionName
列出已经安装的应用 adb shell pm list package C:\Users\CJTDEV003>adb shell pm list package package:com.sams ...
- linux服务器文件删除空间却未释放
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也 ...
- Oracle——系统数据字典常用命令(查看表所属空间层目录等)
发生背景: 项目前后台交互对接时候,经常存在对底层表蒙圈情况尤其是oracle数据库,所在层级不同会导致操作对象直接的改变,从而发生意向不到的事情:很多时候需要了解我们所操作对象所处的层级等相关信息, ...
- linux命令-du查看占用磁盘空间大小
格式 df -h 查看磁盘分区情况 du /etc 目录文件大小都列出来 单位是k最后一行是总和 du -m 单位是m 小于1m写成1m du -h 单位人性化显示k/m du -sh /etc 查看 ...
- linux 查找被删除但是未被释放空间的文件 并释放资源
使用du -sh 和df -h 查看/data目录,发现结果相差一半,后来了解到: 使用rm命令删除文件时,只有当该文件不存在任何link才会被删除 当有进程访问这个文件时,这个文件的实际占用空间就 ...
- 每天一个Linux命令(45)lsof命令
lsof命令用于查看你进程打开的文件,端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程. (1)用法: 用法: lsof [参数] [文件] (2)功 ...
随机推荐
- Golang交付至Kubernetes
目录 0.前言 1.Go服务构建 1.1.制作Go服务镜像底包 1.2.制作slave基础镜像底包 1.2.1.Golang镜像 1.2.2.Docker镜像 2.创建golang流水线 3.流水线构 ...
- golang 基础 map及工厂函数
Map是一种数据结构,是一个集合,用于存储一系列无序的键值对.它基于键存储的,键就像一个索引一样,这也是Map强大的地方,可以快速快速检索数据,键指向与该键关联的值. 内部实现 Map是基于 散列表 ...
- Pytorch实现的语义分割器
使用Detectron预训练权重输出 *e2e_mask_rcnn-R-101-FPN_2x* 的示例 从Detectron输出的相关示例 使用Detectron预训练权重输出 *e2e_keypoi ...
- SpringCloud-Config 配置中心
概述 分布式系统面临的问题 微服务意味着要将单体应用中的业务拆分成一个个的子服务,这些服务都需要必要的配置信息才能运行,如果有上百个微服务,上百个配置文件,管理起来是非常困难的,这时候,一套集中式的. ...
- 用scanf、printf输入输出string型字符串
c语言里是没有string型的,string在c++里面.有的时候在c++里要用scanf.printf输入输出string型字符串,这是可以实现的,不过要做一点处理. 具体操作看代码: #inclu ...
- 20199308《Linux内核原理与分析》第十一周作业
缓冲区溢出漏洞实验 实验步骤 一.初始设置 1.Ubuntu 和其他一些 Linux 系统中,使用地址空间随机化来随机堆(heap)和栈(stack)的初始地址,这使得猜测准确的内存地址变得十分困难, ...
- Python学习16之input函数
'''''''''Input函数:作用:接受一个标准输入数据返回值:返回为 string 类型使用:input()'''a=input("请输入一个整数")print(a)prin ...
- 基于centos7搭建kvm
其他的和安装一般的系统没有差别 安装完成后. 1]使用ping www.baidu.com 2]修改静态ip,也可以不修改 3]下载brctlyum -y install bridge-utils 4 ...
- 再也不用c刷题了!!——c++刷题必备
致读者: 博主是一名数据科学与大数据专业大二的学生,真正的一个互联网萌新,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于困惑的读者.由于水平有限,博客中难免会有一些错误 ...
- Vant Weapp小程序蹲坑之使用card组件显示价格
问题 在基于mpvue+Vant Weapp组件库实战过程中,问题越来越多.网络上所谓的"坑"总结,仅仅不过是其开发中所遭所遇之"坑"而已--估计后面的&quo ...