我们在 AWS EC2 实例上运行 Ubuntu 版本,作为我们的一个生产服务器。问题是内存被充分利用,托管在此服务器上的网站冻结。当我检查其 CPU 利用率时,它很正常,低于 40%,但当我通过 SSH 登录到实例并检查时free -h
total used free shared buffers cached
Mem: 3.9G 3.2G 640M 64M 394M 1.4G
-/+ buffers/cache: 1.4G 2.4G
Swap: 0B 0B 0B
只要我运行,echo 3 > /proc/sys/vm/drop_caches
我的网站就会正常运行,但我必须每小时运行一次此命令才能保持网站正常运行。我可以设置一个 cron 来执行此操作,但我想知道问题是什么以及我们如何解决它?
答案1
通过删除缓存,您会降低性能,将数据缓存在 RAM 中可使系统更快(RAM 比 HDD/SSD 更快)。但如果任何应用程序需要更多 RAM,则会自动释放缓存。检查一下:http://www.linuxatemyram.com/
看看-/+ buffers/cache:
你有 1.4GB 的可用 RAM