总结下 fs.file-max,ulimit -n 和 lsof的异同 1 问题背景 最近排查一个大数据集群的性能问题,排查过程中发现通过命令 ulimit -n 获取的最大句柄数,和通过命令 cat /proc/$pid/limits 获取的最大句柄数不一致,特意总结了下相关知识,在此记录下。 2 操作系统全局级别的限制 LINUX在操作系统全局级别,通过参数 f...
最近排查一个大数据集群的性能问题,排查过程中发现通过命令 ulimit -n 获取的最大句柄数,和通过命令 cat /proc/$pid/limits 获取的最大句柄数不一致,特意总结了下相关知识,在此记录下。 2 操作系统全局级别的限制 LINUX在操作系统全局级别,通过参数 fs.file-max 控制了整个系统能够打开的文件的最大数,该参数是...
最近排查一个大数据集群的性能问题,排查过程中发现通过命令 ulimit -n 获取的最大句柄数,和通过命令 cat /proc/$pid/limits 获取的最大句柄数不一致,特意总结了下相关知识,在此记录下。 2 操作系统全局级别的限制 LINUX在操作系统全局级别,通过参数 fs.file-max 控制了整个系统能够打开的文件的最大数,该参数是...
max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。 ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。 对于服务器来说,file-max和ulimit都需要设置,否则会出现文件描述符耗尽的问题。 一般如果遇到文件句柄达...
总结下 fs.file-max,ulimit -n 和 lsof的异同 1 问题背景 最近排查一个大数据集群的性能问题,排查过程中发现通过命令 ulimit -n 获取的最大句柄数,和通过命令 cat /proc/$pid/limits 获取的最大句柄数不一致,特意总结了下相关知识,在此记录下。
lsof 是一个实用工具,常用于检查进程或系统当前的文件占用情况。通过它,我们可以查看某个进程实际打开的文件数量,这对于诊断和优化系统资源使用至关重要。总结来说,fs.file-max 是全局的系统限制,ulimit -n 是用户级别的可配置项,而 lsof 是监控工具。在排查和优化性能时,理解并结合这三个工具的...
max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。 ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。 对于服务器来说,file-max和ulimit都需要设置,否则会出现文件描述符耗尽的问题。
简单的说, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量. man 5 proc, 找到file-max的解释: file-max中指定了系统范围内所有进程可打开的文件句柄的数量限制(系统级别, kernel-level). (The value in file-max denotes the maximum number of file handle...
file-max表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。 ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。 对于服务器来说,file-max和ulimit都需要设置,否则会出现文件描述符耗尽的问题。
同时为了控制每个进程消耗的文件资源,内核也会对单个进程最大打开文件数做默认限制,即用户级限制。32位系统默认值一般是1024,64位系统默认值一般是65535,可以使用 ulimit -n 命令查看。 image.png 更改用户级限制也有临时更改和永久更改两种方式: 临时更改: ...