virtualthreads.blogspot.de: Understanding memory usage on Linux, written by Devin
This entry is for those people who have ever wondered, “Why the hell is a simple KDE text editor taking up 25 megabytes of memory?” Many people are led to believe that many Linux applications, especially KDE or Gnome programs, are “bloated” based solely upon what tools like ps report. While this may or may not be true, depending on the program, it is not generally true — many programs are much more memory efficient than they seem. What ps reports The ps tool can output various pieces of information about a process, such as its process id, current running state, and resource utilization. Two of the possible outputs are VSZ and RSS, which stand for “virtual set size” and “resident set size”, which are commonly used by geeks around the world to see how much memory processes are taking up. For example, here is the output of ps aux for KEdit on my computer: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND dbunker 3468 0.0 2.7 25400 14452 ? S 20:19
The Hoard Memory Allocator
The Hoard memory allocator is a fast, scalable, and memory-efficient memory allocator for Linux, Solaris, Mac OS X, and Windows. Hoard is a drop-in replacement for malloc that can dramatically improve application performance, especially for multithreaded programs running on multiprocessors and multicore CPUs. No source code changes necessary: just link it in or set one environment variable (see Using Hoard).
Mulyadi Santosa: When Linux Runs Out of Memory
Perhaps you rarely face it, but once you do, you surely know what’s wrong: lack of free memory, or Out of Memory (OOM). The results are typical: you can no longer allocate more memory and the kernel kills a task (usually the current running one). Heavy swapping usually accompanies this situation, so both screen and disk activity reflect this. At the bottom of this problem lie other questions: how much memory do you want to allocate? How much does the operating system (OS) allocate for you? The basic reason of OOM is simple: you’ve asked for more than the available virtual memory space. I say “virtual” because RAM isn’t the only place counted as free memory; any swap areas apply.