sdfshfh 2009-11-01
转自:mifunny.info
几天前听运维的老兄抱怨某台Linux服务器怎么物理内存占用那么小,虚拟内存却占了一大半? LD自己当桌面的本本最近也遇到这种情况,而swap占用越大,GUI系统运行越慢。于是到网上找了些方法,目前本本的问题算是基本解决。
1.重启虚拟内存; — 首先说最简单直接的方法,直接执行下面命令:
sync
swapoff
swapon
我们先同步一下,让系统把内存中的东东写入磁盘,然后卸载swap,最后重启swap。在桌面系统中,该方法效果最明显,“现在啊,腰不酸了,腿也不疼了,整个的变利索了!” ——就是这种效果.
危险!!! 绝对不能对服务器这么干! 当年LD滴某老师滴同鞋把服务器的虚拟内存强制卸载后,导致一个月的数据丢失,运行于其他服务器中的同步备份和全备份因为光纤的断裂,数据也都只维持在一个月前(顺带BS一下party机关落后的管理机制)… 最后只能所有文员没日没夜滴按小票输入缺失的数据!
2.让系统自己清理内存;
sync
echo 3 > /proc/sys/vm/drop_caches
也就是说系统主动最大限度的释放内存,可对于虚拟内存实在效果不明显. 下面是关于drop caches的详细信息:
To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches
3.设置使用swap的概率
echo 5 > /proc/sys/vm/swappiness
比之第二种方法,还是有些效果的,尤其是firefox没那么迟顿了。但遇到吃内存的程序一起使用时,GUI会假死(LD这里的情况: firefox+amarok+zend studio for eclipse).
swappiness这个参数值越大,系统使用swap的可能性越大。 网上有人设为0, 就是说系统会尽少的使用虚拟内存,而非不再写入swap, 如果你确定内存够大,直接关闭swap即可,无须理会这些罗嗦的参数。
4.我的最终桌面方案
# 在 /etc/sysctl.conf 文件中加入下面3行:
vm.swappiness = 5
vm.drop_caches = 3
vm.dirty_writeback_centisecs = 1500
# 参考: 与磁盘IO子系统有关的Linux内核参数
然后执行:
sysctl -p
算是2、3种方法的综合,可恨自己内存太小,不然直接关掉swap; LD现在的本本以工作、娱乐为目标,知足吧.
对于服务器,应该配合程序员、DBA的建议,综合考虑多种因素,合理设置linux内核参数,然后经历数次压力测试才行。切不可这么随意
SGA概述Oracle的SGA包括以下几个部分,可以通过show sga命令或者是通过查看v$sga视图来查看SGA的大概组成:。解释一下这里“虚拟内存”的含义,确切的应该这样说:实际内存和虚拟内存。