Hot answers tagged memory
Processes are managed by the kernel. The kernel doesn't care how the programmer allocates variables. All it knows is that certain blocks of memory belong to the process. The C runtime matches C memory management features to kernel features: automatic variables go into a memory block called “stack” and dynamic storage (malloc and friends) go into a memory ...
free is provided by procps-ng; Debian 8 has version 3.3.9, which uses the old style with a separate line for buffers/cache, while Gentoo and presumably RHEL 7.x have version 3.3.10 or later which uses the new style. You can see the reasoning behind the change in the corresponding commit message. If you really want the old-style output you can run an older ...
If you look at the kernel's inode source code, you can see that the ihash_entries is set at the kernel level only. There is no user or process level considerations at all. Adding those could drastically decrease performance which would be counter productive. It would also imply keeping track of all processes that used the cached entries, therefore ...
Whenever a process exits either gracefully or through SIGINT,SIGTERM,SIGKILL etc, the exit system call is invoked. Part of the exit call's job is to reclaim any resources that were being used by the process. Essentially, whenever the OS sees an exit status (success or not) being returned, two things happen: SIGCHLD is sent to the parent process to let the ...
iotop is your friend (assuming your server runs Linux).
Try rrenice from Debian's pslist package, this command sets the priority of 'opennms' (and all its descendents) to the lowest possible setting: sudo rrenice 19 opennms Or that's not available, use plain renice: sudo renice -n 19 -p $(pidof opennms) For disk hog programs, use ionice: ionice -c3 -p $(pidof opennms) BTW: that opennms process seems to ...
Those figures show a write-bound process, so the cache tuning suggested by OpenNMS won't help. However it could help if you sacrificed durability. If your OpenNMS dies, it doesn't really matter if the database shows it dying a few seconds earlier. (This is unlike e.g. an email server, where clients are relying on at-least-once semantics). You could lose ...
mlockall() is a standard C function that locks all of a currently mapped process memory to RAM. One simple way to use it from a JVM is to call it through JNA (Java Native Access). This is what does the mlockall agent available here.
Cache. A good summary at http://www.linuxatemyram.com/. Linux is borrowing unused memory for disk caching. This makes it looks like you are low on memory, but you are not! Everything is fine! To clear the caches use this command, as root, and then observe resulting memory usage. echo 3 > /proc/sys/vm/drop_caches
Only top voted, non community-wiki answers of a minimum length are eligible