Process 过程图像中不同部分的大小限制

Process 过程图像中不同部分的大小限制,process,executable,Process,Executable,我知道默认情况下,堆栈的最大大小在Windows上为2 MiBi,在Linux上为8 MiBi。尺寸限制是多少 文本段 数据段 我之所以需要知道这一点,是因为我在可执行文件中嵌入了一些数据。一般来说,文本和数据段是静态分配的,在大多数情况下,这些限制在操作系统中是可配置的,理论上可能是您的内存所能承受的最大值,记住32位linux上的3GB限制,32位windows平台上的4GB限制(包括缓存和图形内存等设备中使用的内存) 在linux或unix上,以下内容也适用,通常有一个OS定义的限制,您还

我知道默认情况下,堆栈的最大大小在Windows上为2 MiBi,在Linux上为8 MiBi。尺寸限制是多少

  • 文本段
  • 数据段

  • 我之所以需要知道这一点,是因为我在可执行文件中嵌入了一些数据。

    一般来说,文本和数据段是静态分配的,在大多数情况下,这些限制在操作系统中是可配置的,理论上可能是您的内存所能承受的最大值,记住32位linux上的3GB限制,32位windows平台上的4GB限制(包括缓存和图形内存等设备中使用的内存)

    在linux或unix上,以下内容也适用,通常有一个OS定义的限制,您还可以指定更具体的限制。默认情况下,linux/unix发行版之间的一般限制可能有所不同。另外,请参阅手册页,了解有关如何获取您的限制设置的信息。请注意,文档似乎已经过时:RLIMIT_数据不再影响现代linux上的堆,因为所使用的分配函数已更改

    Windows没有可配置的限制,但使用DWORD变量作为其静态进程内存,另请参阅。这意味着您的实际进程不能大于4GB

    因此,一般来说:
    1,2)在linux上:可配置,取决于发行版。在Windows:4GB上。

    较大的可执行文件是否意味着较小的堆?堆栈+堆+文本+数据不受地址空间的限制,地址空间在32位系统上为2GB。