我已经在网上冲浪了大约1个星期,我发现的一切都是:“CentOS知道如何使用ram,不要担心”但我真的认为这是一个问题。
我有一台最近/干净安装CentOS 6.4 X86_64的VM,1.5GB内存,1个处理器/ 4个内核和700MB SWAP,问题在于内存消耗。
我安装了postgresql,pgadmin3,JRE 7.25(不是JDK也不是OpenJDK),netbeans 7.3.1和apache但大部分时间(99%)我只需要同时打开NB和firefox,显然是httpd和pgsql服务。登记/>
好吧,当我打开netbeans时,它使用300Mb - 350MB,Firefox 100MB - 150MB,系统使用的初始内存大约为250MB,因此有750MB且系统监视器和 free -m 命令确认那,但是在几分钟之内,系统就会占用我所有的可用内存,并开始使用100MB - 200MB SWAP并且它真的很SssLOOOWWW ..
我正在开发一个简单的PHP / JS / HTML网站。
当系统占用我的所有内存并交换时, free -m 命令将返回:
free -m
total used free shared buffers cached
Mem: 1511532 1477256 34276 0 18652 89325
-/+ b../c..: 1369279 142253
Swap: 711320 198652 512668
我知道实际的可用内存大约是140MB,但是:
我试过这个:
答案 0 :(得分:0)
如果你使用“htop”查看记忆,你会发现内存条有3种颜色。我猜你的大多数内存都是黄色的。
基本上,各种操作系统缓存都在使用您的内存。这些缓存在系统需要时被推出内存。系统保持ram副本,以便当数据仍在内存高速缓存中时,如果再次执行相同的命令/程序,centos可以更快地执行。这就解释了为什么你只是应用程序关闭时释放的内存的一部分。
这从来就不是导致我减速的原因。
我一直在使用火狐内存使用气球。
也许这是一个虚拟化平台问题。你的主机操作系统是什么?你使用的是什么虚拟平台?
答案 1 :(得分:0)
正如我所说的,我重新安装了CentOS x64并且内存消息的问题仍然存在,所以我根据自己的经验对自己的具体案例有了理论。
如果您不完全确定您的程序/应用程序是为64位设计的,那么最好安装32位CentOS EVEN FOR AMD X64。
我的情况:
- Amd Athlon X4 640处理器(64位)
- VMware 7
- 1个处理器/ 4个核心,1.5GB RAM
- CentOS 6.4 32位
- apache(httpd)
- Php 5.3.3
- Postgresql,(服务器,客户端,contrib,libpq)
- pgAdmin III
- 带有 firebug和colorzilla 扩展程序的Firefox 17 ESR(默认centos浏览器)
- Opera(上次发布)
- JRE 7.25(仅限netbeans工作 - 从Oracle下载而不是openJDK)
- Netbeans 7.3.1(PHP - HTML5)
现在我已经打开了pgadmin,netbeans(有10个活动标签)和firefox,可用内存是(150 + MB免费+ 20 + MB缓冲区+ 200 + MB缓存),如果我打开歌剧时需要更多内存或任何其他程序都会释放一些缓存的内存,因为它应该完成。 哦,SWAP的使用是0.00000000,你知道它真的很有用但是如果你使用交换中加载的程序(全部或部分),它至少比RAM中加载的程序慢10倍。