Re: RSS Limit implementation issue



Roger Heflin wrote:


A process has no control over its RSS size, only its virtual size. I'm not sure you're clear on that, or just not saying it clearly. Therefore the same process, say a largish perl run, may be 175mB in vsize, and during the day have rss of perhaps half that. At night, with next to no load on the machine, the rss is 175mB because there is a bunch of free memory available.

If you want to make rss a hard limit the result should be swapping, not failure to run. I'm not sure the limit in that form is a good idea, and before someone reminds me, I do remember liking it better a few years ago.

working_set_size limits sucked on VMS. The OS would limit a process to
its working set size and casue the entire machine to swap
even though there was adequate free memory. I believe they
had a normalworkingset size variable, and a maxworkingsetsize
one indicated how much ram you could get on a memory limited system, the other indicated the most it would ever let you get even if
there was plenty of free ram. The maxworkingsetsize caused
a lot of issues, as the default appeared to be defined for
much smaller systems that we were using at the time, and so
were much too low, and cause unnecessary swapping. Part of the
issue would be that the admin would need to know what he was
doing to use the feature, and most don't.

The argument from the admins at the time was that this limited
the damage to other processes by preventing certain processes
from getting too much memory, they ignored the fact that
anything swapping (even only the one process) unnecessarly *KILLED* performance for the entire machine, since swapping
is rather expensive on the os.

After thinking about this, I have the opinion that if an RSS limit is working it would be a hard limit. The alternative is a process which gets large and then when memory pressure increases the oversize process either causes a lot of swapping or worse yet ties up a lot of memory if swap rate is limited.

There are many ways to tune Linux badly, adding one more will not add much to the pain if the default is off. The values available to a normal users might be limited to prevent the most obvious bad choices. Or a corresponding option could be provided to take corrective action for a process with RSS set (to any value) and swap rate high.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: RSS Limit implementation issue
    ... If you want to make rss a hard limit the result should be ... working_set_size limits sucked on VMS. ... even though there was adequate free memory. ... were much too low, and cause unnecessary swapping. ...
    (Linux-Kernel)
  • Re: hanging programs - ultimate termination method other than power switch?
    ... One thing that blocks it is pending I/O, either from a program or swapping. ... Even so I start to regret my choice on memory more and more. ... I'd also run the Activity Monitor's CPU monitor in the dock or turn on MenuMeter's CPU monitor. ... I have seen UNIX systems with a load of 10 being still pretty normally responsive when it comes to doing simple things in a terminal window. ...
    (comp.sys.mac.system)
  • RSS accounting (was: Re: 2.6.19-rc1-mm1)
    ... RSS; 2.6.19-rc1-mm1 has a somewhat different one. ... remove more from RSS to help save memory and pagefaults (both help ... Shared hugetlb memory that shares pagetables ... containers must account shared pages somehow (not doing so would open up ...
    (Linux-Kernel)
  • Re: 2.6.19-rc1-mm1
    ... RSS; 2.6.19-rc1-mm1 has a somewhat different one. ... remove more from RSS to help save memory and pagefaults (both help ... Shared hugetlb memory that shares pagetables ... Shared normal memory ...
    (Linux-Kernel)
  • Re: [kde] KDE thrashing again
    ... windows running, 3 tabs in one and 1 in the other. ... One of the possible causes is a memory leak in one of the applications, ... The problem is that since the swapping makes the machine unresponsive, ... If it's an application it looks like it was kate. ...
    (KDE)