Hot answers tagged memory-management
Windows doesn't kill processes when all of the RAM is used. What actually happens is that processes fail to allocate memory and crash. This is happening because all of your physical memory is in use and because the pagefile is disabled, the memory manager no longer has the ability to write pages that are not being used. This keeps your physical RAM full ...
Lets start with this: I think latest SMP processors uses 3 level caches so I want to understand Cache level hierarchy and their architecture . To understand caches you need to know a few things: A CPU has registers. Values in that can be directly used. Nothing is faster. However we can not add infinite registers to a chip. These things take up ...
Gentle reminder: Actually, to provide a better answer for the rest of the community, please don't say something like "Do not talk about the four types of memory", as even if you know it well, there may be a thousand and one citizens of the internet arriving here hoping for a collateral answer :) EDIT: Paging is the accurate term for the following action. ...
That caches are internals of processor. Some are shared between cores, some are individual, depends on implementation. But all of them are located on chip. Some details: Intel Intel® Core™ i7 Processor, taken here: A 32-KB instruction and 32-KB data first-level cache (L1) for each core A 256-KB shared instruction/data second-level cache (L2) for each core ...
Due to PAE: http://en.wikipedia.org/wiki/Physical_Address_Extension AFAIK Windows client versions, while they support PAE, don't support physical addresses past the 4 GB mark (apparently due to various buggy drivers). Windows server, and Linux, do not have this restriction.
I also struggled with that issue. I just want my system to stay responsive, no matter what, and I prefer losing processes to waiting a few minutes. There seems to be no way to achieve this using the kernel oom killer. However, in the user space, we can do whatever we want. So i wrote the Early OOM Daemon ( https://github.com/rfjakob/earlyoom ) that will ...
Yes, right click on the toolbar in Netbeans and select 'Memory'. In Netbeans 8 it can be found under "Performance".
There would be little practical purpose- ram's meant to be fast, and no matter how fast your network is, you'd get speeds slower than even a local drive (which could hold swap, which the system uses when it needs to free up ram). Firewire goes up to 800 Mbits per second. Even the crappier flavour of sata go up to 3Gbits/s (granted that's drive dependant). ...
If I'm not wrong, the Linux kernel caches specific pages of a file, i.e. not the entire file is loaded into the page cache. One tool which you can use to figure out whether some contents of a file is in the page cache is fincore from the linux-ftools project. While it doesn't display all the cached files on disk, it gives you a rough idea of what is loaded ...
You'll want to use ulimit ulimit can be used to limit memory utilization (among other things) Here is an example of setting memory usage so low that /bin/ls (which is larger than /bin/cat) no longer works, but /bin/cat still works. $ ls -lh /bin/ls /bin/cat -rwxr-xr-x 1 root root 25K May 24 2008 /bin/cat -rwxr-xr-x 1 root root 88K May 24 2008 ...
Yes, used for caching and buffers. Modern OS's try to be smart...if you have 8GB of memory just sitting idle, not being used for anything, it's being wasted. So as long as no application is requesting it, the OS finds other things to use it for to try and speed stuff up. Don't worry about it -- if you application needs the memory, the OS will instantly free ...
No problem in my experience, kill away. As an example, if you have 4 GB of RAM, 3 GB of which is in use by a game and you kill the game process, you can restart the game without issues and it'll have 3 GB of RAM on the process again.
The Linux kernel automatically caches files in memory for efficiency. This is not a bad thing. When running free -m you will see on the right the amount of memory used in the cache. If an application needs the memory the kernel will free some of the cache. You should not try and manage it yourself.
The default policy of the kernel is to allow applications to keep allocating virtual memory as long as there is free physical memory. The physical memory isn't actually used until the applications touch the virtual memory they allocated, so an application can allocate much more memory than the system has, then start touching it later, causing the kernel to ...
The operating systems listed in the question tags (Windows and OS X) implement virtual memory, where each process is given its own address space, which is then mapped to physical memory by the OS. These mapping tables are used in cleaning up memory allocations when a process is terminated, so memory is completely freed. Physical pages may be shared among ...
java -Xmx1024M -Xms1024M -jar *filename*.jar Xmx is the max amount you want to allocate (in MB) and the Xms is the initial amount. You can replace the 1024 with the amount you prefer.
It's unlikely that it's really XP or Windows 7. It's probably memory leaks in the programs you're running. It's possible Windows 7 may have better features for reclaiming memory, but I doubt that. Even if you're using the exact same programs between versions of Windows, I'm sure there are little distinctions that add up that aren't really inherited from the ...
Have you tried a few older tricks such as defragging your hard drive? Apart from this, the only thing I can think of is you either missed something when looking at applications (My favourite tool is Microsoft / Sysinternals Autoruns) or it is a driver update / automatic update of some program somewhere that is causing problems. The registry thing is pretty ...
It's been a long time since I learned this stuff, but here goes. When an operating system launches a process, it assigns it pages from the virtual memory table. The operating system is responsible for maintaining a map from the virtual memory table to real memory or to the swap space on disk. When a process gets killed, the OS doesn't just stop giving it ...
Part of your problem may not be so much that it won't swap. If I remember correctly, the 4 GB address space is split in half on Vista 32-bit (which I assume you're using from the behaviour specified), so each application has 2 GB and the kernel and drivers have the other 2 GB. That means it's probably not possible (without workarounds) to get more than 2 GB ...
RAM is also used to cache frequently accessed files. Both free and inactive RAM can be used immediately if needed. Unless Activity Monitor shows a high and steadily climbing page out value in the System Memory tab, it's no cause for concern. For example, my system has rather little free RAM, but my page out count is very low, so 4GB of RAM are definitely ...
Issues like this is why we use OSs, it provides a layer of abstraction so you do not need to concern yourself at the application level about things like how the memory is stored on the hardware level. The layers are similar to this (for HDD drives), Each layer shows next to it who is responsible for that layer. File (File system) | ...
Windows does not have any such error message for running out of RAM. You're seeing this because you're running out of pagefile-backed virtual address space (i.e. "commit charge" is approaching the "commit limit"). You can fix it by increasing the size of your pagefile - or by setting up a pagefile, if you've deleted it.
If you never come close to running low on memory there is no need for ReadyBoost. The most appropriate situation in which it comes in handy is when a notebook cannot physically support more memory modules but more RAM is required.
It is possible to use some of it as swap or ramdisk under Linux, but most operating systems do not allow this.
These days the caches are all on the CPU die. They used to sometimes be located on the motherboard, or on the CPU daughter-board, but I don't think there are any current processors that use off chip caches.
Cache is almost always on chip for fastest access. Here is a nice diagram showing a quad core Intel CPU die with the L3 cache highlighted. When you look at pictures like this of a CPU die, large uniform areas are typically banks of on-chip memory used as a cache.
SuperFetch, when enabled, will start preloading all of your most recently used programs into unused memory, up to your memory capacity. With 24GB of RAM, it will act as a ridiculously large "cache" and it'll greatly speed up your performance. However, it will NOT do anything to slow your computer down, since if a program needs space claimed by SuperFetch, ...
That was back in the day before memory management was widely implemented. Nowadays the only memory that you might miss out on is memory used by drivers and kernel modules that remain unkilled or zombied, but that's peanuts really.
Only top voted, non community-wiki answers of a minimum length are eligible