Linux memory computing checks the server parameters. When the free-m command is executed, it is found that the current available memory is very small, such as: www.2cto.com
However, my server only has one oracle database server, and there are no other applications. The memory usage is so high that it is not scientific. So I checked the related articles on the Internet, this means that I have been "Spoofed" by linux. The memory management mechanism of linux is different from that of windows. The idea of linux memory management mechanism is to ensure the maximum memory utilization, the kernel will apply for the remaining memory as cached, and cached is not in the free category. When the system runs for a long time, it will find that cached is very large. For systems with frequent file read/write operations, this phenomenon is more obvious. Intuitively, the free memory will be very small at this time, but it does not mean that the available memory is small. When a program needs to apply for a large memory, if the free memory is insufficient, the kernel will recycle some of the cached memory and allocate the recycled memory to the application. Therefore, for linux systems, the memory that can be allocated is not only free memory, but also cached memory (in fact, buffers ). Www.2cto.com in fact, the linux available memory = free + cached + buffers, not just the free part!