- 浏览: 90491 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hairongtian:
我想问一下在GC中的gc roots是什么?教科书的看不懂,能 ...
JVM-GC实践总结(纠正并发线程数 转载)
在部署系统后,为了增加系统并发量,系统响应速度,做了一些工作;遂整理如下。 1、修改server.xml文件 <Connector port="80" protocol="HTTP/1.1" 引用 2、增加tomcat启动初始内存设置;catalina.sh – 增加了参数内存设置 内存为2G情况: JAVA_OPTS="-server -Xms1500M -Xmx1500M -Xss256K -Djava.awt.headless=true -XX:PermSize=64M -XX:MaxPermSize=128m" (补充:-Dfile.encoding=utf8 加入这个,是设置文件写入的编码方式) 引用 Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同 -Djava.awt.headless=true Java在图形处理时调用了本地的图形处理库。在利用Java作图形处理(比如:图片缩放,图片签名,生成报表)时,如果运行在windows上不会出问题。如果将程序移植到Linux/Unix上的时候有可能出现图形不能显示的错误。提示信息:"Can't connect to X11 window server"这是由于Linux的图形处理需要一个X Server服务器。解决办法就是设置参数。 Xss:每个线程的Stack大小。Stack的大小限制着线程的数量。如果Stack过大就好导致内存溢漏。-Xss参数决定Stack大小,例如-Xss1024K。如果Stack太小,也会导致Stack溢漏。
maxHttpHeaderSize="8192"
maxThreads="1000" minSpareThreads="75" maxSpareThreads="300"
enableLookups="false" redirectPort="8443" acceptCount="200"
connectionTimeout="50000" disableUploadTimeout="true"/>
主要修改了maxThreads、acceptCount。
Google资料说“如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。”
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。
发表评论
-
JVM 运行时数据区(转)
2012-07-11 23:02 1057运行时数据区 java虚拟机定义了若干种程序运行时使用 ... -
图解JVM 内存分配
2012-07-10 23:57 12201.简介 现摘录一段Java5 ... -
JVM-GC实践总结(纠正并发线程数 转载)
2012-07-10 16:27 3546首先感谢阿宝同学的帮 ... -
深入Java虚拟机:JVM中的Stack和Heap
2012-07-10 14:26 1092在JVM中,内存分为两个部分,Stack(栈)和He ... -
JVM分代垃圾回收策略的基础概念
2012-07-10 13:50 1358由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中 ... -
Java虚拟机(JVM)中的内存设置详解(转载)
2012-07-09 17:13 1135在一些规模稍大的应用 ... -
JVM原理_内存篇(转载)
2012-07-09 16:56 2160一、JVM简介 ... -
JVM参数调优的八条经验(转载)
2012-07-09 14:35 954要想配置好JVM参数,需要对年轻代、年老代、救助空间和永久代有 ... -
Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12)
2012-06-30 11:45 1230使用Tomcat的童鞋们注意了。为了增加tomcat的性能和稳 ... -
Tomcat和Terracotta服务器将普通的Web应用部署到集群中,实现跨Tomcat节点的session复 制
2012-06-30 11:31 1352本文介绍如何配置Tomcat和Terracotta服务器将普通 ... -
tomcat session 持久化会话
2012-06-30 11:29 1601tomcat6 中关闭服务 会自动把session持久化 ... -
Tomcat集群Session丢失解决方案
2012-06-29 01:38 4406这几天单服务器整合项目很正常,集群的时候问题就来了,配 ... -
nginx+tomcat集群+session复制
2012-06-29 01:34 1238ulimit -SHn 65535 echo " ... -
网站的静态化处理
2012-06-26 21:10 872urlrewritefilter 下载: htt ... -
linux+nginx+tomcat负载均衡,实现session同步
2012-06-21 15:18 3898花了一个上午的时间研究nginx+tomcat的负载均衡测试, ... -
tomcat6_apache2.2_ajp负载均衡加集群实战 [转]
2012-04-26 16:07 935秀脱linux笔记之tomcat6_apa ... -
JVM内存最大能调多大分析-转帖
2012-02-18 12:48 1388JVM内存最大能调多大分析【经典】 上次用webl ... -
nginx for windows之负载均衡
2011-05-06 17:53 9641.编辑c:\nginx\conf\nginx.conf ... -
Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space
2010-08-03 13:51 1379Tomcat6在部署应用中,Server报错:java.lan ... -
APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
2010-01-21 02:11 0目标: 使用 apache 和 tomcat ...
相关推荐
epoll是Linux下用于I/O多路复用的高效机制,通过它,服务器可以监控大量文件描述符(如网络套接字),并在有事件发生时进行非阻塞式响应,显著提高了并发性能。 其次,C语言作为底层系统编程语言,具有执行效率高...
下面小编就为大家带来一篇Linux下高并发socket最大连接数所受的各种限制(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
总结来说,基于多线程的Linux并发服务器通过线程同步和通信机制,以及高效的网络编程技术,实现了对大量并发请求的有效处理。设计时应考虑线程管理、资源分配、同步策略等因素,以达到最佳的性能表现。通过持续的...
在Linux系统中,实现并发回音服务器和客户端是学习网络编程和多线程技术的一个经典实践。这个项目涉及到了许多核心的计算机科学概念,包括网络通信、进程管理、并发处理和I/O操作。以下是关于这个主题的详细知识阐述...
Linux的内核优化是一个复杂且效果显著的方法,尤其在硬件资源有限的情况下,通过调整内核参数来提高并发处理能力,能够有效提高服务器性能。服务器并发能力的提高不仅能够优化网络服务的响应时间,还能在一定程度上...
### 提高Linux并发处理能力的关键知识点 #### 一、文件数限制修改 在Linux系统中,为了提升并发处理能力,我们需要关注系统对于每个进程可以打开的文件数量的限制。这是因为每个TCP连接都会创建一个socket句柄,而...
在Linux系统中,服务器性能优化是一项关键任务,特别是在处理高并发网络应用时。本文将深入探讨如何优化Linux下的socket连接数以及如何调整sysctl参数,特别是time_wait状态的影响。这有助于提升服务器处理大量并发...
"Linux测试使用Shell并发脚本"这个主题涉及到的是如何利用Shell脚本来实现多任务并行执行,提高工作效率。在实际工作中,这样的脚本对于进行性能测试、自动化测试等场景尤其有用。 首先,我们来理解一下Shell脚本的...
在Linux系统中,TCP(传输控制协议)是网络通信中常用的一种面向连接的、可靠的、基于字节流的传输层通信协议。...通过阅读和理解代码,你可以深入学习Linux下的TCP并发服务器编程,进一步掌握网络编程的技巧。
前言 关于TCP服务器最大并发连接数有一种误解就是“因为端口号上限为65535,所以TCP服务器理论上的可承载的最大并发连接数也是...这个测试主要是想搞明白Linux下哪些参数配置限制了连接数的最大值,上限是多少。 一、先
总结来说,为了在Linux下处理高并发Socket连接,我们需要关注文件描述符的限制,并通过调整用户和系统级别的限制来提高并发数。同时,注意系统资源的合理分配和管理,以确保整体性能和稳定性。这个过程涉及多个层次...
总结来说,`select`在Linux下是一种基础的并发服务器实现方式,它允许我们同时处理多个客户端的连接请求和数据传输。尽管对于大规模并发场景存在效率问题,但在小规模应用中,`select`仍然是一个实用且可靠的工具。...
在Linux环境下,主要有三种实现方式:多线程、线程池和IO复用模型。多线程模式允许服务端并行处理多个客户端请求,提高了处理效率。Linux提供了如pthread_create和pthread_join等线程操作接口,用于创建和管理线程。...
在Linux系统中,处理高并发I/O事件时,select和epoll是两种常见的技术。本文将详细介绍这两种技术,以及它们在处理大量并发连接时的特点和优势。 首先,我们来看看`select`函数。`select`是一种古老的I/O多路复用...
在并发处理中,为了防止资源耗尽,服务器通常会限制同时接受的连接数量,这可以通过调整`listen()`函数的第二个参数(backlog)实现。 总结,"linux socket 并发C/S模型"涉及的关键知识点包括: 1. TCP协议的概念和...
总的来说,这个Demo覆盖了Linux环境下C语言实现多线程编程的关键知识点,包括线程池的管理、线程同步(互斥锁)、状态机的设计、任务的调度以及高并发处理。通过对这些内容的学习和实践,开发者可以深入理解多线程...
### Linux下TCP并发服务器的设计模式详解 在现代网络通信领域,TCP并发服务器是处理大量并发连接请求的关键技术之一。为了适应不同的应用场景与需求,Linux环境下存在多种TCP并发服务器的设计模式。下面将详细介绍...
### Linux 下 Apache 限制并发连接速度 在 Linux 环境中,Apache 是一个非常流行的 Web 服务器软件,被广泛应用于各种网站和应用服务中。然而,在高并发访问的情况下,如何有效地控制和管理连接数量成为了确保系统...
在高并发环境中,线程池可以有效地控制并发数量,提高系统效率。 对于Web服务器来说,HTTP长连接可以提高效率,但也可能消耗大量服务器资源。为了解决这个问题,服务器可以使用定时器来管理这些长连接,当连接超...