[转]修改ulimit值的学习点滴

修改ulimit值的学习点滴:

网上有好多修改ulimit的文章,但大多仅限于对当前交互shell的修改,如果只是为了提高某一次执行脚本的文件句柄打开数,以下方法非常有效:

操作系统: CentOS 5.1 x86_64

1)修改当前交互终端的limit值

查询当前终端的文件句柄数: ulimit -n 回车,一般的系统默认的1024.

修改文件句柄数为65535,ulimit -n 65535.此时系统的文件句柄数为65535.

2)将ulimit 值添加到/etc/profile文件中(适用于有root权限登录的系统)

为了每次系统重新启动时,都可以获取更大的ulimit值,将ulimit 加入到/etc/profile 文件底部。

echo ulimit -n 65535 >>/etc/profile 
        
    source /etc/profile    #加载修改后的profile 
   
    ulimit -n     #显示65535,修改完毕!

OK,好多朋友都以为大功告成了,可以突然发现自己再次登录进来的时候,ulimit的值还是1024,这是为什么呢? 
    关键的原因是你登录的用户是什么身份,是不是root用户,由于服务器的root用户权限很大,一般是不能用来登录的,都是通过自己本人的登录权限进行登录,并通过sudo方式切换到root用户下进行工作。 用户登录的时候执行sh脚本的顺序: 
    /etc/profile.d/file 
    /etc/profile 
    /etc/bashrc 
    /mingjie/.bashrc 
    /mingjie/.bash_profile

由于ulimit -n的脚本命令加载在第二部分,用户登录时由于权限原因在第二步还不能完成ulimit的修改,所以ulimit的值还是系统默认的1024。

解决办法: 
    修改linux的软硬件限制文件/etc/security/limits.conf.

在文件尾部添加如下代码: 
    * soft nofile 65535 
    * hard nofile 65535

保存并退出,命令说明: 
    domino type item value 
    domino是以符号@开头的用户名或组名,*表示所有用户,type设置为hard or soft。item指定想限制的资源。如cpu,core nofile nproc or maxlogins。value是相应的限制值。

保存后如何让其文件生效呢,我在网上也搜索的很久,都没什么答案,最后很好笑的是,只需要重新登录一次,ulimit的值就生效了,如果还不行就 reboot(重新启动服务器)。

连接数还受制于操作系统的内核参数设置,通常windows在2000个左右。Linux系统在1000个左右(想法是否正确?有待验证!)

时间: 2024-12-06 01:25:42

[转]修改ulimit值的学习点滴的相关文章

修改系统ulimit值

修改/etc/security/limits.conf * soft   nofile   32768                    * hard nofile 65536 注意: 这个当中的硬限制是实际的限制,而软限制,是warnning限制,只会做出warning:其实ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软默认显示的是软限制,如果运行ulimit命令修改的时候没有加上的话,就是两个参数一起改变. 生效: 重新登陆即可(reboot其实也行)我分别用root和w

ulimit调优|设置普通用户的ulimit值

个人总结: 如何设置普通用户的ulimit值 1.vim /etc/profile 增加 ulimit -n 10240 source /etc/profile 重新启动就不需要运行这个命令了. 2.修改/etc/security/limits.conf 增加 *      hard     nofile     10240 \\限制打开文件数10240 3.测试,新建普通用户,切换到普通用户使用ulit -a 查看是否修改成功. 相关介绍: ulimit -a 用来显示当前的各种用户进程限制.

linux 修改ulimit 的参数

ulimit -a 显示当前用户的各种限制. ulimit -n 的数值表示每个进程可以打开的文件数目. 一般情况下, ulimit -n 的数值是1024. 当进程打开的文件数目超过此限制时,该进程就会退出. 因此,有些时候我们需要修改此限制. 如果我们只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000).但是这个设置时暂时的保留!当我们退出bash后,该值恢复原值. 如果要永久修改ulimit,需要修改/etc/security/

linux学习点滴

linux学习点滴 目录: 1.Ubuntu安装 2.修改默认root密码 3.vim入门 1.Ubuntu安装: (1)启动盘制作: a.下载启动盘制作工具Universal USB Installe,下载地址: b.下载Ubuntu系统镜像,到本地磁盘,官方下载地址: c.安装Universal USB Installe,同时将Ubuntu系统镜像写入U盘(8G):安装软件时注意点击step2中的Browse,并选择Ubuntu系统镜像地址:再在step3中选择移动U盘,点击Creat按钮:

Mac OSX下修改 ulimit 参数

OSX下Leopard, Yosemite版本的操作系统下, 修改 ulimit 命令默认的程序是 launchd.默认的ulimit命令继承自launchd, 默认的limits参数如下: daviddeMacBook-Pro:etc david$ sudo launchctl limitPassword:  cpu         unlimited      unlimited        filesize    unlimited      unlimited        data 

js 动态修改属性值 动态修改图片,字等

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv = "content-type" content="text/html;charset=utf-8"/> &

selenium处理富文本框,日历控件等 调用JS修改value值

http://blog.csdn.net/fudax/article/details/8089404 document.getElementById("js_domestic_fromdate").value = "2014-10-10" selenium处理富文本框,日历控件等 调用JS修改value值,布布扣,bubuko.com

jQuery attr方法修改onclick值

了通过jQuery的attr修改onclick值. 代码: var js = "alert('B:' + this.id); return false;"; var newclick = eval("(function(){"+js+"});"); $("#anchor").attr('onclick', '').click(newclick); 如果onclick事件原先有值,要先清空,再用click( eval(funct

CentOS7/RHEL7如何修改swappiness值?

示例:修改swappiness值为0 永久配置方法: sysctl -w vm.swappiness=0 echo vm.swappiness = 0 >> /etc/sysctl.conf 临时配置方法: sysctl -w vm.swappiness=0 手动更改/sys/fs/cgroup/memory下子目录对应的memory.swappiness值 临时配置后可能出现的故障描述: 物理内存还比较充足,vm.swappiness已经设置为0,但系统还是用了swap分区 故障原因 根因是