Virtual-Machines

儘管程序沒有高使用率,但 RAM 使用率很高?

  • August 24, 2017

我們的虛擬伺服器有 Centos 6 作業系統。

當我查看緩衝區/記憶體使用情況時,第一行似乎更少。程序對記憶體的使用不高。你對這種情況有任何想法嗎?可能是關於緩衝區/記憶體使用(如第二行),我們有什麼辦法限制緩衝區嗎?我怎樣才能減少記憶體的使用?

              total       used       free     shared    buffers     cached
Mem:           15G        15G       211M       404K       138M       303M
-/+ buffers/cache:        14G       653M
Swap:         3.9G       107M       3.8G


top - 05:29:39 up 62 days, 19:22,  1 user,  load average: 0.07, 0.03, 0.00
Tasks: 232 total,   2 running, 230 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16333568k total, 16081072k used,   252496k free,   141552k buffers
Swap:  4063228k total,   110864k used,  3952364k free,   311512k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1871 root      20   0  472m 9480 5128 S  2.0  0.1   1889:02 BESClient
2977 root      20   0 17.2g 674m  11m S  1.0  4.2  13:56.98 java
  23 root      RT   0     0    0    0 S  0.3  0.0 161:15.05 migration/5
2616 root      20   0  312m 3872 2380 S  0.3  0.0 105:57.95 python
6073 root      20   0 15184 1396  972 R  0.3  0.0   0:00.01 top
   1 root      20   0 19232 1044  856 S  0.0  0.0   5:24.30 init

謝謝你的幫助……

我從這篇文章中找到了解決方案。問題是由 java max min 變數引起的。

ps -ef | grep java
root      2977     1  0 Mar21 ?        00:14:16 /opt/open/jre/bin/java -Djava.util.logging.config.file=/opt/open/stm/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms1024m -Xmx13312m -Xrs -Djava.awt.headless=true -Dcom.open.configFile=collector.xml -Dcom.open.home=/opt/open -Djava.util.logging.config.file=/opt/open/stm/etc/properties/….

很好的解釋在這裡。簡而言之,如果您有空閒記憶體,則係統將記憶體用作磁碟記憶體,但是當某些程序需要 RAM 時,此記憶體內容被釋放並且 RAM 可用

引用自:https://serverfault.com/questions/840134