linux性能监控之lsof

news2025/1/22 21:06:49

        lsof:list open files,显示所有打开的文件以及进程信息,我们通常用来检查特定的文件被哪些进程打开

[root@k8s-master ~]# lsof --help
lsof: illegal option character: -
lsof: -e not followed by a file system path: "lp"
lsof 4.87
 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
 usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[gG]] [+|-e s]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Defaults in parentheses; comma-separated set (s) items; dash-separated ranges.
  -?|-h list help          -a AND selections (OR)     -b avoid kernel blocks
  -c c  cmd c ^c /c/[bix]  +c w  COMMAND width (9)    +d s  dir s files
  -d s  select by FD set   +D D  dir D tree *SLOW?*   +|-e s  exempt s *RISKY*
  -i select IPv[46] files  -K list tasKs (threads)    -l list UID numbers
  -n no host names         -N select NFS files        -o list file offset
  -O no overhead *RISKY*   -P no port names           -R list paRent PID
  -s list file size        -t terse listing           -T disable TCP/TPI info
  -U select Unix socket    -v list version info       -V verbose search
  +|-w  Warnings (+)       -X skip TCP&UDP* files     -Z Z  context [Z]
  -- end option scan     
  +f|-f  +filesystem or -file names     +|-f[gG] flaGs 
  -F [f] select fields; -F? for help  
  +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0)
                                        +m [m] use|create mount supplement
  +|-M   portMap registration (-)       -o o   o 0t offset digits (8)
  -p s   exclude(^)|select PIDs         -S [t] t second stat timeout (15)
  -T qs TCP/TPI Q,St (s) info
  -g [s] exclude(^)|select and print process group IDs
  -i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]
  +|-r [t[m<fmt>]] repeat every t seconds (15);  + until no files, - forever.
       An optional suffix to t is m<fmt>; m must separate t from <fmt> and
      <fmt> is an strftime(3) format for the marker line.
  -s p:s  exclude(^)|select protocol (p = TCP|UDP) states by name(s).
  -u s   exclude(^)|select login|UID set s
  -x [fl] cross over +d|+D File systems or symbolic Links
  names  select named files or files on named file systems
Anyone can list all files; /dev warnings disabled; kernel ID check disabled.

选项说明:

-a

列出打开文件存在的进程
-c<进程名>列出指定进程所打开的文件
-g列出GID号进程详情
-d<文件号>列出占用该文件号的进程
+d<目录>列出目录下被打开的文件
+D<目录>递归列出目录下被打开的文件
-n<目录>列出使用NFS的文件
-i<条件>列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>列出指定进程号所打开的文件
-u列出UID号进程详情

COMMAND命令名称
PID进程ID
TID线程ID,如果为空代表列出的是进程
USER用户ID号或登录名
FD文件描述符
TYPE与文件关联结点的类型
DEVICE设备号
SIZE/OFF文件大小/偏移量,以字节为单位
NODE文件结点
NAME文件挂载点和文件所在的系统

我们常用的命令组合:

         1.列出所有打开的文件:lsof | more

[root@k8s-master ~]# lsof | more
COMMAND      PID   TID           USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd        1                 root  cwd       DIR                8,3       244         64 /
systemd        1                 root  rtd       DIR                8,3       244         64 /
systemd        1                 root  txt       REG                8,3   1632960   17033053 /usr/lib/systemd/systemd
systemd        1                 root  mem       REG                8,3     20064     167261 /usr/lib64/libuuid.so.1.3.0
systemd        1                 root  mem       REG                8,3    265576    1183915 /usr/lib64/libblkid.so.1.1.0
systemd        1                 root  mem       REG                8,3     90160     167255 /usr/lib64/libz.so.1.2.7
systemd        1                 root  mem       REG                8,3    157440     167263 /usr/lib64/liblzma.so.5.2.2
systemd        1                 root  mem       REG                8,3     23968     167346 /usr/lib64/libcap-ng.so.0.0.0
systemd        1                 root  mem       REG                8,3     19896     180865 /usr/lib64/libattr.so.1.1.0
systemd        1                 root  mem       REG                8,3     19248     164854 /usr/lib64/libdl-2.17.so
systemd        1                 root  mem       REG                8,3    402384     167265 /usr/lib64/libpcre.so.1.2.0
systemd        1                 root  mem       REG                8,3   2156592     164847 /usr/lib64/libc-2.17.so
systemd        1                 root  mem       REG                8,3    142144     165873 /usr/lib64/libpthread-2.17.so

        2.列出特定文件系统打开的文件:lsof /poc

