当前位置: 首页 > 知识库问答 >
问题:

一个线程在java中占用多少内存[关闭]

单于旭东
2023-03-14

java中一个普通线程需要多少内存。假设没有与之关联的对象。

共有2个答案

冯德佑
2023-03-14

Java应用程序中的每个线程都有自己的堆栈。堆栈用于保存返回地址、函数/方法调用参数等,默认情况下,堆栈大小为512KB。您可以通过jvm命令进行更改。

java  -Xss128k
邵阳
2023-03-14

为线程堆栈分配的内存量取决于JVM版本的操作系统。它配置了-XX:ThreadStackSize选项(旧版本中为-Xss)传说中,512KB是“正常的”,尽管在64位linux上是1024位,这可能是它最关键的平台(无论如何,一个人的观点)

 类似资料:
  • 问题内容: 有没有办法找出我的Java线程在虚拟机中占用多少内存? 例如,使用堆栈跟踪转储或其他某种方式。 问题答案: Java线程将堆用作共享内存。各个线程都有其堆栈(您可以通过-Xss命令行选项设置其大小,默认为512KB),但是所有其他内存(堆)都不属于特定线程,并询问一个特定线程仅使用了多少内存没有道理。

  • 当我研究线程及其占用的内存(线程堆栈)时,我决定做一个简单的负载测试,看看线程的数量如何影响我的计算机上的RAM。 所以,在测试中,我使用了Tomcat,在设置中。xml将最小和最大web容器线程池设置为200。在那之后,我在将pool设置为2000时也做了同样的操作。我很震惊,因为内存占用没有差异(通过Windows任务管理器进行检查),而且几乎是一样的。所以我认为这些线程可能必须处于运行状态,

  • 嗨,我对java编程还比较陌生。我编写的下面的程序似乎占用了很多内存(大约240 MB,正常吗?-我不这么认为!)请建议一些方法来优化这个程序,以便减少内存存储。 程序-- 代码-

  • 为什么我的java PID占用更多内存。目前我有24GB ram和max-xmx=15G。所以java PID的解决方案是占用更少的内存。 23794 root 0 22.2g 16.5g 13416 s 100.070.42980:54上面的java是我的最高命令结果。任何人都知道如何重新关注这个问题。

  • 在一次采访中,有人问我一个与Java相关的问题:“在Java中,一个空类要占用多少空间?”对此没有好的答案。“

  • 问题内容: 假设您的Java程序占用了100%的CPU。它有50个线程。您需要查找哪个线程有罪。我没有找到可以提供帮助的工具。当前,我使用以下非常耗时的例程: 运行,其中pid是Java进程的进程ID。找到它的简单方法是运行JDK-中包含的另一个实用程序。最好将jstack的输出重定向到文件。 搜索“可运行”线程。跳过那些在套接字上等待的对象(由于某些原因,它们仍被标记为可运行)。 重复步骤1和2