【Linux】文件句柄说明

article/2025/9/3 22:03:13

Linux 文件句柄说明

Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。

对于这些句柄,Linux是有数量限制的,单个进程默认可以打开的句柄数上限,可以用以下命令来查看:

ulimit -a

查看某个进程的句柄数上限,命令是:

ulimit -a PID

单个进程句柄数的修改(系统重启后会恢复默认值)

ulimit -n 句柄数

永久修改单个进程句柄数

cat >> /etc/security/limits.conf << EOF * soft nofile 102400 * hard nofile 102400 EOF

说明:修改完成后,需要重新打开终端,使用 ulimit -a 查看句柄数

查询系统中指定进程占用的句柄数

lsof -n | grep [PID|进程名]| wc -l

查询系系统中进程占用的句柄数

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

文件类型有以下几种:
DIR:表示目录。
CHR:表示字符类型。
BLK:块设备类型。
UNIX: UNIX 域套接字。
FIFO:先进先出 (FIFO) 队列。
IPv4:网际协议 (IP) 套接字。

LINUX对能够打开的文件句柄的数量做了限制。限制是分为三个层面:系统层面,用户层面和进程层面。
如果某个进程打开的文件句柄超过限制,再打开文件就会报错。因此,在编程时,如果进程要占用大量文件句柄的话,
就要看看是否要调整最大可打开的文件句柄数,同时也要注意close释放掉不用的文件句柄。

系统层面

cat /proc/sys/fs/file-max

用户层面

ulimit -n

进程层面

cat /proc/PID/limits

业务层面

最近的审核录播截图服务,任务打到服务后报 no space left on device ,磁盘占用并没有满,本次由于内核句柄限制设置较低;录播、截图服务涉及大量的文件IO,这两点就导致了超过句柄限制达到了3w,所以从这两点出发即可解决此类问题。

内核参数我调整了一下fs.inotify.max_user_watches = 102400之前是8192

http://chatgpt.dhexx.cn/article/QqX6j7M9.shtml

相关文章

windows 文件句柄查询

windows经常出现删除/剪切文件时提示文件被占用的问题 打开任务管理器&#xff0c; 选择“性能”选项卡 2. 打开资源管理器&#xff0c; 在关联句柄查询框中输入关键字&#xff0c;过滤查询&#xff0c;然后右键选中对应项&#xff0c;结束任务即可释放句柄

文件句柄

一、文件句柄是什么&#xff1f; 对象在内存中是经常来回移动的&#xff0c;如何快速定位找到这个对象呢&#xff1f; 句柄说&#xff1a; “我来帮你找” windows系统给出的方案 1.进程创建时&#xff0c;windows系统为进程构造了一个句柄表 2.当该进程希望获得一个内核对…

linux开关机命令

shutdown -h now/或者是具体的时间hh:mm&#xff1b; 关机; -h:关机。&#xff1b;-r&#xff1a; 重启 &#xff1b;-c&#xff1a; 取消前一个关机命令。一般就只用shutdown这个命令&#xff1b;halt&#xff0c;poweroff&#xff0c;init 0 关机&#xff1b;init 6&#xff…

Linux命令之关机命令

shutdown命令可以用来进行关闭系统&#xff0c;并且在关机以前传送讯息给所有使用者正在执行的程序&#xff0c;shutdown 也可以用来重开机使用者权限&#xff1a;管理员用户 语法如下&#xff1a; shutdown [-t seconds] [-rkhncfF] time [message] 参数说明&#xff1a; …

Linux 关机 命令

一、正确的关机方法 如果直接按下电源开关&#xff0c;数据有可能中断。若不正常关机&#xff0c;则有可能造成文件系统的损毁。因此&#xff0c;正常关机情况下&#xff0c;应注意以下&#xff1a; 1&#xff09;查看系统的使用状态 查看目前有谁在线&#xff0c;使用“who…

部署图详解

部署图 一、部署图概要 ​ 部署图用于静态建模&#xff0c;是表示运行时过程节点结构、构件实例及其对象结构的图。如果含有依赖关系的构件实例放置在不同节点上&#xff0c;部署视图可以展示出执行过程中的瓶颈。部署图的两种表现形式&#xff1a;实例层部署图和描述层部署图…

EA_画部署图

EA_画部署图 新建部署图增加个性化图标画一个范围Boundary 新建部署图 右键–>添加图 增加个性化图标 右键图标–>外观–>选择可替代图像 选择自定义的图标 画一个范围Boundary

UML-----构件图与部署图

