【发布时间】:2011-03-05 07:47:21
【问题描述】:
对于一个进程,我为资源RLIMIT_AS设置了软限制值335544320和硬限制值1610612736。即使设置了这个值,进程的地址空间也会上升到最大值178MB。但我能够看到/proc/process_number/limits 中的软限制和硬限制的值正确设置为上述值。
我想知道RLIMIT_AS 是否在我的操作系统中运行,并且还想知道如何测试RLIMIT_AS 功能。
CentOS 5.5(64 位)是我使用的操作系统。
请在这方面帮助我。谢谢!
【问题讨论】:
-
错误... 335544320 = 320MB。你的过程比这要低很多。究竟是什么问题?
-
我想知道为什么进程没有达到我设置的值 (320MB) 而不是将自身限制为 178MB。我需要在 64 位系统中增加进程的大小。当 RAM 可用时,我希望进程增长到更大的大小。
-
@Rajath:分配多少内存取决于进程,只要它不超过您的限制。如果您希望它具有更大的缓冲区或其他东西,那将取决于您正在运行的确切内容。
-
请有人告诉我操作系统如何使用这个软硬限制值。我的意思是在我的情况下,进程是否在进程启动时分配了 320MB,或者操作系统在进程需要内存时分配。
-
@Rajath:软限制是实际的资源限制,硬限制是非特权进程可以设置其软限制的最大值。但它们都是限制。就是这样。 在这些限制内的增长/收缩/任何东西都取决于您的过程。
标签: c unix memory process setrlimit