我们的虚拟服务器有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
谢谢你的帮助....
答案1
很好的解释是这里简而言之,如果您有可用内存,系统将使用内存作为磁盘缓存,但当某些程序需要 RAM 时,此缓存内容将被释放,并且 RAM 可用
答案2
我找到了解决方案这文章。问题是由 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/….