Linux操作系统性能监视:内存

在此内存中,包括物理和虚拟内存,虚拟内存(虚拟内存)到计算机内存空间,扩展到硬盘物理内存(RAM)部分的空间和硬盘(交换)一起作为虚拟内存提供了一个连贯的虚拟内存空间的计算机。好处是我们有更多的内存;可以运行越来越多的程序,缺点是部分硬盘受到内存整体性能的影响,硬盘读写速度比ram慢了几个数量级,而ram和交换之间的交换增加了系统的负担。



在操作系统中,虚拟内存分页,并在x86系统上每一页的大小是4KB。Linux内核读写虚拟内存页面,;对单元操作,将存储到硬盘交换空间(swap),读取和写入页阅读和阅读从记忆。这种记忆和交换交换过程称为页面交换(分页),值得注意的是,分页和交换是完全不同的两个概念,许多参考书这两个概念混淆,交换转化为交换,在操作系统指的是一个完整的交易程序,硬盘的自由内存的使用分页程序,只有交流计划的一部分(P年龄是两个不同的概念,单纯的交换在现代操作系统中是很难看到的,因为整个程序的交换是费力而不必要的,现代操作系统是基本的分页或分页/交换混合,交换最初是在UNIX系统V中实现的。



虚拟内存管理是Linux内核中最复杂的部分。要理解这部分的内容可能需要一整本书来解释。这里只有两vpsee介绍内核性能监控相关的过程:kswapd和pdflush。



kswapd守护程序是用来检查和pages_low pages_high。如果可用内存小于pages_low,kswapd会开始扫描并试图发布32页,重复扫描过程中释放到可用内存大于pages_high.the扫描时间检查3件事:1)如果页面没有修改,在可用内存的列表页面;2)如果页面修改文件系统,页面的内容到磁盘;3)如果该页已被修改,而不是由文件系统页写入交换空间。



Pdflush的守护神是用于同步文件相关的内存页面和同步内存页到硬盘。例如,打开一个文件,文件被加载到内存中,修改后的文件,保存后,内核并不立即保存文件到你的硬盘,由pdflush的相应的页盘什么时间确定,它由一个内核参数vm.dirty_background_ratio控制,如下面的参数显示页面(脏页)脏,当所有10%开始写磁盘的内存页。



# / / sbin sysctl - N vm.dirty_background_ratio







Vmstat



继续的vmstat参数的介绍,最后介绍了Linux性能监控:CPU的vmstat的参数,这里是另一个部分。以下数据来自一个vpsee 256MB的RAM,Xen的VPS 512MB互换:



# vmstat 1



过程-----------记忆-------------互换------- IO ------系统------- CPU ------



R B swpd免费buff缓存太Bi Bo在CS



032526962432268714 360423683608237228 2880021781



022534842216228710 536829765372303693 5190001000



012592522616128614 197841871219784 187123821185301395



122600082188144682 118242584126642584 134711741400860



212621402964128585 249121730424952 173044737234186100 4



Swpd,交换空间的大小,已使用,KB为单位;



空闲的,可用的物理内存大小,KB单元;



物理内存用于缓存读写操作的缓冲区大小,而KB是该单元;



缓存中,物理内存用于缓存进程地址空间的缓存大小,而KB是该单元;



Si,数据从交换读取到RAM的大小(交换),而KB是一个单元;



因此,数据是从RAM写入到交换(交换)的大小,而KB是一个单元。



毕,磁盘块是从文件系统读取的,或者交换到RAM的大小(块),块是一个单元;



BO,磁盘块是从RAM写入文件系统或交换的大小(块),块是一个单元;



以上是频繁读写交换区域的例子,可以观察到以下几点。



物理可用内存没有显著变化。SWAPd逐渐增加,这表明最小的可用内存总是呆在256mb x 10% = 2.56mb,当脏页达10%,(vm.dirty_background_ratio = 10)开始使用广泛交换。



黄色是稳步下降的描述,系统知道没有足够的内存,和kwapd从buff的借款部分记忆;



kswapd继续写脏页到交换区(所以),它是真的从SWAPd逐渐增加。根据这三件事在kswapd扫描检查,如果页面被修改,但它不是由文件系统的修改,页面写入互换,所以SWAPd继续增加。