On Sat, Apr 6, 2013 at 6:48 PM, Simon Jeons <simon.jeons@xxxxxxxxx> wrote: > Hi Andrew, > > On 04/05/2013 11:02 PM, Andrew Shewmaker wrote: >> >> On Wed, Apr 3, 2013 at 9:50 PM, Simon Jeons <simon.jeons@xxxxxxxxx> wrote: >>>> >>>> FAQ >>>> >> ... >>>> >>>> * How do you calculate a minimum useful reserve? >>>> >>>> A user or the admin needs enough memory to login and perform >>>> recovery operations, which includes, at a minimum: >>>> >>>> sshd or login + bash (or some other shell) + top (or ps, kill, >>>> etc.) >>>> >>>> For overcommit 'guess', we can sum resident set sizes (RSS). >>>> On x86_64 this is about 8MB. >>>> >>>> For overcommit 'never', we can take the max of their virtual sizes >>>> (VSZ) >>>> and add the sum of their RSS. >>>> On x86_64 this is about 128MB. >>> >>> >>> 1.Why has this different between guess and never? >> >> The default, overcommit 'guess' mode, only needs a reserve for >> what the recovery programs will typically use. Overcommit 'never' >> mode will only successfully launch an app when it can fulfill all of >> its requested memory allocations--even if the app only uses a >> fraction of what it asks for. > > > VSZ has already cover RSS, is it? why account RSS again? Right. Technically, I could leave out the RSS of the process that I'm taking the VSZ of. Leaving it in makes the estimate 2-4 MB larger, but it is just an estimate. Choosing a good minimum is difficult because the behavior with and without swap is different. With swap, only about 8MB reserves are needed whether overcommit is disabled or not. Without swap, I was always able to recover when I set the reserves to over 230MB each. However, I was often able to recover with much less. 128MB seemed to me like a decent compromise between swap and noswap modes, but it isn't totally safe for the case when both swap and memory overcommit are disabled. In that case, I think that an admin will have to tune the reserves for their specific situation. -- Andrew Shewmaker -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>