这几天在做一个性能测试,写了一个模拟发送http的程序。模拟100并发的情况下,随机发http get的请求。放到服务器上运行一段时间抛出Too many open files的异常。

  这几天在做一个性能测试,写了一个模拟发送http的程序。模拟100并发的情况下,随机发http get的请求。放到服务器上运行一段时间抛出Too many open files的异常。

  异常信息简单的信息如下:

  I/O exception (java.net.SocketException) caught when processing request: Too many open files

  大致了解下,是文件句柄数设置太低导致的。一般linux服务器默认的句柄数都是1024,执行ulimit -n,查看了下当前的seesion环境下句柄数。果然就是1024.

  当前登录的账户并不是root,直接切换到root账户,修改后切回到操作用户metaboy 。发现句柄数并没有改变。

  所以使用下面的命令:

  ulimit -n 65535

  并不能有效的解决这个问题。直接这么修改open files 不能得到保持。下面给出的方法最简单和最直接:

  修改/etc/security/limits.conf 添加如下一行:

  * - nofile 65535

  修改/etc/pam.d/login添加如下一行

  session required /lib/security/pam_limits.so

  最重要的,修改完这些后,要重新登录下才行,不然该session的句柄数不会生效。

原文转自:http://www.wangyuxiong.com/archives/52144

ulimit设置句柄数的更多相关文章

  1. 修改RedHat 7.2 进程最大句柄数限制

    RedHat对进程打开文件句柄数主要通过设置全局值和登陆用户分别管理.其中/proc/sys/fs下设置全局最大文件句柄数和用户进程能打开的最大文件句柄数,这两个参数一般情况下不需要修改. 对于普通用 ...

  2. MySQL 句柄数占用过多的解决方法

    在Windows下安装MySQL ,用了官方的配置向导生成了my.ini,本以为很安稳了,谁知十多个小时过去之后,系统响应非常慢,看资源管理器的性能卡,发现句柄数竟然达到了10万!怪不得无论使用什么程 ...

  3. linux下查看系统进程占用的句柄数

    ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq ...

  4. Windows句柄数限制

    设置 GDIProcessHandleQuota项设置GDI句柄数量,默认值为2710(16进制)/10000(10进制),该值的允许范围为 256 ~ 16384 ,将其调整为大于默认的10000的 ...

  5. Nginx设置线程数为整机内核数的俩倍!

    Nginx设置线程数为整机内核数的俩倍!

  6. Linux Shell 网络层监控脚本(监控包括:连接数、句柄数及根据监控反馈结果分析)

    脚本监控: 获取最大句柄数的进程: 链接分析: 脚本片段: case "$handle" in 2) echo "The handle of the process : ...

  7. 服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数

    最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加. 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右. 运行20天后,内存占用(PF使用):1.8G ...

  8. Latex 三线表及设置列数

    参考: latex的三线表格及一些错误的修改 latex 三线表 Latex 三线表 及设置列数 绘制三线表: \begin{table}[htbp] \caption{\label{tab:test ...

  9. c# 句柄数不断攀升的解决方案

    句柄只是用来标识应用程序中的不同对象和同类中的不同的实例的一个数字,通常情况下,句柄值对普通用户毫无用处,但是句柄数量却可以间接反映出一个程序里产生的对象实例的多少.句柄数越多,代表程序里new 出来 ...

随机推荐

  1. 详解设计模式在Spring中的应用---转载

    Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范.好了,话不多说,开始今天的内容. spring中常用的设计模式达到九种,我们一一举例: 第一种:简单工厂 又叫 ...

  2. gitlab人备份与恢复

    注意新建备份目录是:/usr/local/src/repositories 属主和属组: # ll -d repositories/ drwx------ git root Feb : reposit ...

  3. ny488 素数环

    素数环 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简便起 ...

  4. eclipse 安装插件的几种方式

        eclipse 安装插件的几种方式   1.使用url在线安装 ,最方便最快捷   help - install new software       接下来就是同意协议之类的,next ne ...

  5. Android开发日记(一)

    实现点击一个图片按钮跳转到一个动作ImageViewSchoolCard = (ImageView) view.findViewById(R.id.ImageViewLostThings); Imag ...

  6. poj1509(环形字符串求最小字典序)

    题意:给你一串字符串,但是这串字符串是环形的,让你找个位置切开,使得它的字典序最小....... 思路:典型的最小表示法....... #include<iostream> #includ ...

  7. vim添加复制(crtl+c),粘贴(ctrl+v)ctrl+A 等快捷键

    1  在  /usr/share/vim/vimrc文件中添加   source $VIMRUNTIME/mswin.vim 2  mswin.vim位置在 /usr/share/vim/vim72/ ...

  8. flume sourcetype avro http

    flume  当sourcetype=http的时候可以用 curl -X POST -d '[{"headers" :{"APPSTORE" : " ...

  9. oracle DataGuard 主从 踩过坑的

    一.主机描述 dbprimary: 192.168.1.57 主机名称db1    dbstandby: 192.168.1.58 主机名成db2    SID: orcl 二.配置tns,配置好的文 ...

  10. Linux进程同步机制

    为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作.比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进 ...