Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >句柄数lsof 和 lsof -p pid的区别

句柄数lsof 和 lsof -p pid的区别

原创
作者头像
司夜
发布于 2021-07-23 07:39:01
发布于 2021-07-23 07:39:01
4K0
举报
文章被收录于专栏:开发三两事开发三两事

lsof -p pid获取的是当前pid进程文件句柄数

当前pid进程文件句柄数
当前pid进程文件句柄数

通过 lsof 查看当前pid线程句柄数

lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more

查看当前pid线程句柄数
查看当前pid线程句柄数

相差很大,再分析lsof其他字段,最终发现问题所在,tid字段,线程字段,通过线程重新统计发现:

统计3370 pid下所有tid线程出现的次数发现:

lsof |grep 3370 |awk '{print $3}'|sort|uniq -c |sort -nr|more > 3370.log

第一列是出现次数,第二列是线程id

第一列是出现次数,第二列是线程id
第一列是出现次数,第二列是线程id

每个线程出现次数几乎一模一样,导致这个结果是因为进程持有资源,线程基本不持有资源,共享进程所持有的资源,导致lsof获取到的句柄数特别大,其实线程是使用了共享资源导致,下图是线程共享与独享示例:

线程共享

线程独享

地址空间

程序计数器

全局变量

寄存器

打开的文件

子进程

状态字

闹钟

信号及信号服务成勋

记账信息

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
lsof 句柄数和 lsof -p pid的区别
lsof -p pid获取的是当前pid进程文件句柄数 通过 lsof 查看当前pid线程句柄数
司夜
2023/03/31
6650
“too many open files”的原理和解决方案
“too many open files”这个错误大家经常会遇到,因为这个是Linux系统中常见的错误,也是云服务器中经常会出现的,而网上的大部分文章都是简单修改一下打开文件数的限制,根本就没有彻底的解决问题。
cutd
2020/01/15
13.5K3
文件句柄与文件描述符
1.概述 在实际工作中会经常遇到一些bug,有些就需要用到文件句柄,文件描述符等概念,比如报错: too many open files, 如果你对相关知识一无所知,那么debug起来将会异常痛苦。在Linux操作系统中,文件句柄(包括Socket句柄)、打开文件、文件指针、文件描述符的概念比较绕,而且windows的文件句柄又与此有何关联和区别?这一系列的问题是我们不得不面对的。 这里先笼统的将一下自己对上面的问题的一些理解: 句柄,熟悉Windows编程的人知道:句柄是Windows用来标识被应用程序
用户1263954
2018/01/30
5.2K0
文件句柄与文件描述符
file_handle_windows句柄
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。
全栈程序员站长
2022/11/07
7650
查看文件句柄数 linux_linux文件句柄数量怎么看
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/19
11.1K0
查看文件句柄数 linux_linux文件句柄数量怎么看
Linux下查看进程打开的文件句柄数
在 Linux 平台上运行的进程都会从系统资源申请一定数量的句柄,而且系统控制了进程能够申请的最大句柄数量。用户程序如果不及时释放无用的句柄,将会引起句柄泄露,从而可能造成申请资源失败,导致系统文件句柄用光连接不能建立。本文主要介绍Linux下如何查看和修改进程打开的文件句柄数,避免这类问题的发生。
九州暮云
2019/08/21
56.9K2
linux服务器性能问题相关排查手册(总结向)
定义:平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,和 CPU 使用率并没有直接关系。换言之,要计算 CPU 负载的值,只考虑正在运行或等待分配 CPU 时间的进程。不考虑正常的休眠过程(休眠状态),僵尸或停止的过程。
scarlett学习手册
2019/12/13
2.3K0
Linux进阶命令-lsof
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1280
Linux进阶命令-lsof
File Descriptor问题总结
在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。 文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。 程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件,它的文件描述符会是3。POSIX标准要求每次打开文件时(含socket)必须使用当前进程中最小可用的文件描述符号码,因此,在网络通信过程中稍不注意就有可能造成串话。标准文件描述符图如下:
mingjie
2022/05/12
1.1K0
File Descriptor问题总结
linux命令查看所有进程_获取当前进程句柄
查看系统默认的最大文件句柄数,系统默认是1024 #ulimit -n 1024
全栈程序员站长
2022/11/02
7.2K0
如何排查句柄泄露问题
人间四月天,bug无处钻,让bug没有藏身之地。今天,我们来聊句柄泄漏的定位。部分朋友遇到性能问题时,束手无策。别担心,我们一起实践,不信你搞不定。
范蠡
2021/04/08
5.1K0
EasyDSS集群转码搭建后如何检查服务是否正常运行?
EasyDSS转码集群搭建后需要保证每台服务器都在正常运行,可以通过进 etcd-v3.5.0-linux-amd64 目录运行 ./etcdctl get / --prefix --keys-only 来检查服务是否正常:
TSINGSEE青犀视频
2021/12/29
1.3K0
腾讯2016春季校园实习招聘技术岗初试(一面)问题汇总(CC++后台)
2016.4.11日广州参加了腾讯的CC++后台技术一面,安全技术类的面试。面试官人很温和,经历了大概70分钟的问答,特将遇到的面试问题汇总如下,自己总结学习,亦供网友参考。
恋喵大鲤鱼
2018/08/03
4860
腾讯2016春季校园实习招聘技术岗初试(一面)问题汇总(CC++后台)
使用ulimit 命令、/etc/security/limits.conf、proc 调整系统参数
Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量 系统总限制是在这里,/proc/sys/fs/file-max.可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制. /proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量 linux 中数据的含义 /proc/sys/fs/file-nr [root@localhost logs]# cat /proc/sys/fs/fi
sunsky
2020/08/20
2.1K0
30个高效的Linux命令技巧
# tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
菲宇
2019/06/12
1.1K0
Linux服务器故障排查基本方案
4.域名--->CDN--->负载均衡--->云服务器ECS+数据库RDS(主从)+缓存Redis
星哥玩云
2022/05/27
8350
Linux服务器故障排查基本方案
2021最新shell命令重置版整理(经典推荐)
文件 ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 rm -rf dirname # 不提示删除非空目录(-r:递归删除 -f强制) dos2unix # windows文本转linux文本 un
IT运维技术圈
2022/06/26
3810
Linux后台服务常用诊断命令和方法
vmstat 1  每隔一秒输出系统状态,数据来源/pro/stat,输出各列的含义
洛杉矶
2020/10/23
1.7K0
Linux下各种连接数配置
使 /etc/sysctl.conf 的配置生效,根据实际情况来决定是否添加此命令
码客说
2021/11/24
3K0
nginx服务器连接数告警
只要系统之间有交互,那么就会有连接数,连接数的告警阈值一般设置个几万,当连接数开始告警之后,怎么来排查呢?
SRE运维实践
2024/07/12
2970
nginx服务器连接数告警
相关推荐
lsof 句柄数和 lsof -p pid的区别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档