From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3917C5D4.BF325355@gnu.org> Date: Tue, 09 May 2000 18:01:24 +1000 From: Andrew Clausen MIME-Version: 1.0 Subject: Re: How much to malloc(), without running into swap...? References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: "Benjamin C.R. LaHaise" Cc: linux-mm@kvack.org, parted@gnu.org List-ID: "Benjamin C.R. LaHaise" wrote: > > BTW, is /proc/meminfo a good idea? > > That's probably your best bet if your app is the only thing running in the > system. Note that you'll get some feedback about things at mlock time -- > if there just isn't enough memory free, mlock() will fail, so you can use > that to scale back your memory requirements if other parts of the system > are eating memory. With swapping, things get trickier -- you'll probably > want to minimise the mlock()'d data. Well, the idea is to maximize the mlock() data, ensuring that you don't swap... OTOH, if it really must swap, then swap (parted) metadata, not buffers. mlock() has given me some ideas... thanks! > It would probably be better to avoid > swapping altogether for your app since it would cause a ridiculous growth > in the running time (and probably can be avoided). Except on very low-memory systems, yes. > You might want to look into using the raw devices when possible since you > can probably make a better guess at the best way to order your io than the > buffer cache currently will. Doing that will also get the added benefit > of avoiding any excess swapping that might be generated by competition for > memory by the buffer cache. Interesting. But it isn't in standard 2.2.x, but it's something to look to in the future... There's also another side effect. If it does run out of memory, it'll split the IO into short chunks (i.e., do short read()s or write()s), which obviously slows it down. Thanks! Andrew Clausen -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux.eu.org/Linux-MM/