linux下关于ulimit

这里讨论的是redhat。linux是有文件句柄限制的,默认是1024,作为一台生产服务器,在linux下面部署应用的时候,很容易达到这个数量的限制,然后报错 error: too many open files ,所以应当把这个值改大一些,在高负载情况下要设置为更高,但最高只能为65535。有人说这里默认的1024是系统的限制,也有人说是用户的限制,其实这个是用户的限制,严格的说这是当前用户准备要运行的程序的限制。

使用ulimit -a可以查看当前系统的所有限制值,使用ulimit -n可以查看当前的最大打开文件数。

有3种方法可以更改默认最大打开文件数(1024):

1.在终端直接输入ulimit -SHn 65535可以更改,但这种方式重启机器后更改值会失效,重新回到1024;

2.编辑/etc/profile,在文件最后增加 ulimit -SHn 65535,重启系统,更改成功;

3.编辑/etc/security/limits.conf,在文件最后增加以下两行记录:

*    soft    nofile    65535

*    hard    nofile    65535

保存并重启系统,更改成功!

也可以在/etc/security/limits.conf文件最后增加以下四行记录:

*    soft    nproc    65535

*    hard    nproc    65535

*    soft    nofile    65535

*    hard    nofile    65535

保存文件并重启机器即可。其中,*代表针对所有用户,nproc代表最大进程数,nofile代表最大文件打开数。

上面的3种方法,最好的是方法3 。也有人说可以修改文件/etc/rc.local,在其最后增加一行ulimit -SHn 65535,经过验证这是错的,至少在redhat中行不通。

linux下关于ulimit,布布扣,bubuko.com

时间: 2024-08-13 00:07:30

linux下关于ulimit的相关文章

linux下线程调试 ulimit core

在linux 下写线程程序的同学估计都遇到过找bug找到崩溃的情况,多线程情况下bug的追踪实在是不容易. 现在我来介绍一个好用的方法 ulimit core. 先简单介绍一下ulimit是个什么(你也可以man ulimit自己查看). "'当系统中的一些程序在遇到一些错误以及crash时,系统会自动产生core文件记录crash时刻系统信息,包括内存和寄存器信息,用以程序员日 后debug时可以使用.这些错误包括段错误.非法指令.总线错误或用户自己生成的退出信息等等,一般地,core文件在当

Linux下配置tomcat + apr + native应对高并发

在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,这时并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来. 一.Tomcat运行模式介绍 Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下: (1)BIO    BIO(blocking I/O

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

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄).可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [[email protected] ~]$ ulimit -n1024 这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个文件中

什么是core dump linux下用core和gdb查询出现"段错误"的地方

什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-3193279.html 有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误". 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自

Linux下高并发socket链接数测试

一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.conf文件,将"soft nofile 655360"和"hard nofile 655360"这两行的655360改成期望的值 退出,重新ssh该机器(否则无效) 修改对service的启动脚本,增加"ulimit -n 950000",其中9500

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)

***************************************声明*************************************** 个人在oracle路上的成长记录,其中以蓝自喻,分享成长中的情感.眼界与技术的变化与成长.敏感信息均以英文形式代替,不会泄露任何企业机密,纯为技术分享. 创作灵感源于对自己的自省和记录.若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已. 欢迎拍砖,如有关技术细节表述有错误之处,请您留言或邮件([email protected])指明,

Linux下PHP环境安装具体步骤

Linux下 PHP环境安装 您需要以下安装包: 1.     字体引擎,freetype-2.1.10.tar.gz 2.     JPEG 图形库,jpegsrc.v6b.tar.gz 3.     PNG图形库,libpng-1.2.8-config.tar.gz 4.     数据压缩库,zlib-1.2.3.tar.gz 5.     加密算法扩展库,libmcrypt-2.5.7.tar.gz 6.     PHP的源码包,php-5.3.3.tar.gz6 确保您的安装linux环

Linux下oracle系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录

简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,最近几天因为离职,交接的时候又要安装oracle,发现老遇到错误,导致装不上了,通过这次我好好的研究了下oracle,非要搞清楚它,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Ora

linux下安装oracle需要的配置

1.检查系统包安装情况 rpm -qa|grep binutils rpm -ivh sysstat-7.0.2.rpm binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit