首页 > 代码库 > [编织消息框架][优化系统]突破连接上限(上)

[编织消息框架][优化系统]突破连接上限(上)

把测试代码ServerAio.class打包成jar,丢给linux服务器

技术分享

 

其中添加两个shell文件,因为原系统装有java6,建立个sh不同版本java共存

java8.sh

/down/jdk1.8.0_131/bin/java $@

systeminfo.sh

echo "系统"head -n 1 /etc/issueecho cpucat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"echo "内存"cat /proc/meminfo |grep MemTotal | awk BEGIN{sum=0} !/^d/{sum=$2} END{print "Memtotal is:",sum/1024,"M"}

 

jdk:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

system:

系统
CentOS release 5.5 (Final)
cpu
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
model name : Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
内存
Memtotal is: 7983.66 M

首次测试时出现异常:java.io.IOException: Too many open files

./java8.sh -jar testaio.jar

执行:ulimit -a

其中open files 选项允许每个用户打开最大文件数,因为linux是文件资源系统,设备、连接、文件、应用程序都是以文件形成存在

修改open files,重启会丢失

ulimit -n 100000

永久修改vim /etc/security/limits.conf

在最后加入
* soft nofile 4096
* hard nofile 4096

* 是所有用户

 

测试结果:

服务端打印:16344

这时开两个client测试还是16344,证明jdk aio极限处理16344连接

 

[编织消息框架][优化系统]突破连接上限(上)