umilit 修改 linux 最多可打开文件数

摘要:
-n 指定同一时间最多可打开的文件数。Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:ulimit-u10000对于需要做许多socket连接并使它们处于打开状态的Java应用程序而言,最好通过使用ulimit-nxx修改每个进程可打开的文件数,缺省值是1024。
ulimit -n 修改

临时修改: ulimit -SHn 65535

永久修改:echo'*-nofile65535'>>/etc/security/limits.conf

Linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?

  1. [root@localhost security]# ulimit -a
  2. core file size (blocks, -c) 0
  3. data seg size (kbytes, -d) unlimited
  4. scheduling priority (-e) 0
  5. file size (blocks, -f) unlimited
  6. pending signals (-i) 30518
  7. max locked memory (kbytes, -l) 64
  8. max memory size (kbytes, -m) unlimited
  9. open files (-n) 1024
  10. pipe size (512 bytes, -p) 8
  11. POSIX message queues (bytes, -q) 819200
  12. real-time priority (-r) 0
  13. stack size (kbytes, -s) 10240
  14. cpu time (seconds, -t) unlimited
  15. max user processes (-u) 1024
  16. virtual memory (kbytes, -v) unlimited
  17. file locks (-x) unlimited
  18. [root@localhost security]# ulimit -n 10240
  19. [root@localhost security]# ulimit -a
  20. core file size (blocks, -c) 0
  21. data seg size (kbytes, -d) unlimited
  22. scheduling priority (-e) 0
  23. file size (blocks, -f) unlimited
  24. pending signals (-i) 30518
  25. max locked memory (kbytes, -l) 64
  26. max memory size (kbytes, -m) unlimited
  27. open files (-n) 10240
  28. pipe size (512 bytes, -p) 8
  29. POSIX message queues (bytes, -q) 819200
  30. real-time priority (-r) 0
  31. stack size (kbytes, -s) 10240
  32. cpu time (seconds, -t) unlimited
  33. max user processes (-u) 1024
  34. virtual memory (kbytes, -v) unlimited
  35. file locks (-x) unlimited
  36. [root@localhost security]#
  37. </font></font></font></font>
复制代码
1. 命令用法
命 令:ulimit
功 能:控制shell程序的资源
语  法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆栈大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]
补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。
参  数:
-a  显示目前资源限制的设定。
-c <core文件上限>  设定core文件的最大值,单位为区块。
-d <数据节区大小>  程序数据节区的最大值,单位为KB。
-f <文件大小>  shell所能建立的最大文件,单位为区块。
-H  设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小>  指定可使用内存的上限,单位为KB。
-n <文件数目>  指定同一时间最多可打开的文件数。
-p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
-s <堆栈大小>  指定堆叠的上限,单位为KB。
-S  设定资源的弹性限制。
-t <CPU时间>  指定CPU使用时间的上限,单位为秒。
-u <进程数目>  用户最多可启动的进程数目。
-v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。
2. 系统调优

如前所述, ulimit -a 用来显示当前的各种用户进程限制。
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,
设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:
ulimit -u 10000
对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,
最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。
ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024
其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件中, 即特定于 shell 的用户资源文件,如:
1) 解除 Linux 系统的最大进程数和最大文件打开数限制:
vi /etc/security/limits.conf
# 添加如下的行
* soft noproc 11000
* hard noproc 11000
* soft nofile 4100
* hard nofile 4100
说明:

* 代表针对所有用户
noproc 是代表最大进程数
nofile 是代表最大文件打开数
2) 让 SSH 接受 Login 程式的登入,方便在 ssh 客户端查看 ulimit -a 资源限制:
a、vi /etc/ssh/sshd_config
把 UserLogin 的值改为 yes,并把 # 注释去掉
b、重启 sshd 服务:
/etc/init.d/sshd restart
3) 修改所有 linux 用户的环境变量文件:
vi /etc/profile
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited
/**************************************
有时候在程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。
修改2个文件。
1) /etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 8192
* hard nofile 20480
2) /etc/pam.d/login
session required /lib/security/pam_limits.so
**********
另外确保/etc/pam.d/system-auth文件有下面内容
session required /lib/security/$ISA/pam_limits.so
这一行确保系统会执行这个限制。
***********
3) 一般用户的.bash_profile
#ulimit -n 1024
重新登陆ok
3./proc目录:
1)/proc目录里面包括很多系统当前状态的参数,例如:引用
/proc/sys/fs/file-max
/proc/sys/fs/inode-max


是对整个系统的限制,并不是针对用户的;
2)proc目录中的值可以进行动态的设置,若希望永久生效,可以修改/etc/sysctl.conf文件,并使用下面的命令确认:

# sysctl -p


例如增加:

引用
fs.file-max=xxx
fs.inode-max=xxx

免责声明:文章转载自《umilit 修改 linux 最多可打开文件数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Extjs6(特别篇)——项目自带例子main.js拆分详解DRF--视图集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux中断信号的查看

中断号的查看可以使用下面的命令:“cat /proc/interrupts”。 中断号的查看也可以使用下面的命令:“cat /proc/stat” 记录了几个关于系统活动的低级统计量, 包括(但是不限于)自系统启动以来收到的中断数. stat 的每一行以一个文本字串开始, 是该行的关键词; intr 标志是我们在找的irq函数定义:/kernel/irq/...

linux应用层监控网线插拔状态的实现

1、对于基于linux2.4内核的uclinux系统如何实现在应用层监控网线插拔状态? 2、硬件环境:IPS100(ARM7TDMI) 3、实现过程 由于linux下的ifconfig命令就能够实现在应用层监控网线插拔状态,例如当网线连接正常时,使用ifconfig eth0命令,打印的信息中会有RUNNING,而拔掉网线后,再使用ifconfig et...

Linux下新建用户自动复制文件

/etc/skel/目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。 这个目录下的所有文件都是隐藏文件(以.点开头的文件)。 通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。 如果删除了用户目录下的文件,可通过拷贝该文件夹下的相...

linux磁盘扩容

home目录空间很大 , /目录空间比较小,需要我们把/home目录空间缩小,/目录空间增大 首先了解一下缩写概要 lv逻辑卷 vg卷组 pv物理卷 1,查看大小,磁盘利用 df -hl 或者 df -Th    查看分区情况     fdisk -l 挂载磁盘的大小,空间大小 lsblk 根据lsblk查看情况,确定: 1, /home空间大...

安装Windows 和 Linux双系统(vmware) Centos7

这里我安装的是Windows + Centos 7,如果是要安装Centos 6,步骤一样 一、安装Windows和Linux双系统需要先安装Windows然后安装Linux   解释:这里解释下为什么要先安装Windows在安装Linux,这点看不懂无所谓的   系统启动首先blos加电自检,然后由blos里边设定的启动顺其进行启动,当发现磁盘中存在MB...

为什么linux有足够的内存还进行swap?

  1、Linux在内存被用完之前开始交换。这是为了提高性能和响应能力: 性能提高是因为一些内存放磁盘缓存比方内存更合适。因此,最好将一个已经停用了一段时间的程序交换出去,而将经常使用的文件保存在缓存中。 当系统处于空闲状态时,而不是当内存满时,一些程序正在运行并请求更多的RAM来完成任务时,响应能力会得到改善。   2、如何在有内存可用的时候,不使用sw...