Linux性能监控之NetWork篇
网络是所有子系统中最难监控的了。首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内。这些因素包括,延迟、冲突、阻塞等等。 大部分的以太网络都是自适应速度的,因为一个网络中可能有不同的网络设备采用不同的速率和 模式(全双工或半双工)。[@more@]大部分企业网络都工作在100到1000BaseTX。ethtool命令可以设置网卡的工作速率和模式。 # ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Hal
Linux性能监控之IO篇
接下来我们分析一些具体的情况,在这些情况下I/O会成为系统的瓶颈。我们会用到工具top,vmstat,iostat,sar等。每一个工具的输出都从不同的方面反映除系统的性能情况。 情况1:同一时间进行大量的I/O操作 在这种情况时我们会发现CPU的wa时间百分比会上升,证明系统的idle时间大部分都是在等待I/O操作。[@more@]# vmstat 1 procs -----memory----- ---swap---io---- --system--cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 3 2 0 55452 9236 1739020 0 0 9352 0 2580 8771 20 24 0 57 2 3 0 53888 9232 17
Linux性能监控之CPU篇
正如我们之前讨论的任何系统的性能比较都是基于基线的,并且监控CPU的性能就是以上3点,运行队列、CPU使用率和上下文切换。以下是一些对于CPU很普遍的性能要求: 1. 对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6; 2. 如果CPU在满负荷运行,应该符合下列分布, a) User Time:65%~70% b) System Time:30%~35% c) Idle:0%~5% 3. 对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。 常用的监视工具有,vmstat, top,dstat和mpstat.[@more@]# vmstat 1 pro