linux系统优化,以及jvm优化

1.线程池优化

 

acceptCount:accept队列的长度;当accept队列中连接的个数达到acceptCount时,队列满,进来的请求一律被拒绝。默认值是100

maxConnections:Tomcat在任意时刻接收和处理的最大连接数。maxThreads的设置既与应用的特点有关,也与服务器的CPU核心数量有关。通过前面介绍可以知道,maxThreads数量应该远大于CPU核心数量;而且CPU核心数越大,maxThreads应该越大;应用中CPU越不密集(IO越密集),maxThreads应该越大,以便能够充分利用CPU。当然,maxThreads的值并不是越大越好,如果maxThreads过大,那么CPU会花费大量的时间用于线程的切换,整体效率会降低。
 

maxThreads:请求处理线程的最大数量。默认值是200

2.jvm内存优化

jvm内存模型:

方法区:JDK 1.8中 PermSize 和 MaxPermGen 已经无效

虚拟机栈:对象引用,一般是不用调整的,使用默认即可

本地方法栈:Native方法对象引用,一般是不用调整的,使用默认即可

 :堆则是整个JVM调优的重点

Young(年轻代):

1、绝大多数新建的 Object 被放在 Eden Memory 

2、如果 Eden Memory 内存满了,则进行 GC 操作。 
   同时把未被 GC 的 Object 移动到 S1或 S2 中。 
   此时 Minor GC 也会检查和移动 S1和 S2 中的对象。 
   最后使 S1,S2 其中一个置为空。 

3、多次 GC 后仍然未被 GC 的 Object 将被移动到 Old Gen 内存区中。 
   通常 Object 会被 GC 设定一个轮询的阀值。 
4、Old Gen 内存区存放了经过多次 Minor GC 后仍然不能被 GC 的 Object。 
与 Young Gen 相同,当 Old Gen 区满了之后将执行 GC 操作,该操作称为:Major GC。 
耗用的时间也相对较长。 

5、JVM 在 Permanent Generation 或 Perm Gen 内存区中存放应用程序的元数据 
(application metadata),用来描述类及其方法的原始信息。 
注意:Perm Gen 不是 Heap 的一部分。 

Perm Gen 被 JVM 使用于应用程序运行期间(runtime),基于应用所使用到的类。 
Perm Gen 中同时包括 Java SE 包中的类。 
Perm Gen 只有在执行 Full GC 时才会被 GC。 

-Xms:设置初始分配大小,默认为物理内存的“1/64” 
-Xmx:最大分配内存,默认为物理内存的“1/4”

堆内存可伸缩区,就可能造成程序性能下降;所以,我最好能让伸缩区的大小为0;即让 Max_memory 和 Total_memory 保持一致;

调优方法

一切都是为了这一步,调优,在调优之前,我们需要记住下面的原则:

1、多数的Java应用不需要在服务器上进行GC优化;

2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;

3、在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);

4、减少创建对象的数量;

5、减少使用全局变量和大对象;

6、GC优化是到最后不得已才采用的手段;

7、在实际使用中,分析GC情况优化代码比优化GC参数要多得多;

内存溢出的解决办法:

1、通过命令jmap -histo pid获取JVM内存里面对象数量及相同对象的内存使用情况

2、grep ‘’ . -r命令查找在编译好的类中有哪些类使用了占用内存异常的对象,

3、找到对应的类,具体分析代码。

linux优化:

系统允许当前用户进程打开的文件数量的限制: ulimit -u     默认值为1024 。即是Linux操作系统对一个进程打开的文件句柄数量的限制

对于想支持更高数量的TCP并发连接的通讯处理程序,就必须修改Linux对当前用户的进程同时打开的文件数量的软限制(soft limit)和硬限制(hardlimit)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值