因为linux系统里都是以文件来表示的,所以在做搞并发的web系统时,修改文件句柄限制那是必须的。
查看某个进程使用了的文件句柄数
# sudo ps -ef | grep java
root 1663 1 0 02:37 ? 00:00:43 /opt/bitnami/java/bin/java
从结果中可得知进程的pid,然后根据pid查看该进程当前使用的文件句柄数
#sudo ls /proc/1663/fd | wc -l
1022
发现句柄数一直就停留在1022,同时top查看发现load持续增高。于是先查看了下当前进程的句柄数限制。
#sudo cat /proc/1663/limits | grep "files"
Max open files 1024 1024 files
发现限制卡在这了,于是修改/etc/sysctl.conf文件,添加一行如下:
fs.file-max=30720
保存。并执行
#sudo sysctl -p
然后再查看就发现已经改过来了。
Google发现linux系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。
修改系统级的:
#echo "30720" > /proc/sys/fs/file-max
修改用户级的:
#sudo vi /etc/security/limits.conf
增加如下行:
* soft nofile 2048
* hard nofile 32768
星号表示任何用户,soft/hard表示软限制、硬限制。修改/etc/pam.d/login文件指定使用PAM
session required /lib/security/pam_limits.so
不过需要注意的是系统是32位还是64位,若是64位的那就是/lib64/security/pam_limits.so
上面的修改后,reboot,再次查看
#ulimit -n
30720
修改成功。
分享到:
相关推荐
在 Linux 系统中,进程句柄数设置是一个重要的参数,它决定了单个进程能够打开的最大文件句柄数量,包括 socket 连接。系统默认值为 1024,这对于一般的应用来说已经足够使用。但是,对于需要处理大量请求的应用,如...
文章目录文件句柄查看用户级别(nofile)单个进程级别(nr_open )系统级别(file-max)修改用户级别(nofile)单个进程级别(nr_open )系统级别(file-max)总结参考 tips: 网上说什么的也有,你抄我的我抄你的...
### Linux下查看与修改进程打开的文件句柄数详解 #### 一、引言 在Linux环境下,了解和管理进程打开的文件句柄数是非常重要的。文件句柄数的限制直接影响到应用程序能同时处理的文件数量,特别是对于那些需要处理...
除了进程级别的限制,Linux系统本身也有一个总的文件句柄限制,这个限制决定了整个系统能同时打开的最大文件数量。这个值可以通过读取`/proc/sys/fs/file-nr`文件来获取: ```bash cat /proc/sys/fs/file-nr ``` ...
在Linux系统中,“句柄”这个术语并不常见,但根据题目描述中的信息,这里提到的“句柄”可能是指进程标识符或文件描述符等资源标识符。在Linux和其他类Unix系统中,句柄通常用来标识一个打开的文件或其他系统资源。...
文件句柄是操作系统为每一个打开的文件分配的唯一标识,它存储在主内存的一个特定区域,这个区域的大小决定了系统能同时处理多少个文件。由于操作系统需要内存来管理这些句柄,因此对打开文件数量的限制是为了防止...
在Unix和Linux操作系统中,系统资源的管理是一个关键任务,其中就包括了限制一个用户或进程可以打开的最大文件数。这个限制通常被称为“最大打开文件数”,它由`ulimit`命令来控制。`ulimit -n`命令用于查看或设置一...
linux下文件描述符最大限制默认最大为1024,通过 [root@localhost ~]# ulimit -n 1024 这个命令可以查看。此值可以修改。 进程的文件描述符,可以通过 [root@localhost ~]# ls -al /proc/13623/fd |wc -l 59 输出...
#### 四、Linux文件句柄限制机制 在Linux系统中,每个用户可同时打开的文件数量是有上限的。这些文件句柄(也称为文件描述符)用于跟踪每个打开的文件或网络连接等资源。 ##### 4.1 查看系统全局最大文件数限制 ...
句柄的概念在很多不同的上下文中都有应用,但在这里我们主要关注它在Linux文件系统中的使用。在这个“Linux学习--句柄学习”的主题中,我们将深入探讨Linux句柄的定义、作用以及如何使用它们。 首先,理解什么是...
首先,了解Linux系统默认的句柄数限制是非常必要的。你可以通过`ulimit`命令来查看这些限制。例如,`ulimit -n`将显示当前shell会话的文件描述符(句柄)的最大数量。在例子中,这个值是1024,这是系统默认的软限制...
为了提高 Linux 操作系统中的 TCP 连接数,我们需要分别修改用户进程可打开文件数限制、网络端口限制和系统对 TCP 连接的跟踪限制。通过修改 `/etc/security/limits.conf` 文件、`/etc/rc.d/rc.local` 文件和 `/etc/...
#### 五、修改文件句柄限制 为了支持更高并发连接的服务器应用,我们需要增加文件句柄的限制。具体步骤如下: 1. **修改用户限制配置文件** - 编辑`/etc/security/limits.conf`文件,添加如下内容: ```conf ...
### Linux 最大打开文件数限制修改方法 #### 前言 在Linux系统中,为了保护系统的稳定性与安全性,每个用户登录系统时所能打开的最大文件数都有一定的限制。这一限制通常默认设置为1024个文件。然而,在一些特定的...
这通常是因为Linux的文件句柄限制导致MySQL的最大连接数受到了限制。 Linux系统中用于查看和修改文件句柄限制的命令是ulimit。这个命令可以限制进程对系统资源的使用。例如,ulimit -n 65535 命令可以设置每个进程...
该限制是因为系统为每个 TCP 连接都要创建一个 socket 句柄,每个 socket 句柄同时也是一个文件句柄。因此,需要修改用户进程可打开文件数限制,以支持高并发 TCP 连接。 修改用户进程可打开文件数限制可以通过 ...
可以使用`ulimit -n`命令查看当前系统的文件句柄限制,并根据需要调整。如果经常遇到此问题,可能需要优化程序以减少打开的文件数量,或者增加系统允许的最大文件句柄数。 解决这类问题的关键在于排查每个环节,从...
要修改整个系统的文件句柄限制,需编辑`/etc/sysctl.conf`文件,添加以下行: ``` fs.file-max = [number] ``` 并立即生效可以通过运行`sysctl -p`命令。 #### 实例应用 假设我们发现MySQL服务因“Too many...
除了文件句柄限制之外,网络端口的配置也会影响Linux系统的并发处理能力。 ##### 1. 加载模块 通过编辑`/etc/rc.d/rc.local`文件并加入以下内容来确保必要的模块被加载: ```bash # /etc/rc.d/rc.local /sbin/...
系统层面的资源限制包括对所有进程的全局约束,例如最大文件句柄数、PID上限、内存映射空间等。这些通常可以通过内核参数进行调整,例如`file-max`控制最大文件描述符数。对于像Redis这样的高性能数据库服务,调整...