[root@k8s-master ~]# lsof /proc
COMMAND      PID  USER   FD   TYPE DEVICE SIZE/OFF       NODE NAME
systemd        1  root    9r   REG    0,3        0        300 /proc/1/mountinfo
systemd        1  root   11r   REG    0,3        0 4026532019 /proc/swaps
systemd-j    384  root    9r   REG    0,3        0        446 /proc/sys/kernel/hostname
udisksd      594  root    8r   REG    0,3        0      28850 /proc/594/mountinfo
udisksd      594  root    9r   REG    0,3        0 4026532019 /proc/swaps
rtkit-dae    646 rtkit  cwd    DIR    0,3        0          1 /proc
rtkit-dae    646 rtkit  rtd    DIR    0,3        0          1 /proc
libvirtd     972  root   19w   REG    0,3        0 4026531960 /proc/mtrr
dockerd     1287  root   11r   REG    0,3        0 4026531956 net
X           1490  root    9w   REG    0,3        0 4026531960 /proc/mtrr
X           1490  root   10w   REG    0,3        0 4026531960 /proc/mtrr
gnome-she   1778   gdm   28r   REG    0,3        0      40875 /proc/1778/mountinfo
packageki   1937  root   10r   REG    0,3        0      40842 /proc/1937/mountinfo
lsof      119641  root    3r   DIR    0,3        0          1 /proc
lsof      119641  root    6r   DIR    0,3        0    2160211 /proc/119641/fd

        3.列出root用户打开的文件: lsof -u root | more

[root@k8s-master ~]# lsof -u root | more
COMMAND      PID USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd        1 root  cwd       DIR                8,3       244         64 /
systemd        1 root  rtd       DIR                8,3       244         64 /
systemd        1 root  txt       REG                8,3   1632960   17033053 /usr/lib/systemd/systemd

        4.列出所有打开的 IPv4 网络文件:lsof -i 4

[root@k8s-master ~]# lsof -i 4
COMMAND      PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rpcbind      597    rpc    6u  IPv4   23732      0t0  UDP *:sunrpc 
rpcbind      597    rpc    7u  IPv4   23784      0t0  UDP *:webster 
rpcbind      597    rpc    8u  IPv4   23785      0t0  TCP *:sunrpc (LISTEN)
avahi-dae    612  avahi   12u  IPv4   25053      0t0  UDP *:mdns 
avahi-dae    612  avahi   13u  IPv4   25054      0t0  UDP *:60388 
sshd         946   root    3u  IPv4   30305      0t0  TCP *:ssh (LISTEN)
cupsd        961   root   11u  IPv4   33818      0t0  TCP localhost:ipp (LISTEN)
container    968   root   15u  IPv4   34287      0t0  TCP localhost:45763 (LISTEN)
dovecot     1047   root   25u  IPv4   32668      0t0  TCP *:pop3 (LISTEN)

        5.列出在特定端口上运行的所有 TCP 和 UDP 进程:lsof -i TCP/UDP:port

[root@k8s-master ~]# lsof -i TCP:6443
COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
kubelet   2050 root   21u  IPv4   49332      0t0  TCP mail.linux.com:35288->mail.linux.com:sun-sr-https (ESTABLISHED)
kube-sche 2304 root    7u  IPv4   48456      0t0  TCP mail.linux.com:35298->mail.linux.com:sun-sr-https (ESTABLISHED)
kube-sche 2304 root    8u  IPv4   48619      0t0  TCP mail.linux.com:35490->mail.linux.com:sun-sr-https (ESTABLISHED)
kube-apis 2362 root    3u  IPv6   48445      0t0  TCP *:sun-sr-https (LISTEN)
kube-apis 2362 root   67u  IPv6   49518      0t0  TCP mail.linux.com:sun-sr-https->mail.linux.com:35288 (ESTABLISHED)
kube-apis 2362 root   68u  IPv6   49546      0t0  TCP mail.linux.com:sun-sr-https->mail.linux.com:35490 (ESTABLISHED)
kube-apis 2362 root   69u  IPv6   52350      0t0  TCP mail.linux.com:sun-sr-https->mail.linux.com:35498 (ESTABLISHED)

        6.查看指定设备的所有打开文件:lsof <device-name>

