[Discuss] memory management

Dan Ritter dsr at randomstring.org
Fri Jun 19 10:23:37 EDT 2015


On Fri, Jun 19, 2015 at 10:01:57AM -0400, Matthew Gillen wrote:
> I'm looking for some advice on tuning my linux box's memory management.
>  I've got an older workstation that has merely 4GB of memory.  If I try
> to run Firefox, and a few java apps (e.g., Eclipse), my machine thrashes
> about and effectively locks up because of out-of-memory issues.
> 
> For example: the mouse will continue to move, but won't change it's icon
> contextually.  If I hit cntl-alt-f2 and try to log in to a virtual
> console, mgetty will eventually ask for the username, but after I hit
> enter, it just hangs, not popping up the password prompt, and after 60
> seconds the login times out.  Trying to ssh into the machine from
> somewhere else ends up timing out.
> 
> After going on like this for literally 10 minutes, OOM-killer sometimes
> kills the right thing (one of the two processes hogging the most memory:
> firefox or eclipse), and the machine becomes usable again sometime later.
> 
> I have heftier workstations I can use, but this behavior is really
> frustrating to me, because I'd like to think linux does good memory
> management.  I've tried using huge swap (2x physical memory).  I've
> tried with virtually no swap (on the theory that without swap, there
> would be no thrashing and at least oom-killer would have to do its thing
> without locking up the machine for 10 minutes first).  The problem there
> was oom-killer making bad decisions about what to kill (e.g., the window
> manager, and then whatever out-of-control process is sucking up memory
> just sucks up whatever got freed, and nothing gets better).  At least
> with some swap oom-killer seems to make better guesses about who to murder.
> 
> Does anyone have any tips on how to prevent linux from thrashing like
> that?  The behavior when low on memory seems atrociously bad.

You have three problems:

- Firefox is a memory hog. (So is Chrome.)

- All Java apps are memory hogs, but especially Eclipse

- You only have 4GB of RAM. Phones are coming with 4GB of RAM
  this year.

Swap will not save you. Swap has three purposes:

- stash a small amount of stuff that will likely never be called
  again but is important to have "in memory"

- provide a place for RAM to be stored when putting the machine
  to sleep

- last ditch "keep the machine alive" when it has too many
  requests for not enough RAM.

You can:

- Add more RAM.

- Open less stuff in Firefox. Especially, run an ad blocker like
  uBlock Origin, and don't load Flash at all.

- Start Java programs with a restricted amount of memory:
  -Xmx is the flag you want. java -Xmx512M, for example.

- play with config settings for the kernel; see
  https://www.kernel.org/doc/Documentation/sysctl/vm.txt
  for documentation. Swappiness, OOM behavior, reserved
  memory...

-dsr-



More information about the Discuss mailing list