构件图和部署图这两个图都属于实现图。它是用来描述实现方面的信息。构件图用来显示一组构件之间的组织及依赖关系&#xff1b;而部署图则用来描述系统硬件的物理拓扑结构以及在此结构神执行的软件。 构件图 构件图是从软件结构的角度来描述一个系统的主要功能&#xff0c;如子…

移动端UML图应用之UML结构图——包图、部署图和组件图

系列文章目录 移动端UML图应用之UML图简述 移动端UML图应用之UML行为图——用例图、活动图和状态机图 移动端UML图应用之UML交互图——顺序图和通信图 移动端UML图应用之UML结构图——包图、部署图和组件图 移动端UML图应用之UML结构图——类图 文章目录 系列文章目录一、包图…

【UML建模】(7) UML建模之部署图

您好&#xff0c;我是码农飞哥&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通 ❤️ 2. Python爬虫专栏&#xf…

UML—部署图

一、简介&#xff1a; 部署图&#xff08;Deployment Diagram&#xff09;又名实施图。用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。显示了系统的硬件、安装在硬件上的软件、以及用于连接异构机器之间的中间件。系统所有的实施图一起表示系统的完整结构。具有以下…

【UML】部署图和构件图

一、实现图 1.UML中大部分模型描述了逻辑和设计方面的信息 2.实现图用来描述实现方面的信息 3.他从系统的层次来描述&#xff1a; &#xff08;1&#xff09;硬件的组成和布局 &#xff08;2&#xff09;软件系统划分和功能实现 4.实现图包括 &#xff08;1&#xff09;…

UML-部署图

今天我们来介绍下什么是部署图 一、部署图是什么&#xff1f; 部署图(deployment diagram&#xff0c;配置图)是用来显示系统中软件和硬件的物理架构。从部署图中&#xff0c;您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系…

UML——实现图(构件图与部署图)

目录 实现图 构件图 构件的类型 构件的特点 构件与类 构件与接口 部署图 实现图 UML中大部分模型描述了逻辑和设计方面的信息&#xff0c;实现图用来描述实现方面的信息。 实现图有构件图和部署图两种形式 构件图&#xff1a;用来显示一组构件之间的组合与依赖关系。…

如何便捷绘制UML部署图?

四大部分&#xff0c;带你深入了解UML部署图&#xff1a; 什么是部署图&#xff1f; 部署图的组成 部署图实例 如何绘制部署图&#xff1f; 一、什么是部署图&#xff1f; 部署图描述的是系统运行时的结构&#xff0c;展示了系统的硬件配置、硬件部署&#xff0c;以及其软…

UML 部署图 deployment diagram

1. 什么是部署图 部署图描述的是系统运行时的结构&#xff0c;展示了硬件的配置及其软件如何部署到网络结构中。一个系统模型只有一个部署图&#xff0c;部署图通常用来帮助理解分布式系统。 2. 部署图中的事物 注&#xff1a;在rational rose工具中我还没找到怎么把构件放到节…

部署图的画法

部署图画法 1.部署图 1.1含义 部署图是把软件制品装配到计算机节点以及配置软件环境的工作 软件部署包含环境部署和软件制品部署 1.2软件部署 软件部署通过部署图对软件进行建模 1.3部署图 部署图常见的有制品 节点 设备 运行环境和部署规范 1.4部署图关系 在UML&…

软件工程 第九章:部署图

第九章&#xff1a;部署图 概述 作用&#xff1a;用来描述软件产品在计算机硬件系统和网络上的&#xff1a;安装、分发&#xff08;delivery &#xff09;、分布&#xff08;distribution &#xff09;描述&#xff1a; 静态特性用部署图&#xff08;deployment diagram &…

流程图-时序图-架构图,部署图-拓扑图-ER图-类图-状态图-用例图

为啥要画图 复杂问题、复杂系统的根本解决之道&#xff0c;归根结底就是两个字&#xff1a;分解。 对问题的分析、分解过程&#xff0c;借助图形化的表达&#xff0c;可以达到“一图胜千言”的效果&#xff0c;于人于己好处多多。 图形表达的过程&#xff0c;即是建模的过程…

OOSE-6-部署图/包图

文章目录 1 部署图1.1 基本概念1.2 组成元素1.2.1 工件1.2.2 节点1.2.3 连接1.2.4 节点中的工件和执行环境 1.3 两个示例1.4 建模分析1.4.1 示例11.4.2 示例2 1.5 建模工具 2 包图2.1 包图的概念2.2 包的表示2.3 包图中的关系2.4 阅读包图2.5 创建包图2.5.1 示例12.5.2 其他示例…