[root@k8s-master ~]# lsof /dev/sda3 |more
COMMAND      PID           USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
systemd        1           root  cwd    DIR    8,3       244       64 /
systemd        1           root  rtd    DIR    8,3       244       64 /
systemd        1           root  txt    REG    8,3   1632960 17033053 /usr/lib/systemd/systemd
systemd        1           root  mem    REG    8,3     20064   167261 /usr/lib64/libuuid.so.1.3.0
systemd        1           root  mem    REG    8,3    265576  1183915 /usr/lib64/libblkid.so.1.1.0
systemd        1           root  mem    REG    8,3     90160   167255 /usr/lib64/libz.so.1.2.7
systemd        1           root  mem    REG    8,3    157440   167263 /usr/lib64/liblzma.so.5.2.2
systemd        1           root  mem    REG    8,3     23968   167346 /usr/lib64/libcap-ng.so.0.0.0

        7.列出与kube-api应用程序关联的打开文件:lsof -c kube-api

[root@k8s-master ~]# lsof -c kube-api
COMMAND    PID USER   FD      TYPE  DEVICE  SIZE/OFF     NODE NAME
kube-apis 2362 root  cwd       DIR    0,95        17 35602229 /
kube-apis 2362 root  rtd       DIR    0,95        17 35602229 /
kube-apis 2362 root  txt       REG    0,95 116572160 35602231 /usr/local/bin/kube-apiserver
kube-apis 2362 root  mem       REG     8,3           35602231 /usr/local/bin/kube-apiserver (stat: No such file or directory)
kube-apis 2362 root    0u      CHR     1,3       0t0    49190 /dev/null
kube-apis 2362 root    1w     FIFO     0,9       0t0    48104 pipe
kube-apis 2362 root    2w     FIFO     0,9       0t0    48105 pipe
kube-apis 2362 root    3u     IPv6   48445       0t0      TCP *:sun-sr-https (LISTEN)
kube-apis 2362 root    4u  a_inode    0,10         0     7512 [eventpoll]
kube-apis 2362 root    5r     FIFO     0,9       0t0    48433 pipe
kube-apis 2362 root    6w     FIFO     0,9       0t0    48433 pipe
kube-apis 2362 root    7u     IPv4   48451       0t0      TCP localhost:35190->localhost:2379 (ESTABLISHED)
kube-apis 2362 root    8u     IPv4   48457       0t0      TCP localhost:35196->localhost:2379 (ESTABLISHED)
kube-apis 2362 root    9u     IPv4   49417       0t0      TCP localhost:35198->localhost:2379 (ESTABLISHED)
kube-apis 2362 root   10u     IPv4   48485       0t0      TCP localhost:35212->localhost:2379 (ESTABLISHED)
kube-apis 2362 root   11u     IPv4   49444       0t0      TCP localhost:35218->localhost:2379 (ESTABLISHED)

        8.列出属于某个进程 ID 的所有进程: lsof -p $pid

[root@k8s-master ~]# lsof -p 2362
COMMAND    PID USER   FD      TYPE  DEVICE  SIZE/OFF     NODE NAME
kube-apis 2362 root  cwd       DIR    0,95        17 35602229 /
kube-apis 2362 root  rtd       DIR    0,95        17 35602229 /
kube-apis 2362 root  txt       REG    0,95 116572160 35602231 /usr/local/bin/kube-apiserver
kube-apis 2362 root  mem       REG     8,3           35602231 /usr/local/bin/kube-apiserver (stat: No such file or directory)
kube-apis 2362 root    0u      CHR     1,3       0t0    49190 /dev/null
kube-apis 2362 root    1w     FIFO     0,9       0t0    48104 pipe
kube-apis 2362 root    2w     FIFO     0,9       0t0    48105 pipe
kube-apis 2362 root    3u     IPv6   48445       0t0      TCP *:sun-sr-https (LISTEN)
kube-apis 2362 root    4u  a_inode    0,10         0     7512 [eventpoll]
kube-apis 2362 root    5r     FIFO     0,9       0t0    48433 pipe
kube-apis 2362 root    6w     FIFO     0,9       0t0    48433 pipe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React 第三十二章 虚拟DOM

