|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。
同事在Linux服务器上碰到点小成绩,我也上往折腾半天。这仍是第一次注重到Linux这个多年来就存在的特征:OOMKiller。说白了OOMKiller就是一层回护机制,用于制止Linux在内存不敷的时分不至于出太严峻的成绩,把可有可无的历程杀失落,有些勇士断腕的意义。
先要进修点老常识,在32位CPU架构下寻址是无限制的。Linux内审定义了三个地区:- #DMA:0x00000000-0x00999999(0-16MB)#LowMem:0x01000000-0x037999999(16-896MB)-size:880MB#HighMem:0x038000000-<硬件特定>
复制代码 LowMem区(也叫NORMALZONE)一共880MB,并且不克不及改动(除非用hugemem内核)。关于高负载的体系,便可能由于LowMem使用欠好而激发OOMKiller。一个大概缘故原由是LowFree太少了,别的一个缘故原由是LowMem里都是碎片,哀求不到一连的内存地区【依据我碰到的一个案例,一个料想是有些使用一次性哀求对照年夜的内存,恰好又是880M以内的,余暇的(LowFree)不敷年夜,就会触发OOMKiller出来干活】。反省以后LowFree的值:- #cat/proc/meminfo|grepLowFree
复制代码 反省LowMem内存碎片:下面这条命令要在2.6Kernel情况下无效。听说利用SysRq的体例更好,不外Hang的时分再用吧。拜见MetalinkNote:228203.1。
依据一些文档形貌,OOMKiller在2.4与2.6上体现是纷歧样的。2.4的版本中是把新出去(新请求内存)的历程杀失落。而2.6上是杀失落占用内存最凶猛的历程(这是很伤害的,很简单招致体系使用瘫痪)。
关于RHEL4,新增了一个参数:vm.lower_zone_protection。这个参数默许的单元为MB,默许0的时分,LowMem为16MB。倡议设置vm.lower_zone_protection=200乃至更年夜以免LowMem地区的碎片,是相对能办理这个成绩的(这参数就是办理这个成绩出来的)。
而关于RHEL3(Kernel2.4)仿佛没甚么好举措,一个是用Hugemem内核(天晓得会不会引进新的偏差),一个是晋级到2.4.21-47而且利用新的中心参数vm.vm-defragment把持碎片的数目。再就是利用RHEL4(Kernel2.6),这又绕归去了。说白了,假如碰到OOMKiller,基础上是低版本Kernel计划上有点缺点。
别的,假如往查询RedHat的Bug库,会发明很多Kernel版本也有Bug的。特别在利用NFS的场景。
Tip:OOMKiller的封闭与激活体例:- #echo"0">/proc/sys/vm/oom-kill#echo"1">/proc/sys/vm/oom-kill
复制代码 更多参考信息:
- 1)OOMkiller"OutofMemory:Killedprocess"SOLUTIONS/SUMMARY【对我碰到的案例没鸟用】
- 2)MetalinkNotes:LinuxKernelLowmemPressureIssuesandKernelStructures
- 3)RespitefromtheOOMkiller
来自:Linux的Out-of-Memory(OOM)Killer
批评:
jametong的批评:我之前是用过晋级到hugemem的内核版本办理这个成绩的,,体系以后不乱的运转了2年没有出成绩吧..
你们却是也能够尝尝..
我晋级以后利用的版本为..
2.4.21-32.0.1.ELhugemem#1
May27,20089:09AMforcey的批评:我们用的32位体系一向存在这个成绩,880M的限定是为4G以下内存计划的,假如物理内存年夜于4G并翻开PAE的话,LowMem很简单爆失落。假如内核回护得好没有爆失落的话,也会有一年夜片物理内存使用不上。
晋级到64位体系就办理了这个成绩,由于64位体系下一切的内存都是LowMem。
May27,200810:27AMFenng
<br>的批评:@forcey
我这边最初对链接出去的历程数做了把持。“制止”了成绩的再次呈现。临时来看,仍是找个时机晋级到64位呆板上。
May27,200812:26PMZhuang@FUN的批评:昔时,上学时,我们先生就在给我们讲,做我们这一行的(IT),身材情况就没一个无缺的,都是处于亚安康形态,,,,,看来又多了一个,呵呵!~~
哥们可要注重身材哟!!
May27,20082:38PMwhoami的批评:光说这个其实太少.OOM成绩和年夜tmpfs(用多了内存大概会把无辜的X干失落),memorysplit成绩,另有已经的32bit1Glowmempatch(不外如今应当没人用了,作者竟然是ConKolivas:()
May27,20086:32PMFenng
<br>的批评:@whoami
等候你多增补一些嘛
May27,20086:43PMshowuser的批评:这个成绩之前听基盘的伴侣谈起过,说在redhat4上还存在,在redhat5上就修复了。看了你写的发明还不是那样的成绩。
这个呈现过Oracle历程被杀失落的情形。对照可骇。
May27,20088:44PMkissingwolf的批评:03年的时分在做imu项目标时分出过如许的成绩,服务程序有溢出,最夸大的一次是将sshdkill了,招致没法远程登录!
May27,200810:06PM
在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。 |
|