`
tomhibolu
  • 浏览: 1403284 次
文章分类
社区版块
存档分类
最新评论

LINUX 设置最大描述符

 
阅读更多

按下面说的,可以用ulimit -n 32768设置最大描述符,不过只对当前会话有用,而且要root,这个不好办
或者修改/etc/security/limits.conf,但要重启
另外,没查到linux究竟最大描述符有没有限制,其他几个限制要不要改


http://www.nsfocus.net/index.php?act=magazine&do=view&mid=134
如何限制和监视用户

PAM 大多数的LINUX都内建了PAM支持。PAM的一个功能是系统环境设置,例如设置某个用户允许使用的系统内存大小等。在Red Hat和Caldera这

两个发行版本的 /etc/security/ 目录下包含了许多可配置文件。最有趣的当属 /etc/security/limits.conf 文件,它允许你定义用户或用户

组规则,规则是“软(soft)”或“硬(hard)”,规则的内容(如CPU、内存、最大文件大小等)。例如:

* hard core 0
bob soft nproc 100
bob hard nproc 150

第一行规则禁止所有人产生core文件,第二行规则(软)定义用户bob的最大进程数为100, 第三行规则(硬)定义用户bob的最大进程数为150

。可以超出软规则的限制(警告),但不 能超过硬规则的限制。你可以想像得到,这些规则定义到所有用户的登录SHELL和FTP等服务 时是很

有帮助的。

Bash
Bash内建了一个限制器"ulimit"。注意任何硬限制都不能设置得太高,因此如果你在/etc/profile或用户的 .bash_profile (用户不能编辑或

删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保

用户不能改变他们的登录shell。限制的设置与PAM相似。例如:

ulimit –Sc 0
ulimit –Su 100
ulimit –Hu 150


http://www.ringkee.com/jims/read_folder/books/LinuxHackingExposed
Ulimit命令
设置限制 可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义
限制。
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限
除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。
domino type item value
domino是以符号@开头的用户名或组名,*表示所有用户,type设置为hard or soft。item指
定想限制的资源。如cpu,core nproc or maxlogins
。value是相应的限制值。


http://tech.blogchina.com/123/2005-06-10/372941.html
Unix、Linux下常用监控和管理命令工具
检查编写的程序打开的文件数。   

  sysctl:显示(或设置)系统内核参数   

  sysctl -a 显示所有内核参数  

  sysctl -w 参数名=参数值   

  例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。   

  内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,   
  第二个参数表示空闲(分配后已释放)的文件数,   

  第三个参数表示可以打开的最大文件数,其值等于fs.file-max。   

  当前打开的文件数 = 第一个参数值 - 第二个参数值   

  例如:   

  fs.file-nr = 977 223 10240   

  当前打开的文件数 = 977 - 233 = 744   

  设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。   

  ulimit:显示(或设置)用户可以使用的资源限制   

  ulimit -a 显示用户可以使用的资源限制   

  ulimit unlimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)   

  和可同时运行的最大进程数(max user processes)无效   

  ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max open files)

  例如:ulimit -n 8192   

  如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误   

  ulimit -u <可以运行的最大并发进程数> 设置用户可以同时运行的最大进程数(max user processes)   

  例如:ulimit -u 1024 


http://www-128.ibm.com/developerworks/cn/linux/es-JavaVirtualMachinePerformance.html?ca=dwcn-newsletter-linux


IBM JVM for Linux on POWER 的性能调优技巧
用户限制设置
为了获得最佳性能,让运行 JVM 进程的用户拥有经过正确配置的用户设置是很重要的。这些参数可以设置成以下两种形式之一:

暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者

通过编辑 /etc/security/limits.conf。

建议设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit –d unlimited
最大内存大小:ulimit –m unlimited
堆栈大小:ulimit –s unlimited
CPU 时间:ulimit –t unlimited
虚拟内存:ulimit –v unlimited

对于需要做许多套接字连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit –n,或者通过设置

/etc/security/limits.conf 中的 nofile 参数,为用户把文件描述符的数量设置得比默认值高一些。

1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 8192
* hard nofile 20480

分享到:
评论

相关推荐

    linux下usb描述符号介绍

    ### Linux 下 USB 描述符介绍 #### USB 描述符概述 在探讨 USB 设备与主机交互的过程中,USB 描述符扮演着极其重要的角色。这些描述符不仅提供了关于 USB 设备基本信息的关键细节,还包含了设备如何配置及工作的...

    嵌入式开发教程之linux进程与它的文件描述符--千锋培训

    五、文件描述符的限制:每个进程都有一个最大可打开文件描述符的数量限制,这可以通过`ulimit`命令来查看和调整。超过这个限制,进程将无法再打开新的文件。在资源有限的嵌入式系统中,合理设置和管理文件描述符的...

    linux下文件描述符限制问题

    linux下文件描述符最大限制默认最大为1024,通过 [root@localhost ~]# ulimit -n 1024 这个命令可以查看。此值可以修改。 进程的文件描述符,可以通过 [root@localhost ~]# ls -al /proc/13623/fd |wc -l 59 输出...

    获取和修改linux socket最大连接数,linux,系统

    总的来说,获取和修改Linux Socket的最大连接数涉及到对系统底层机制的理解,包括Socket的工作原理、文件描述符限制以及内核参数调整等。正确地设置这些参数,可以显著提升服务器的并发处理能力和性能。

    HID 免驱 描述符

    在IT领域,尤其是在硬件开发和设备兼容性方面,"HID免驱描述符"是一个重要的概念,它解决了USB设备在不同操作系统(如Android、Linux、Windows)上需要安装驱动程序的问题。HID(Human Interface Device)是USB设备...

    Linux异步通信socket

    这决定了`select`函数在没有任何描述符就绪时的最大等待时间。 4. **调用`select`函数**:使用`select`函数开始监听描述符集合的变化。`select`函数会阻塞,直到至少有一个描述符变为可读或可写,或者达到超时时间...

    Linux下高并发socket最大连接数所受的各种限制

    每个Socket连接在Linux中都会被映射为一个文件描述符(file descriptor)。因此,系统对用户进程可打开文件数量的限制直接影响了最大并发Socket连接数。默认情况下,这个限制通常是1024,可以通过`ulimit -n`命令...

    select网络模型-Linux

    - `nfds`: 这是描述符集合中最大文件描述符加一的值,用于告诉`select`监视的最大文件描述符范围。 - `readfds`: 包含待检查的可读文件描述符集合。 - `writefds`: 包含待检查的可写文件描述符集合。 - `...

    linux 句柄

    - 这个命令将最大文件描述符数量限制为4096,其中`-H`表示硬限制,`-S`表示软限制,`-n`表示最大文件描述符数量。 - 修改这些设置通常需要编辑用户的`.bash_profile`或系统的`/etc/profile`文件。 #### 五、资源...

    linux下select和poll的用法

    * `nfds` 需要检查的文件描述符个数,数值应该比是三组 fd_set 中最大数更大,而不是实际文件描述符的总数。 * `readset` 用来检查可读性的一组文件描述符。 * `writeset` 用来检查可写性的一组文件描述符。 * `...

    Linux在x86上内存管理

    局部描述符表LDT位于进程的独立虚拟地址空间中,每个进程的LDT至少包含三个描述符:一个NULL段,一个用户代码段描述符和一个用户数据段描述符。LDT的位置由LDTR寄存器和高速缓存管理,当进程切换时,系统会更新LDTR...

    linux中的select

    - `nfds`:最大文件描述符+1。 - `readfds`:用于读操作的文件描述符集合。 - `writefds`:用于写操作的文件描述符集合。 - `exceptfds`:用于异常情况(如错误发生)的文件描述符集合。 - `timeout`:超时时间...

    linux内核poll源码剖析

    poll 系统调用是 Linux 内核中一个重要的系统调用,它允许用户空间程序监视文件描述符的可读或可写事件。在 Linux 内核中,poll 系统调用是通过 sys_poll 函数来实现的。在本文中,我们将深入剖析 Linux 内核中的 ...

    Linux_chatroom_select.rar_Linux proc虚拟系统_Linux 聊天_linux c selec

    参数`nfds`是文件描述符集中最大文件描述符加1;`readfds`、`writefds`和`exceptfds`分别表示需要监控的读、写和异常事件的文件描述符集合;`timeout`用于设置超时时间。 当调用`select`时,程序将阻塞,直到有文件...

    Linux内存描述符mm_struct实例详解

    本文将深入解析Linux内核中的内存描述符`mm_struct`,它是管理进程虚拟地址空间的关键数据结构。 `mm_struct`在`include/linux/mm_types.h`头文件中定义,它包含了进程地址空间的全部信息。以下是一些主要成员的...

    陈老师讲linux内核4

    段描述符表是存放描述符的集合,包括全局描述符表(GDT)、局部描述符表(LDT)和中断描述符表(IDT)。每个描述符表都有其特定的用途,例如GDT包含了所有任务共享的描述符,而LDT则专属于某一进程,IDT则用于处理异常和...

    linuxxuexi.rar_linux select 串口_linux 串口 select_linux串口select_sel

    - `nfds`: 最大的文件描述符加1,用于告诉系统要监视的最大文件描述符。 - `readfds`: 指向一个`fd_set`结构体,表示要监视的可读文件描述符集合。 - `writefds`: 类似,表示要监视的可写文件描述符集合。 - `...

    Linux中select函数使用详解.zip_Linux中select函数使用详解

    在Linux系统中,`select`函数是用于处理多个文件描述符(FD)的I/O事件的一种方式,尤其在多路复用I/O编程中扮演着重要角色。它允许程序同时监控多个文件描述符,等待它们准备就绪后进行读写操作,而无需轮询检查每...

Global site tag (gtag.js) - Google Analytics