lsof 意思是‘List Open Files’它可以列出各种进程打开的文件的信息,centos6.4中默认是不带lsof这个命令的.要想使用它首先的通过yum -y install lsof 安装。

lsof 默认不带任何参数,将输出所有进程打开的所有文件.当然这个不是我们所需要的

1.lsof  文件名|设备名:    查看文件、设备被哪些进程使用

lsof /usr/local/tomcat/conf/server.xml

2.出某个目录下被打开的文件

lsof +D /var/log

3.指定进程号查看该进程打开的文件

lsof -p 1612

4.查看指定用户所打开的所有进程跟文件

lsof -u root

5.查看指定端口有哪些进程在使用

lsof -i:22

6.例出所有的tcp、udp连接

lsof -i tcp

lsof -i upd

7.查看指定网口有哪些进程在使用

lsof -i@192.168.1.207

8.查看指定程序打开的文件

lsof -c java

9.lsof 组合逻辑查询

-a 与

-o 或

^ 非

lsof -a -u mysql -c java

lsof -o -u mysql -c java

lsof -u ^root

10.生产环境中用lsof解决问题的一则案例

朋友前段时间跟我说他有台服务器/dev/sda1挂载的那个目录满了,然后他清了一批日志之类的东西,过了不久又满了。他用df -h查看确实使用率为100%,容量50G使用50G ,而当他用du -sh  /dev/sda1的时候,使用才20多G,但是确实是写不进去文件了..

让他用lsof -n | grep deleted 看一下,该命令会把所有未释放文件句柄的进程例出来.朋友一查,mongodb 日志占了20多G.重启mongodb进程,把日志配置到磁盘容量大的目录,然后做日志滚动问题解决。

为什么df命令跟du命令会出有如此大的差异呢?这就跟他们的实现原理有关系了.

du 命令根据指定文件系统中的所有目录、符号连接、和文件使用的块数累加得到文件系统使用容量的总和,文件系统记录自身的数据如i节点、磁盘分布图、超级块等等这些数据du命令是不统计的。du命令是用户级程序,只能获取文件系统的部分情况.

df命令则是通过磁盘分布图得出的总块数和使用块数,获得的是真正的文件系统数据.linux下面文件只是一个指向inode的链接,inode链接包含了文件的所有属性,如权限和所有者等,当我们删除一个文件,实际上只是删除了指向inode的链接,并没有删除inode的内容,前面引用的进程还可以引用,只有当链接完全移除,这些inode才能被写入新的内容。

lsof deleted java,lsof__强大的系统监控、诊断命令相关推荐

  1. Linux系统监控——top命令

    1.top命令显示 top命令显示区分为两个部分,上面是系统统计信息:下面是进程信息. 2.系统统计信息 2.1 第一行 第一行,需要关注的是load avg这行,通过这三个值,我们能看出系统负载的发 ...

  2. 天眼JAVA大规模分布式跟踪系统监控视频

    各位客官,扫码拿走不谢,不要问我是谁,请叫我雷锋!

  3. linux 检测wan命令,Linux系统监控常用命令

    释放双眼,带上耳机,听听看~! 1.free free 命令显示系统使用和空闲的内存情况,包括物理内存.交互区内存(swap)和内核缓冲区内存. $ free (-buffers/cache) use ...

  4. 【性能测试】Linux系统监控-Top命令

    前面转载的三篇文章主要介绍了性能测试的相关概念,其中有提到服务器,服务器的配置是性能测试中必须考虑的,而且性能测试中也必须监控服务器. 这篇文章主要介绍一下如何通过Linux服务器自带的top命令监控 ...

  5. 系统监控:linux命令行-飞信客户端发送免费报警短信

    linux命令行下用Fetion飞信发送免费短信 一.最新版本2009 通过linux命令行来发送短信的方法,觉得甚是好用,适用运维监控.这里向大家推荐的是飞信机器人的软件,支持linux.命令行下的 ...

  6. nslookup查询域名系统服务器,域名解析系统DNS诊断命令nslookup详解

    下面以海波博客的域名http://www.renhaibo.com为例,详细介绍nslookup命令在命令提示符(DOS)下的用法: 一.查询IP地址 nslookup可以方便地查询到域名对应的IP地 ...

  7. java毕业设计——基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码)——远程监控系统

    基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的远程监控系统软件设计与实现,文章 ...

  8. java cpu监控,java系统监控CPU 磁盘

    java系统监控CPU 磁盘 import java.io.*; /** * linux 下cpu 内存 磁盘 jvm的使用监控 * @author avery_leo * */ public cla ...

  9. linux系统监控、诊断工具摘录top IO wait lsof

    linux 系统监控.诊断工具之 top 详解 http://my.oschina.net/leejun2005/blog/157910 linux系统监控.诊断工具之 IO wait http:// ...

最新文章

  1. APP安全谁之过?爱加密为APP开发者分忧
  2. java监听所有端口_(变强、变秃)Java从零开始之zookeeper安装
  3. 批量过滤删除AD中的对象
  4. Android周学习Step By Step(9)--Intent之广播(完)
  5. 北京周聪项目客商支付join用法
  6. Struts2开发基本步骤
  7. 零基础带你学习MySQL—多表查询笛卡尔集(二十)
  8. mysql 分类计数器,MYSQL计数器类型业务的优化
  9. Verilog实现交通灯(数电课设)----------旧
  10. ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
  11. Web2.0创业者面临艰难选择:出售还是发展
  12. 413.等差数列划分(力扣leetcode) 博主可答疑该问题
  13. 【码歌】Java逆袭之路,小白系统笔记,持续更新
  14. kali系统安装DVWA
  15. <数据结构>停车场管理系统,利用栈和队列实现,包含纯c语言版和C++版的全注释源码
  16. cocos2d-x精灵的放大和缩小
  17. android里面的Activity体系结构(3)_ActivityRecord和Activity状态变化分析说明
  18. 计算机网络笔记17 分类的IP地址
  19. 【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】
  20. 数据库RocksDB优化方案

热门文章

  1. Python数据分析学习笔记04:Pandas基础
  2. Scala学习笔记02:数据类型、常量与变量
  3. Scala案例:词频统计
  4. C ++ 指针 | this指针_2
  5. gulp临时服务器显示html页面,用Gulp实现CSS压缩和页面自动刷新
  6. bzoj2242 [SDOI2011]计算器 exgcd+ksm+bsgs
  7. django本地安装mysql_Ununtu 15.04 安装MySql(Django连接Mysql)
  8. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)3-LBVH(Linear Bounding Volume Hierarchies)
  9. 用三元操作符替代if-else以降低CPU分支预测惩罚实现Unity内函数13倍提速
  10. iphone微信电话不弹出_iPhone快速分享电话号码的方法!