标签: stack-size

在运行时更新 Java 线程的堆栈大小

有谁知道是否有办法动态(运行时)增加主线程的堆栈大小?另外,我相信这是同一个问题,是否可以Thread在实例化后增加/更新 a 的堆栈大小?

Thread的 CTOR 允许定义其堆栈大小,但我找不到任何更新它的方法。实际上,我在JDK中没有发现任何对堆栈大小的管理(这往往表明这是不可能的),一切都在VM中完成。

根据java 语言规范,可以在“创建堆栈时”设置堆栈大小,但有一个注意事项:

Java 虚拟机实现可以为程序员或用户提供对 Java 虚拟机堆栈初始大小的控制,以及在动态扩展或收缩 Java 虚拟机堆栈的情况下,对最大和最小大小的控制。

IMO 不是很清楚,这是否意味着某些 VM 处理最大(编辑)堆栈大小在给定范围内演变的线程?我们可以用 Hostpot 做到这一点吗(我在 Xss 旁边没有找到任何与堆栈大小相关的选项)?

谢谢 !

java memory multithreading stack-size

5
推荐指数
1
解决办法
3885
查看次数

如何增加 ASP.NET Core 二进制文件(32 位)的堆栈大小?

是否可以增加 ASP.NET core 2 二进制文件的堆栈大小?我必须使用 32 位 COM 互操作组件,它碰巧在某些定义的条件下粉碎堆栈。这不是无限递归,只是在请求最大可能的数据集时碰巧触及限制的工作负载,因此增加堆栈可能是一个可接受的解决方案。

通过 EDITBIN 修改堆栈大小仅在直接应用于 dotnet.exe 时才有效,这显然不是首选解决方案。

com interop stack-size .net-core

5
推荐指数
1
解决办法
1018
查看次数

C嵌入式系统堆栈和堆大小

如何确定嵌入式系统上正在运行的C程序的当前堆栈和堆大小?另外,我怎样才能发现嵌入式系统允许的最大堆栈和堆大小?我想到线性调用malloc()的大小越来越大,直到它找不到堆大小,但是我对堆栈的大小更感兴趣.

我使用的是mbed NXP LPC1768,我使用的是在GitHub上开发的名为gcc4mbed的离线编译器.

有更好的想法吗?非常感谢所有帮助!

c embedded heap system stack-size

4
推荐指数
2
解决办法
5624
查看次数

Linux中堆栈内存在物理上是连续的吗?

据我所知,堆栈内存在虚拟内存地址中是连续的,但是堆栈内存在物理上也是连续的?这与堆栈大小限制有关吗?

编辑:

我曾经认为堆栈内存不必在物理上是连续的,但是为什么我们认为堆栈内存总是比堆内存快?如果它在物理上不是连续的,那么堆栈如何利用缓存的更多优势?还有另一件事总是让我感到困惑,cpu在数据段中执行指令,该指令不在虚拟内存中的堆栈段附近,我认为操作系统不会使堆栈段和数据段在物理上彼此靠近,因此这可能会损害缓存效果,您认为呢?

再次编辑: 也许我应该举一个例子来更好地表达自己,如果我们想对大量数字进行排序,使用数组存储数字要比使用列表更好,因为每个列表节点都可以由构造malloc,因此没有充分利用缓存,这就是为什么我说堆栈内存比堆内存快。

linux heap-memory virtual-memory stack-size cpu-cache

4
推荐指数
1
解决办法
357
查看次数

如何更改 NodeJS 中的堆栈大小限制?

在我的库(JavaScript 中的方案)中,我有一个测试应该失败,因为它计算 (! 1000),并且在实现 TCO(尾调用优化)时应该通过。但最近 NodeJS 可能增加了堆栈大小限制,因为测试通过意味着它没有失败。

有没有办法让 NodeJS 中的堆栈大小更小?所以我不需要增加阶乘函数的值来溢出堆栈。

编辑:请注意,GitHub--stack-size上讨论的选项可能会使节点崩溃。我希望出现堆栈溢出错误,但值小于 1000。

stack-overflow stack-size node.js

4
推荐指数
1
解决办法
8347
查看次数

64 位 linux 上的 Java 线程堆栈大小

