From owner-freebsd-performance@FreeBSD.ORG Wed Nov 23 15:48:17 2005 Return-Path: X-Original-To: freebsd-performance@freebsd.org Delivered-To: freebsd-performance@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C76816A41F for ; Wed, 23 Nov 2005 15:48:17 +0000 (GMT) (envelope-from m@obmail.net) Received: from stewie.obfuscated.net (stewie.obfuscated.net [66.118.188.125]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4B6B43D7C for ; Wed, 23 Nov 2005 15:48:16 +0000 (GMT) (envelope-from m@obmail.net) Received: from [192.168.1.103] (163-2.26-24.tampabay.res.rr.com [24.26.2.163]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by stewie.obfuscated.net (Postfix) with ESMTP id 075156141 for ; Wed, 23 Nov 2005 10:48:11 -0500 (EST) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <6C48A943-1AB3-4DF4-B8CC-CD75B9F36E98@obmail.net> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: freebsd-performance@freebsd.org From: Michael Conlen Date: Wed, 23 Nov 2005 10:48:10 -0500 X-Mailer: Apple Mail (2.746.2) Subject: mmap() X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 15:48:17 -0000 Sorry if this is the wrong place for this, but I haven't been getting answers elsewhere. I'm trying to tune the system to allow very large mmap()'s in a single process space, something on the order of 1.5 GB so I can pass very large values for -Xms and -Xmx to java. I know I had been able to do this on FreeBSD in the past but recent versions of either Java or FreeBSD aren't playing nicely. currently.. I'm running FreeBSD host 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Tue Nov 22 00:22:53 EST 2005 root@host:/usr/obj/usr/src/sys/WWW i386 I've also tried the following under 5.4-p1... I try rc = mmap(0, (891*1024*1024 + 0), 0, MAP_ANON | MAP_PRIVATE, -1, 0); and it works but If I try rc = mmap(0, (892*1024*1024 + 0), 0, MAP_ANON | MAP_PRIVATE, -1, 0); it fails returning ENOMEM. limit returns cputime unlimited filesize unlimited datasize 2096128 kbytes stacksize 1048576 kbytes coredumpsize unlimited memoryuse unlimited vmemoryuse unlimited descriptors 11095 memorylocked unlimited maxproc 5547 sbsize unlimited If the program isn't doing anything else but that is there any reason I'm getting limited in the amount of memory I can mmap() at about 892 MB? Ideally I'd like to be able to mmap most of the 2 GB available to user procs. Oh, yes, there's plenty of free memory and swap. Thanks