linux 内存管理

linux系统经过2种方法进行内存管理,“调页算法”,“交换技术”linux

1.调页算法是将内存中最近不常使用的页面换到磁盘上,把常使用的页面(活动页面)保留在内存中供进程使用。 2.交换技术是系统将整个进程,而不是部分页面,所有换到磁盘上。正常状况下,系统会发生一些交换过程。算法

页面调度一般容易和交换的概念混淆,页面调度是指把一个进程所占内存的空闲部分传输到磁盘上,而交换是指当系统中实际的内存已不够知足新的分配需求时,把整个进程传输到磁盘上,交换活动一般意味着内存不足 3.关于page 详细信息 cat /proc/meminfo 4.hugepage 技术为了减少cpu维护物理内存与虚拟内存的映射表时间。性能

5.vmstat命令查看 -s 查看内存使用详情 -d 查看硬盘使用 r: 运行队列中进程数量,这个值也能够判断是否须要增长CPU。(当这个值超过了CPU数目,就会出现CPU瓶颈了) b: 等待IO的进程数量 注意:若是cache的值大的时候,说明cache处的文件数多,若是频繁访问到的文件都能被cache处,那么磁盘的读IO bi会很是小。 swap(page率) si: 每秒从交换区写到内存的大小,由磁盘调入内存 so: 每秒写入交换区的内存大小,由内存调入磁盘 注意:内存够用的时候,这2个值都是0,若是这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)不多的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,若是free不多,可是si和so也不多(大多时候是0),那么不用担忧,系统性能这时不会受到影响的。优化

IO:(如今的Linux版本块的大小为1kb) bi: 每秒读取的块数 bo: 每秒写入的块数 注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。队列

系统: in: 每秒中断数,包括时钟中断。 cs: 每秒上下文切换数。 注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。进程

CPU(以百分比表示): us: 用户进程执行时间百分比(user time) 注意: us的值比较高时,说明用户进程消耗的CPU时间多,可是若是长期超50%的使用,那么咱们就该考虑优化程序算法或者进行加速。内存

sy: 内核系统进程执行时间百分比(system time) 注意:sy的值高时,说明系统内核消耗的CPU资源多,这并非良性表现,咱们应该检查缘由。 wa: IO等待时间百分比 注意:wa的值高时,说明IO等待比较严重,这可能因为磁盘大量做随机访问形成,也有可能磁盘出现瓶颈(块操做)。 id: 空闲时间百分比资源

Memory(内存): inact: 非活跃内存大小(当使用-a选项时显示) active: 活跃的内存大小(当使用-a选项时显示)内存管理

相关文章
相关标签/搜索