- 论坛徽章:
- 0
|
我设置的堆栈大小是10M,机器是CENTOS 5.4 32BIT
[root@localhost test]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 8192
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 8192
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
但是在测试过程中,居然能够分配11M多的内存,求高手解释,具体代码如下
#include <stdio.h>
#include <memory.h>
int f(int i)
{
char c[1024 * 1024 * 11];
memset(c, 0, sizeof(c));
return (0);
}
int main()
{
f(1);
return (0);
} |
|