bash-3.00$ free
total used free shared buffers cached
Mem: 514020 465932 48088 0 15864 348844
-/+ buffers/cache: 101224 412796
Swap: 2096440 94916 2001524
Total physical memory: 512mb 455MB used shard: memory shared by multiple processes is 0, disk cache size is 340MB
The difference between used/free in the second line (mem) and used/free in the third line (-/+ buffers/cache).
The difference between the two is from the perspective of usage. The second line is from the perspective of the OS. Because for the OS, buffers/cached are all used, so its available memory is 15864KB and the used memory is 465932KB. These include +buffers+cached used by the kernel (OS) and +Application (X, oracle, etc).
The third line refers to from the application point of view, for the application, buffers/cached is equal to available, because buffer/cached is to improve the performance of file reading, when the application needs to use memory time, buffer/cached will be recycled quickly.
So from the perspective of the application, available memory = system free memory+buffers+cached.