---
title: 使用AppCDS加速测试Hive
description: "1. 生成ClassList文件。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/basicAccelFeatures/bishengjdkaccel/kunpengbds_jdk_20_0004.html
sourcePath: /source/zh/kunpengbds/basicAccelFeatures/bishengjdkaccel/kunpengbds_jdk_20_0004.html
indexId: 8b56dd2d6da597152d848193c7af3da85be4b3b8781f42ecfceff0db04ed715b84
---
# 使用AppCDS加速测试Hive

#### 测试Hive

1. 生成ClassList文件。

  a. 打开“hive/conf/hive-site.xml”配置文件。
    1 vi hive/conf/hive-site.xml

  b. 按“i”进入编辑模式，修改配置文件中hive.tez.java.opts的值。
    1 -server -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=/tmp/hive.lst -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseG1GC -XX:+ResizeTLAB -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps

    配置中增加hive.lst，可以避免多进程访问同一个文件出现冲突。

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  d. 执行任意一条SQL用例后，在每个agent节点上会生成“/tmp/hive.lst”文件。
    用例执行失败与否没有影响，只要在每个agent节点生成“/tmp/hive.jsa”文件即可。

2. 生成JSA文件。

  a. 打开hive/conf/hive-site.xml配置文件。
    1 vi hive/conf/hive-site.xml

  b. 按“i”进入编辑模式，修改配置文件中hive.tez.java.opts的值。
    1 -server -Xshare:dump -XX:+UseAppCDS -XX:SharedClassListFile=/tmp/hive.lst -XX:SharedArchiveFile=/tmp/hive.jsa -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseG1GC -XX:+ResizeTLAB -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps

    配置中增加hive.lst，可以避免多进程访问同一个文件出现冲突。

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  d. 执行任意一条SQL用例，在每个Agent节点生成“/tmp/hive.jsa”文件。
    用例执行失败与否没有影响，只要在每个agent节点生成“/tmp/hive.jsa”文件即可。

3. 使用JSA文件。

  a. 打开“hive/conf/hive-site.xml”配置文件。
    1 vi hive/conf/hive-site.xml

  b. 按“i”进入编辑模式，修改配置文件中hive.tez.java.opts的值。
    1 -server -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=/tmp/hive.jsa -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseG1GC -XX:+ResizeTLAB -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
当JVM版本发生变更时，新版本的JVM不支持之前版本生成的JSA文件，需要从1开始再次执行测试。
