当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-01-23 03:26:00  来源:本站整理

Linux系统监控之磁盘I/O篇[Linux安全]

赞助商链接



  本文“Linux系统监控之磁盘I/O篇[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

磁盘I/O 子系统Linux 系统中最慢的部份.这个主如果归于CPU到物理操作磁盘之间距离(译注:盘片旋转以及寻道).假如拿读取磁盘和内存的时间作对比就是分钟级到秒级,这就像7天和7分钟的辨别.因此本质上,Linux 内核就是要最低程度的降低I/O 数.本章将诉述内核在磁盘和内存之间处理数据的这个历程中,哪些地方会产生I/O.

6.1 读和写数据 - 内存页

Linux 内核将硬盘I/O 举行分页,大都Linux 系统的默许页大小为4K.读和写磁盘块收支到内存都为4K 页大小.你可以利用time 这个号令加-v 参数,来查抄你系统中设置的页大小:

# /usr/bin/time -v date

Page size (bytes): 4096

6.2 Major and Minor Page Faults(译注:主要页错误和次要页错误)

Linux,近似大都的UNIX 系统,利用一个虚拟内存层来映射硬件地址空间.当一个进程被启动,内核先扫描CPU caches和物理内存.假如进程需求的数据在这2个地方都没找到,就需求从磁盘上读取,此时内核历程就是major page fault(MPF).MPF 要求磁盘子系统检索页并缓存进RAM.

一旦内存页被映射进内存的buffer cache(buff)中,内核将尝试从内存中读取或写入,此时内核历程就是minor page fault(MnPF).与在磁盘上操作相比,MnPF 通太反复利用内存中的内存页就大大的缩短了内核时间.

以下的例子,利用time 号令考证了,当进程启动后,MPF 和 MnPF 的改变情形.第一次运行进程,MPF 会更多:

# /usr/bin/time -v evolution

Major (requiring I/O) page faults: 163

Minor (reclaiming a frame) page faults: 5918

第二次再运行时,内核已经不需求举行MPF了,因为进程所需的数据已经在内存中:

# /usr/bin/time -v evolution

Major (requiring I/O) page faults: 0

Minor (reclaiming a frame) page faults: 5581

6.3 The File Buffer Cache(译注:文件缓存区)

文件缓存区就是指,内核将MPF 历程最小化,MnPF 历程最大化.随着系统不断的产生I/O,buffer cache也将不断的增添.直到内存不够,以及系统需求释放老的内存页去给其他用户进程利用时,系统就会丢弃这些内存页.后果是,很多sa(译注:系统管理员)对系统中过少的free memory(译注:闲暇内存)表示耽忧,实际上这是系统更高效的在利用caches.

以下例子,是查看/proc/meminfo 文件:

# cat /proc/meminfo

MemTotal: 2075672 kB

MemFree: 52528 kB

Buffers: 24596 kB

Cached: 1766844 kB

可以看出,这个系统总计有2GB (Memtotal)的可用内存.当前的闲暇内存为52MB (MemFree),有24 MB内存被分配磁盘写操作(Buffers),还有1.7 GB页用于读磁盘(Cached).

内核这样是通过MnPF机制,而不代表全部的页都是来自磁盘.通过以上部份,我们不大概确认系统能否处于瓶颈中.

6.4 Type of Memory Pages

在Linux 内核中,memory pages有3种,辨别是:

1,Read Pages - 这些页通过MPF 从磁盘中读入,并且是只读.这些页存在于Buffer Cache中以及包含不可以改正的静态文件,二进制文件,还有库文件.当内核需求它们时,将读取到内存中.假如内存不足,内核将释放它们回闲暇列表中.程序再次恳求时,则通过MPF 再次读回内存.

2,Dirty Pages - 这些页是内核在内存中已经被改正过的数据页.当这些页需求同步回磁盘上,由pdflush 负责写回磁盘.假如内存不足,kswapd (与pdflush 一同)将这些页写回到磁盘上并释放更多的内存.

3,Anonymous Pages - 这些页属于某个进程,但是没有任何磁盘文件和它们有关.他们不能和同步回磁盘.假如内存不足,kswapd 将他们写入swap 分区上并释放更多的内存("swapping" pages).

6.5 将数据页写回磁盘

利用程序有很多挑选可以写脏页回磁盘上,可通过I/O 调度器利用 fsync() 或 sync() 这样的系统函数来实现当即写回.假如利用程序没有调用以上函数,pdflush 进程会按期与磁盘举行同步.

# ps -ef | grep pdflush

root 186 6 0 18:04 ? 00:00:00 [pdflush]


  以上是“Linux系统监控之磁盘I/O篇[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • windows下的近似linux下的grep号令--findstr
  • linux下mysql链接被防火墙禁止的办理办法
  • Linux下mysql新建账号及权限设置办法
  • SUSE Linux下搭建Web服务器
  • Windows/Linux MySQL忘掉密码重置密码教程
  • Linux下Apache自动监测重启脚本(智能化程度较高)
  • linux备份 linux克隆 linux clone
  • <b>为什么 Linux不需求碎片整理</b>
  • CentOS6 yum搭建Linux+Nginx+PHP+MYSQL(LNMP)
  • Linux系统有效防备ARP攻击
  • Linux下 Memcache的安装和简单管理
  • 笔记本预装linux重装成windows系统
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .