Increasing Java Heap Size — Out of memory error — java -Xmx3000M -Xms1500M -XshowSettings:all

本文记录了一次构建过程中的失败情况,主要原因是内存溢出导致的错误。文中详细描述了错误信息,包括构建过程中出现的 OutOfMemoryError 和 GC overhead limit exceeded 的警告,并给出了增加 Java 堆大小的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[ 38% 12079/31325] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/dex-dir/classes.dex
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/dex-dir/classes.dex.rsp
Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by android-jack-team@google.com)).
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
[ 38% 12082/31325] host C++: libartd <= art/runtime/parsed_options.cc
ninja: build stopped: subcommand failed.
build/core/ninja.mk:142: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

#### make failed to build some targets (01:16:26 (hh:mm:ss)) ####


java -Xmx3000M -Xms1500M -XshowSettings:all



### 解决 Java 应用程序中的 SQL 排序内存不足错误 当遇到 `java.sql.SQLException: Out of sort memory` 错误时,表明数据库在执行查询过程中所需的排序内存量超过了当前配置允许的最大值。为了增加服务器排序缓冲区大小并解决问题,可以调整 Oracle 数据库的相关参数。 #### 调整 Oracle 的排序区域大小 Oracle 提供了两个主要的初始化参数来控制排序操作使用的内存量: - **SORT_AREA_SIZE**: 控制每次排序操作分配给 PGA 中用于排序的空间量。 - **PGA_AGGREGATE_TARGET**: 设置整个实例可用的总 PGA 内存目标值,在自动管理模式下会动态调整各个工作区的大小。 对于大多数现代版本的 Oracle 数据库,默认情况下启用了自动 PGA 内存管理功能,因此通常只需要设置 `PGA_AGGREGATE_TARGET` 参数即可[^1]。 如果希望手动指定排序区域大小,则可以通过修改 `SORT_AREA_SIZE` 来实现。需要注意的是,这种方式适用于关闭了自动 PGA 管理的情况。 ```sql ALTER SYSTEM SET SORT_AREA_SIZE=5242880 SCOPE=BOTH; ``` 上述命令将排序区域大小设置为 5MB (5 * 1024 * 1024 字节),并且该更改立即生效且持久化到下次重启之前。 另外一种更推荐的方法是在启动文件或 spfile 文件中永久性地改变这些参数: ```bash # 在 init.ora 或 spfile 中添加如下行 pga_aggregate_target = 2G # 根据实际需求调整数值 sort_area_size = 5M # 如果禁用了自动 PGA 管理则需此选项 ``` 完成以上配置之后,请记得重新加载配置使新设定生效,并测试应用程序确认问题已被解决。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值