数据得到方式,修改Linux文件句柄数限制

2019-07-20 07:07 来源:未知

用超级用户健康进程483的资源使用情况:

因为linux系统里都是以文件来表示的,所以在做搞并发的web系统时,修改文件句柄限制那是必须的。 

因为Linux系统里都是以文件来表示的,所以在做搞并发的web系统时,修改文件句柄限制那是必须的。

  1. 获得某个进程的socket句柄数目

 

查看某个进程使用了的文件句柄数

  ls   /proc/483/fd   -l   |   grep   socket:   |   wc   -l

查看某个进程使用了的文件句柄数 

# sudo ps -ef | grep java

  1. 获得某个进程打开的全部文件句柄数目:

# sudo ps -ef | grep java 

root      1663     1  0 02:37 ?        00:00:43 /opt/bitnami/java/bin/java

    ls   /proc/483/fd   -l   |   wc   -l

root      1663     1  0 02:37 ?        00:00:43 /opt/bitnami/java/bin/java 

从结果中可得知进程的pid,然后根据pid查看该进程当前使用的文件句柄数

  1. 获得某个进程的线程数目

从结果中可得知进程的pid,然后根据pid查看该进程当前使用的文件句柄数 

#sudo ls /proc/1663/fd | wc -l

    cat /proc/1022/status |grep Threads

#sudo ls /proc/1663/fd | wc -l 

1022

  1. 获得某个进程的内存数目

1022 

发现句柄数一直就停留在1022,同时top查看发现load持续增高。于是先查看了下当前进程的句柄数限制。

    cat /proc/1022/status |grep VmSize

发现句柄数一直就停留在1022,同时top查看发现load持续增高。于是先查看了下当前进程的句柄数限制。 

#sudo cat /proc/1663/limits | grep "files"

二 系统资源限制

#sudo cat /proc/1663/limits | grep "files" 

Max open files            1024                1024                files

  1. 查看Linux系统默认的最大文件句柄数,系统默认是1024

Max open files            1024                1024                files 

发现限制卡在这了,于是修改/etc/sysctl.conf文件,添加一行如下:

# ulimit -n

发现限制卡在这了,于是修改/etc/sysctl.conf文件,添加一行如下: 

fs.file-max=30720

  1. 系统当前文件句柄总状

fs.file-max=30720 

保存。并执行

   cat /proc/sys/fs/file-nr
  55740   0       65536

保存。并执行 

#sudo sysctl -p

  第一列为系统中实际分配的文件句柄数,这个值包含当前所有进程已分配的文件句柄数总和,第二列为分配后未使用的文件句柄数,通常   为 0,第三列为系统支持的最大文件句柄数[和内核参数fs.file-max相等]

#sudo sysctl -p 

然后再查看就发现已经改过来了。

三.监控脚步设计

然后再查看就发现已经改过来了。 

Google发现linux系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。

   获得每次监控时间戳: date %H:%M:%S

Google发现linux系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。 

修改系统级的:

图片 1

修改系统级的:  www.2cto.com

#echo "30720" > /proc/sys/fs/file-max

#echo "30720" > /proc/sys/fs/file-max 

修改用户级的:

修改用户级的: 

#sudo vi /etc/security/limits.conf

#sudo vi /etc/security/limits.conf 

增加如下行:

增加如下行: 

* soft nofile 2048

* soft nofile 2048 

* hard nofile 32768

* hard nofile 32768 

星号表示任何用户,soft/hard表示软限制、硬限制。修改/etc/pam.d/login文件指定使用PAM

星号表示任何用户,soft/hard表示软限制、硬限制。修改/etc/pam.d/login文件指定使用PAM 

session required /lib/security/pam_limits.so

session required /lib/security/pam_limits.so 

不过需要注意的是系统是32位还是64位,若是64位的那就是/lib64/security/pam_limits.so

不过需要注意的是系统是32位还是64位,若是64位的那就是/lib64/security/pam_limits.so 

上面的修改后,reboot,再次查看

上面的修改后,reboot,再次查看 

#ulimit -n

#ulimit -n 

30720

30720 

修改成功。

修改成功。

图片 2

 

 

 

作者 berdy

查看某个进程使用了的文件句柄数 #...

TAG标签: 韦德娱乐1946
版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于韦德国际1946官网,转载请注明出处:数据得到方式,修改Linux文件句柄数限制