易截截图软件、单文件、免安装、纯绿色、仅160KB

Unix/Linux 的 Load问题


原文网址: http://www.dbanotes.net/arch/unix_linux_load.html
      几乎每个接触类 Unix 操作系统的工程师都知道如何查看系统负载。但这东西的工作机理到底是怎样的,可能没有多少能说清楚。对比了一些相关信息,加上自己的理解,做一下笔记。
什么是 Load ? 什么是 Load Average ?
       Load 就是对计算机干活多少的度量(WikiPedia
: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。【最好的参考文章:UNIX® Load Average Part 1: How It Works

下面是一个 uptime 命令输出:
$ uptime
18:57:48 up 423 days, 3:55, 2 users, load average: 1.16, 1.12, 1.20
      尽管各种信息来源的定义都不太确定。能确定的一件事情是,你不能精确获取当前时间的 Load . 最小的计算粒度是 5 秒钟(CALC_LOAD 每 5HZ 计算一次
, 5HZ 为 5秒钟,这里的 HZ 是系统定义的变量). 参见 Linux Kernel 这段代码
:
869 count -= ticks;
870 if (unlikely(count < 0)) {
871 active_tasks = count_active_tasks();
872 do {
873 CALC_LOAD(avenrun[0], EXP_1, active_tasks);
874 CALC_LOAD(avenrun[1], EXP_5, active_tasks);
875 CALC_LOAD(avenrun[2], EXP_15, active_tasks);
876 count += LOAD_FREQ;
877 } while (count < 0);
878 }
879}
如何判断系统是否已经 Over Load ?
      对一般的系统来说,根据 CPU
数量去判断,如上面的例子, 如果平均负载始终在 1.2 以下,而你是 2 颗 CPU
的机器。那么基本不会出现 CPU
不够用的情况。也就是 Load 平均要小于 CPU
的数量。
      这是 Solaris 性能与工具(Solaris Performance Tools ) 一书推荐的评估方法。【在这里要推荐一下这本书,尽管在 Load 这个地方没有达到我期望的那么细致。但全书揭示了非常多的性能信息。每个 DBA、架构师 的必须书。】
这么说实际上带来另外两个


相关文档:

关于linux内核中的"__attribute__ ((packed))"

关于linux内核中的"__attribute__ ((packed))"  
来源:
http://jimmy-lee.blog.hexun.com/8001013_d.html
__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。
#define __u8    unsigned char
#define __u16   unsigned short ......

基于Linux的便携嵌入式设备电源管理解决方案

 前 言
 
  随着各种便携嵌入式设备性能的日益提高,功能日益丰富,其电源紧张的问题也日益突出,国内新推出的某些具有PDA等多种功能的智能电话在密集使用下只能维持半天,多数摄像机
和数码相机

一次充电后都只有一个小时左右的累积工作时间。Linux作为一个开放源代码的操作系统,拥有非常丰富的软件 ......

Linux网络截包不完全整理

网络截包是一项很有意思的课题,可以有数据过滤,防火墙,流量控制,报文篡改等诸多应用,按照内核分层架构将一些截包方法不完全整理如下,欢迎补充。
1、 L1层驱动截包法
    在驱动中下手应该可以说是最贴近底层的,网卡驱动中总有rx接收和xmit发送函数,参数总是sk_buffer,在这里修改很黄很暴力,而且 ......

Linux Fedora 安装Sun JDK

1.检查系统是否有open-jdk
[root@localhost Alex] rpm -qa | grep java
tzdata-java-2010c-1.fc12.noarch
java_cup-0.11a-1.fc12.noarch
java-1.5.0-gcj-1.5.0.0-29.fc12.i686
java-1.6.0-openjdk-1.6.0.0-33.b16.fc12.i686
java-1.6.0-openjdk-plugin-1.6.0.0-33.b16.fc12.i686
2.删除open-jdk
[root@localhost Al ......

linux设备模型详解【转】


 
    
Linux 2.6内核的一个重要特色是提供了统一的内核设备模型。随着技术的不断进步,系统的拓扑结构越来越复杂,对智能电源管理、热插拔以及plug and play的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,2.6内核开发了全新的设备模型。
2.6 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号