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)功 ...
随机推荐
- [javascript]JS获取当前时间戳的方法
JavaScript 获取当前时间戳: 第一种方法:(这种方法只精确到秒) var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法 ...
- TokenMismatchException Laravel
随便写写:很久没写了,今天闲的. 1.错误原因:出现这个错误肯定是因为你在Laravel开启了csrf防御,但是你post提交过去的字段中没有生成_token. 2.如果你提交的字段中带有了_toke ...
- 算法笔记刷题2(codeup 1928)
又磕了一晚上,多点测试真的很烦 ,完全不知道错哪里,后来发现是我变量名命名不规范导致自己晕了填错了,其实思路还是对的 我觉得书上的做法也还行,但我不太喜欢用二维数组,所以拿以前写的算天数的程序改装了一 ...
- php最快捷的插入数据,3000万仅需5秒
<?phpheader('content-type:text/html;charset=utf-8');//采集数据$url="http://www.keepclub.com/club ...
- 2019-2020-1 20199303《Linux内核原理与分析》第九周作业
进程的切换和一般执行过程 知识总结 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已. 对于理解操作系统的工作机制,反而是 ...
- hash算法解决冲突的方案
1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key) = (f(key)+di) MOD m ...
- 点击 QTableView,触发事件
Here is an example of how you can get a table cell's text when clicking on it. Suppose a QTableView ...
- 使用nodejs + wecharty打造你的个人微信机器人
开源地址:https://github.com/isnl/wechat-robot 注: 从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性. 主要表现为:无法登陆W ...
- shell脚本(多线程批量创建用户)
shell脚本中的多线程 很多场景中会用到多线程,例如备份数据库,有100个库,正常备份效率极其低下.有了多线程原本可能需要10个小时备份,现在分10个线程同时去干,只要一个小时就解决了.今天就介绍下 ...
- Shoutem旨在成为React Native移动应用领域的WordPress
近日,Shoutem推出了新的基于React Native的应用构建器,为开发人员提供了移动应用领域的WordPress. \\ Shoutem让开发人员可以使用一个可视化环境快速创建基于React ...