面试题&#xff1a;什么是虚拟DOM&#xff1f;其优点有哪些&#xff1f; 标准且浅显的答案 虚拟dom本质上就是一个普通的 JS 对象&#xff0c;用于描述视图的界面结构 虚拟 DOM 最早是由 React 团队提出来的&#xff0c;因此 React 团队在对虚拟 DOM 的定义上面有绝对的话语权。…

object.key()用法

object.key(obj) 一、概念&#xff1a;返回一个由一个给定对象的自身可枚举属性组成的数组。 二、用法&#xff1a; 1、参数为对象&#xff1a;则返回为 对象属性名组成的数组。 let obj {日期&#xff1a;date,姓名&#xff1a;userName,地址:address}console.log(Object.k…

vue3中通过自定义指令实现loading加载效果

前言 在现代Web开发中&#xff0c;提升用户体验一直是开发者们追求的目标之一。其中&#xff0c;一个常见的场景就是在用户与应用程序进行交互时&#xff0c;特别是当进行异步操作时&#xff08;如网络请求&#xff09;&#xff0c;为用户提供即时的反馈&#xff0c;避免用户因…

Linux软件RAID:数据冗余与性能提升的完美融合

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、软件RAID的概念 2、软件RAID与硬件RAID的对比…

中电金信:专题报告·商业银行对公数字化转型体系架构及实践拆解

当今&#xff0c;数字化转型已然成为商业银行发展的关键动力&#xff0c;在这个数字时代&#xff0c;对公业务数字化转型更是势在必行。 基于此&#xff0c;中电金信发布《商业银行对公数字化转型专题报告》&#xff08;简称《报告》&#xff09;&#xff0c;针对对公数字化转型…

揭秘四川古力未来科技抖音小店:创新优势引领电商新风潮

在当下这个数字化、网络化的时代&#xff0c;电商行业正以前所未有的速度迅猛发展&#xff0c;而抖音小店作为其中的佼佼者&#xff0c;凭借其独特的平台优势和创新的经营模式&#xff0c;吸引了越来越多的消费者和商家。其中&#xff0c;四川古力未来科技抖音小店凭借其显著的…

R语言:肿瘤突变负荷分析

