|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
我们起首懂得假造内存和物理内存:假造内存就是接纳硬盘来对物理内存举行扩大,将临时不必的内存页写到硬盘上而腾出更多的物理内存让有必要的历程来用。当这些内存页需pi要用的时分在从硬盘读回内存。这统统关于用户来讲是通明的。一般在Linux体系说,假造内存就是swap分区。在X86体系上假造内存被分为巨细为4K的页。
Memory篇
Linux功能监控每个历程启动时城市向体系请求假造内存(VSZ),内核批准大概拒就哀求。当程序真正用到内存时,体系就它映照到物理内存。RSS暗示程序所占的物理内存的巨细。用ps命令我们能够看到历程占用的VSZ和RSS。
#psCaux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
daemon21770.00.23352648?Ss23:030:00/usr/sbin/atd
dbus21960.00.5131801320?Ssl23:030:00dbus-daemon-1--sys
root22100.00.427401044?Ss23:030:00cups-config-daemon
root22210.31.561084036?Ss23:030:02hald
root22310.00.12464408tty1Ss+23:030:00/sbin/mingettytty1
内核会按期将内存中的数据同步到硬盘,这个历程叫做MemoryPaging。同时内核也要卖力接纳不必的内存,将他们分给其他必要的历程。PFRA算法(PageFramereclaimalgorithm)卖力接纳余暇的内存。算法依据内存页的范例来决意要开释的内存页。有以下4品种型:
1.UnreclaimableC锁定的,内核保存的页面;
2.SwappableC匿名的内存页;
3.SyncableC经由过程硬盘文件备份的内存页;
4.DiscardableC静态页和被抛弃的页。
除第一种(Unreclaimable)以外其他的都能够被PFRA举行接纳。与之相干的历程是kswapd。在kswapd中,有2个阀值,pages_hige和pages_low。当余暇内存页的数目低于pages_low的时分,kswapd历程就会扫描内存而且每次开释出32个freepages,直到freepage的数目抵达pages_high。详细kswapd是怎样接纳内存的呢?有以下准绳:
1.假如页未经变动就将该页放进余暇行列;
2.假如页已变动而且是可备份回文件体系的,就了解将内存页的内容写回磁盘;
3.假如页已变动可是没有任何磁盘上的备份,就将其写进swap分区。
#ps-ef|grepkswapd
root301023:01?00:00:00[kswapd0]
Linux功能监控在接纳内存过程当中另有两个主要的办法,一是LMR(Lowonmemoryreclaiming),另外一个是OMK(OutofMemoryKiller)。当分派内存失利的时分LMR将会其感化,失利的缘故原由是kswapd不克不及供应充足的余暇内存,这个时分LMR会每次开释1024个渣滓页知道内存分派乐成。当LMR不克不及疾速开释内存的时分,OMK就入手下手其感化,OMK会接纳一个选择算法来决意杀逝世某些历程。中选定历程时,就会发送旌旗灯号SIGKILL,这就会使内存当即被开释。OMK选择历程的办法以下:
1.历程占用大批的内存;
2.历程只会丧失大批事情;
3.历程具有低的静态优先级;
4.历程不属于root用户。
Linux功能监控历程办理中另外一个程序pdflush用于将内存中的内容和文件体系举行同步,好比说,当一个文件在内存中举行修正,pdflush卖力将它写回硬盘。
#ps-ef|greppdflush
root283023:01?00:00:00[pdflush]
root293023:01?00:00:00[pdflush]
每当内存中的渣滓页(dirtypage)凌驾10%的时分,pdflush就会将这些页面备份回硬盘。这个比率是能够调治的,经由过程参数vm.dirty_background_ratio。
#sysctl-nvm.dirty_background_ratio
Pdflush同PFRA是自力运转的,当内核挪用LMR时,LMR就触发pdflush将渣滓页写回硬盘
</p>
当你经过一段时间的学习后就应该扩充自己的知识,多学习linux命令,但是不要在初学阶段就系统的学习linux命令。 |
|