[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