To find the default limits for a single process:
% limits Resource limits (current): cputime infinity secs filesize infinity kb datasize 524288 kb stacksize 65536 kb coredumpsize infinity kb memoryuse infinity kb memorylocked infinity kb maxprocesses 531 openfiles 1064 sbsize infinity bytesDatasize is the max amount of memory that a single process can use. To increase this limit, you need to add a line to the kernel config file and re-compile. Here's the line:
options MAXDSIZ = "(1536 * 1024 * 1024)" options DFLDSIZ = "(1536 * 1024 * 1024)"1536 is what you'd use to set the limit to 1.5GB. Change the first number according to the machine's memory limit. (Looks like the default has been 500 MB.)
Here are comments from the /usr/src/sys/i386/conf/LINT:
# # Certain applications can grow to be larger than the 128M limit # that FreeBSD initially imposes. Below are some options to # allow that limit to grow to 256MB, and can be increased further # with changing the parameters. MAXDSIZ is the maximum that the # limit can be set to, and the DFLDSIZ is the default value for # the limit. You might want to set the default lower than the # max, and explicitly set the maximum with a shell command for processes # that regularly exceed the limit like INND. #