我的目标是提出可以并行运行的最大线程数。谷歌向我指出了许多链接,他们通过划分 RAM/StackSize 给出了简单的数学计算。在 64 位 Linux 中,我们将线程堆栈大小定义为 10 MB(ulimit -s = 10240kb),RAM 为 4GB,为 OS 留出 1 GB,按照这个数学计算我可以有大约 300 个线程,但是我的小型测试应用程序写到 ~32297 然后给出内存不足错误。

我用 -Xss 尝试了不同的值,但这些值对线程数几乎没有任何影响,它仍然与 ~32297 相同)。

这给我的印象是堆栈大小是可变的,由操作系统决定,并在需要时达到我们定义的最大值,但无论我在哪里阅读,它们的大小堆栈大小都是静态的

我到底错过了什么?

java linux multithreading jvm stack-size

3
推荐指数
1
解决办法
2万
查看次数

如何在Java中的堆栈中的函数调用数量上定义限制?

我最近一直在寻找具有2000个递归函数调用的深度堆栈,并且想知道如何在Java中的堆栈中的函数调用数量上定义限制?

java stack jvm stack-size

3
推荐指数
1
解决办法
152
查看次数

扩展macOS Sierra上的堆栈大小

当我尝试使用以下命令在macOS Sierra上扩展堆栈大小时ulimit -s unlimited,终端将显示下一条消息:

-bash:ulimit:堆栈大小:无法修改限制:不允许操作。

我也尝试使用,sudo ulimit -s unlimited但也不会离开我。有人知道吗?

macos stack-size macos-sierra

3
推荐指数
1
解决办法
3131
查看次数

(ulimit -s unlimited) 和 (export KMP_STACKSIZE = xx) 有什么区别?

我像下面一样运行我的程序,并使用 ( ulimit -s unlimited)。有用。

    REAL(DP), DIMENSION(1024,2,1541) :: L_X TanV
    REAL(DP), DIMENSION(4) :: Val_X, Val_Y
    REAL(DP), dimension(1029) :: E_x
    REAL(DP), dimension(1024) :: E_y
    REAL(DP), DIMENSION(1024,1024) :: E_Fx, E_Fy

    !$OMP SECTIONS PRIVATE(i, j, ii,jj, PSL_X, i_x, i_y, Val_X, Val_Y)
    !$OMP SECTION
    do j=1,LinkPlusBndry
      do i=1,Kmax(j)-1
        PSL_X(1)=modulo(L_X(i,1,j),H*N2); PSL_X(2)=L_X(i,2,j)
        i_x=floor(PSL_X(1)/H)+2; i_y=floor(PSL_X(2)/H)
        call Delta4((E_x(i_x:i_x+3)-PSL_X(1))/H,Val_X)
        call Delta4((E_y(i_y:i_y+3)-PSL_X(2))/H,Val_Y)
        do ii=1,4; do jj=1,4
           EE_Fx(i_y+ii-1,i_x+jj-1)=EE_Fx(i_y+ii-1,i_x+jj-1) &
                                   +tauH2*TanV(i,1,j)*Val_X(jj)*Val_Y(ii)
        end do; end do
      end do
    end do

    ...
    ...
    ...

    !$OMP SECTION
    do j=1,LinkPlusBndry
      do i=1,Kmax(j)-1
        PSL_X(1)=modulo(L_X(i,1,j),H*N2); PSL_X(2)=L_X(i,2,j)
        i_x=floor(PSL_X(1)/H)+2; …
Run Code Online (Sandbox Code Playgroud)

fortran intel openmp stack-size ulimit

3
推荐指数
1
解决办法
1032
查看次数

Python线程stack_size和segfaults

一个Web爬虫脚本,最多可生成500个线程,每个线程基本上都会请求从远程服务器提供的某些数据,每个服务器的回复在内容和大小上与其他服务器不同.

我正在为线程设置stack_size为756K

threading.stack_size(756*1024)
Run Code Online (Sandbox Code Playgroud)

这使我能够拥有足够数量的线程并完成大部分工作和请求.但是由于某些服务器的响应比其他服务器更大,并且当线程得到那种响应时,脚本会死于SIGSEGV.

stack_sizes超过756K使得无法同时拥有所需数量的线程.

关于如何在没有崩溃的情况下继续使用给定的stack_size的任何建议?以及如何获得任何给定线程的当前使用的stack_size?

python multithreading segmentation-fault stack-size

2
推荐指数
1
解决办法
1727
查看次数