I find my server's memory usage is so high, part of the output of command free is shown below:
total used free shared buffers cached
Mem: 82446460 81961412 485048 0 152820 77580400
-/+ buffers/cache: 4228192 78218268
Swap: 83841020 200108 83640912
You see, it used almost all of my memory.
However, I can't the process which consumes a lot of memory. The following is the output of command top
which is sorted by M
.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18434 cloud 20 0 19.5g 754m 11m S 0 0.9 13:14.90 jsvc
15420 root 20 0 25.0g 506m 16m S 0 0.6 4:14.67 jsvc
15826 root 20 0 5125m 344m 6896 S 1 0.4 7:37.66 kvm
24435 root 20 0 5229m 299m 6868 S 0 0.4 0:49.09 kvm
16993 root 20 0 4507m 277m 6944 S 0 0.3 27:20.54 kvm
23789 root 20 0 4401m 147m 6896 S 0 0.2 0:28.46 kvm
2057 mysql 20 0 1435m 96m 8208 S 0 0.1 11:37.82 mysqld
15130 root 20 0 812m 7276 3408 S 0 0.0 1:25.45 libvirtd
24993 root 20 0 21832 4396 1720 S 0 0.0 0:00.26 bash
I think the memory consumed by processes is less than 3% in total. So, I wonder where my memory goes?
/proc/meminfo
? – Anthon Mar 15 '14 at 06:52