---
title: 调优简介
description: "JVM是Java Virtual Machine（Java虚拟机）的缩写，Java代码在不同平台上运行时不需要重新编译，Java语言使用JVM屏蔽了与具体平台相关的硬件指令差异，使得Java语言编译程序只需生成在JVM上运行的字节码，实现在多种平台上不加修改地运行。JVM包括即时编译（JIT）、内存管理（垃圾回收GC技术）和Runtime技术，其中GC调优是性能调优中应用最为广泛。本章调优思路主要针对GC展开说明："
url: https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0057.html
sourcePath: /source/zh/perftuning/tuningtip/kunpengtuning_12_0057.html
indexId: bcdbe84c4251d78453f1c4910990014b0b3f72a7ae7aae0b16ad4b1080c5794258
---
# 调优简介

#### 调优思路

JVM是Java Virtual Machine（Java虚拟机）的缩写，Java代码在不同平台上运行时不需要重新编译，Java语言使用JVM屏蔽了与具体平台相关的硬件指令差异，使得Java语言编译程序只需生成在JVM上运行的字节码，实现在多种平台上不加修改地运行。JVM包括即时编译（JIT）、内存管理（垃圾回收GC技术）和Runtime技术，其中GC调优是性能调优中应用最为广泛。本章调优思路主要针对GC展开说明：

1. 首先优选尽可能高的JDK版本，高版本有更新的特性和优化，对Java程序性能有好处；
2. 其次根据实际业务场景和硬件资源为JVM选择合理的堆空间；
3. 最后要选择合理的GC算法。
  同时，Java自带很多工具，对程序运行的检测和性能分析都很有帮助，利用这些工具可以辅助Java性能调优。


#### 主要优化参数

| 优化项 | 优化项简介 | 默认值 | 生效范围 | 鲲鹏916 | 鲲鹏920 |
| --- | --- | --- | --- | --- | --- |
| \-Xmx | 设置JVM最大可用堆内存大小。 | 根据系统资源计算默认值 | Java进程重启生效 | Y | Y |
| \-Xms | 设置初始堆大小，一般和\-Xmx保持一致。 | 根据系统资源计算默认值 | Java进程重启生效 | Y | Y |
| \-Xmn | 设置年轻代堆大小。 | 根据系统资源计算默认值 | Java进程重启生效 | Y | Y |
| \-Xss | 设置每个线程的堆大小。 | JDK 1.5以后每个线程堆栈大小默认为1MB，1.5以前为256KB。 | Java进程重启生效 | Y | Y |
