如何为linux / unix命令分配RAM和堆空间?

时间:2014-12-19 15:47:46

标签: linux memory-management command-line heap

因此,当我在具有128 GB RAM的服务器上执行linux命令(例如cat命令)时,假设当前没有使用此RAM,则所有内存都是免费的。 (我意识到这种情况永远不会发生,但这就是为什么它会成为一个例子)

1)此命令是否会以128 GB的堆空间执行?或者它是由我用来决定从可用的128 GB分配多少堆空间的Linux发行版?

2)如果是这样,是否有另一个命令行参数可以与cat命令一起传递以保留比系统标准更多的堆空间?

编辑:3)有没有办法可以确定为cat命令(或任何命令)分配多少堆空间,最好是内置命令行解决方案,而不是外部应用程序。如果不可能请说出来,我只是好奇。

2 个答案:

答案 0 :(得分:0)

由内存分配器(通常在libc中找到)决定分配多少堆。 glibc的allocator不使用任何环境变量,但其他替换可能。

答案 1 :(得分:0)

启动程序时,会为程序分配一些内存;但是,这个内存量并不是程序允许使用的限制。无论何时请求更多内存,都可以在系统耗尽所有内存之前将其授予。