Reference https://www.cnblogs.com/diaosir/p/6912766.html
The free output format is as follows
total used free sharedbuffers cached
Mem: 32783508 32138192 645316 1008516 241816 13874660
-/+ buffers/cache: 18021716 14761792
The main point is that the used and free of Mem in the first line here do not represent real physical memory usage. The used here contains part of the physical memory that is used as a cache. The real physical memory usage should be seen in the second line buffers/cache. The free in this line is the real free physical memory
The root user can use the echo 3 > /proc/sys/vm/drop_caches command to release the cached memory
There is also a swap line at the end, showing the virtual memory usage, 0 means no virtual memory is set