> It does not begin to use swap in a growing fashion, it just appears
> full in a moment.
It gets _allocated_ in a moment, but things don't actually get
swapped out. This isn't a problem.
The real problem is that we don't actively reclaim swap space
when it gets full. We just assign swap to parts of processes,
but we never reclaim it when we need swap space for something
else; at least, not until the process exit()s or exec()s.
> And when all the gcc process ends, my mem ends up like:
> total used free shared buffers cached
> Swap: 152576 152576 0
> What process do belong the 150Mb of swap ???!!!!
> Shouldn't that pages have been freed when gcc ends ?
Linux reclaims swap cache (and swap space) when it encounters
them in its scan of memory. It doesn't take the trouble of
freeing the swap on exit() but the swap space will be freed
-- Virtual memory is like a game you can't win; However, without VM there's truly nothing to lose...
Send all your spam to firstname.lastname@example.org (spam digging piggy)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/