gpt4 book ai didi

Java 减少堆栈大小以节省内存

转载 作者:行者123 更新时间:2023-12-01 17:31:57 28 4
gpt4 key购买 nike

我想减少 Java 应用程序的内存占用,以减少交换。我一直在考虑为此目的减少堆栈大小(Xss 参数),但不确定堆栈内存是如何分配的,以及每个线程的默认 512k(对于 32 位操作系统)是否始终位于常驻内存中,无论它有多少实际使用过。

减少堆栈内存会导致交换减少吗?

更新:请不要建议分析该应用程序 - 它已经完成了。

最佳答案

您正在运行多少个线程?即使有大量线程和非常大的堆栈大小(例如,10k 线程和 256KB 堆栈大小),也只有 2GB 的堆空间。

你说你正在 32 位 JVM 上运行,所以我认为这是一个相对较小的系统。您有几个选择:

  • 切换到 64 位 JVM。现在你有大量的地址空间,堆栈大小应该无关紧要

  • 您的机器太小。如果 2GB 的堆栈对于您的 10k+ 线程来说是个问题,那么您在太“小”的机器上运行的应用程序太大了。减少软件投入或购买更多硬件

  • 减少线程数

  • 问题实际上出在其他地方,而你找错了树

关于Java 减少堆栈大小以节省内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050377/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com