> merge_maf <- function(metadata, path){ #通过合并path,还有sample sheet前两列得到每一个文件的完整路径 filenames <- file.path(path, metadata$file_id, metadata$file_name, fsep .Platform$file.sep) message (##############…

MyBatis——MyBatis查询语句

一、返回Car 当查询的结果&#xff0c;有对应的实体类&#xff0c;并且查询结果只有一条时&#xff1a; &#xff08;查询结果只有一条也可以用 List 集合接收&#xff09; package org.qiu.mybatis.mapper;import org.qiu.mybatis.pojo.Car;/*** author 秋玄* version 1.0*…

WHAT - 支持小程序的跨端框架(一)

一、背景 在 WHAT - Hybrid App 详解系列&#xff08;一&#xff09; 中我们介绍过 React Native、weex 以及 flutter 等跨平台开发技术。 随着微信小程序、百度小程序、支付宝小程序、字节跳动小程序、快应用等场景的流行&#xff0c;支持小程序或快应用的跨端诉求也促进了一…

【HarmonyOS】综合应用-《校园通》

概念 本文结合之前的笔记文章知识点&#xff0c;做一个综合性的小应用。 创建一个ArkTS语言的鸿蒙项目&#xff0c;搭建首页面 其界面代码如下&#xff0c;该界面使用了垂直布局&#xff0c;相对布局&#xff0c;轮播布局&#xff0c;以及图片&#xff0c;文本等组件的综合运…

Python API和微服务的测试库之httpretty使用详解

概要 在现代软件开发中,API和微服务的测试是确保应用稳定性和功能正确性的关键环节。Python的HTTPretty库提供了一个强大的工具,允许开发者在不实际发起网络请求的情况下模拟HTTP请求和响应。本文将全面介绍HTTPretty的安装、特性、基本与高级功能,并结合实际应用场景,展示…

Leetcode—287. 寻找重复数【中等】(快慢指针算法)

2024每日刷题&#xff08;136&#xff09; Leetcode—287. 寻找重复数 快慢指针算法思想 low fast 时&#xff0c;快慢指针相遇&#xff0c;low 走过的距离是初始点&#xff08;0&#xff09;到环状开始的点 &#xff08;x&#xff09; 加上 环状开始的点&#xff08;x&…

如何规划数据中台

1. 数据中台是一套解决方案 在数聚看来&#xff0c;数据中台是一套可持续“让企业数据用起来”的机制&#xff0c;是一套解决方案&#xff0c;不仅是一个平台。让数据更加灵活地支撑前端业务&#xff0c;通过持续沉淀企业数据复用能力形成数据从采集、治理、开发到数据服务的一…

运维安全管理系统:“四集中”管理 解决迫切问题

日前&#xff0c;国内专注于保密与非密领域的分级保护、等级保护、业务连续性安全和大数据安全产品解决方案与相关技术研究开发的领军企业——国联易安依托自身强大的研发能力&#xff0c;丰富的行业经验&#xff0c;自主研发了新一代软硬件一体化统一安全运维平台——国联易安…

leetcode.环形链表问题

目录 题目1 示例 解题思路 代码实现 补充 题目2 示例 解题思路 代码实现 题目1 该题链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle/description/ 示例 解题思路 要创建两个指针一个是快指针(fast)&#xff0c;另一个慢指针(slow)。快指针走两步慢指…

JSP相关题目练习

一、前置知识 【eclipse/IDEA】如何在IDE里创建一个Java Web项目&#xff1f; 1. 实现Bean类的User实例 以一个实现Bean类User的实例。在Eclipse里调用Tomcat服务器运行。 Javabean是一种Java类&#xff0c; 通过封装属性和方法成为具有某种功能或者处理某个业务的对象&…

MyBatis-Plus核心功能详解:条件构造器、自定义SQL与Service接口

在Java的Web开发中&#xff0c;MyBatis-Plus作为MyBatis的增强工具&#xff0c;提供了许多实用的功能&#xff0c;极大地简化了数据库操作的开发过程。下面&#xff0c;我们将详细探讨MyBatis-Plus的三大核心功能&#xff1a;条件构造器、自定义SQL以及Service接口。 一、条件…

用掼蛋的智慧优化图形化编程体验

周末的午后&#xff0c;阳光透过卧龙家庭院的树叶&#xff0c;在地上洒下一片斑驳的光影。微风轻拂&#xff0c;树叶沙沙作响&#xff0c;为这个宁静的庭院增添了一丝生机。 在庭院的一角&#xff0c;有一张专门用于掼蛋的桌子。桌子周围摆放着几把舒适的椅子&#xff0c;此时&…

Human Serum Albumin ELISA kit(人血清白蛋白HSA)

人血清白蛋白&#xff08;Human Serum Albumin, HSA&#xff09;是人体血液中的血清白蛋白。它约占血清蛋白的一半&#xff0c;由肝脏产生。白蛋白具有运输荷尔蒙、脂肪酸和其他化合物、缓冲pH值和维持血管压力等功能。人血清白蛋白是一种高水溶性球状单体血浆蛋白&#xff0c;…

[AWS] stepfunctions-local

本质是本地docker,只支持异步调用 run aws-stepfunctions-localdocker run -p 8083:8083 \ --mount type=bind,readonly,source=/path/MockConfigFile.json,destination=/home/StepFunctionsLocal/MockConfigFile.json \ -e SFN_MOCK_CONFIG="/home/StepFunctionsLocal/…