这里说明,Ubuntu 中系统没有了RH系统中的 chkconfig 命令 !

可用一些小工具来管理 Ubuntu 的启动选项:

小工具 rcconf:

#sudo apt-get rcconf

#sudo apt-get install rcconf

root 下运行: #sudo rcconf

功能更全的工具:sysv-rc-conf

#sudo apt-get update

#sudo apt-get install sysv-rc-conf

运行:#sudo sysv-rc-conf

也可以直接加入启动程序,例如把 /etc/init.d/red5 加入到系统自动启动列表中:

#sudo sysv-rc-conf red5 on

其他使用方法见:  google::Ubuntu::sysv-rc-conf  命令用法

也可以直接修改

直接改 /etc/rc0.d ~ /etc/rc6.d 和 /etc/rcS.d 下的东西,S开头的表示启动,K开头的表示不启动,

例如:想关闭 Red5 的开机自动启动,只需 #sudo mv /etc/rc2.d/S20red5 /etc/rc2.d/K20red5 就可以了。

Ubuntu自动启动程序

首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写

到一个 文件里让系统能够按顺序执行,类似windows下的aut

文章图片

变化:This release is mainly focused around a complete rewrite of the logging and debug functionality, which now includes a Web log viewer and fully consolidated logging. Support hasalso been added for SFTP in event uploads. There are also a small number of other useful new features and fixes

ZoneMinder的作者是因为家中的车库被窃,因而产生设计监控保全的念头。   

ZoneMinder使用了Linux Server,PHP,MySQL加上几支摄影机,就可以使用web介面监控重要场所。当异常事件发生时,你就可以收到e-mail或简讯通知。   

项目地址:http://www.zoneminder.com/

文章图片

很久没有关注jQuery了,最近重新看了一下,看到一些不错的文章,转来坐一下笔记。

其内容和一些新提供的方法还是很多有值得学习的地方。

1. 使用最新版本的jQuery

jQuery的版本更新很快,你应该总是使用最新的版本。因为新版本会改进性能,还有很多新功能。

下面就来看看,不同版本的jQuery性能差异有多大。这里是三条最常见的jQuery选择语句:

  $('.elem')

  $('.elem', context)

  context.find('.elem')

我们用1.4.2、1.4.4、1.6.2三个版本的jQuery测试,看看浏览器在1秒内能够执行多少次。结果如下:

可以看到,1.6.2版本的运行次数,远远超过两个老版本。尤其是第一条语句,性能有数倍的提高。

其他语句的测试,比如.attr("value")和.val(),也是新版本的jQuery表现好于老版本。

2. 用对选择器

在jquery中,你可以用多种选择器,选择同一个网页元素。每种选择器的性能是不一样的,你应该了解它们的性能差异。

(1)最快的选择器:id选择器和元素标签选择器

举例来说,下面的语句性能最佳:

  $('#id')

  $('form')

  $('input')

遇到这些选择器的时候,jQuery内部会自动调用浏览器的原生方法(比如getElementById()),所以它们的执行速度快。

(2)较慢的选择器:class选择器

$('.className')的性能

我最近开始编写自己的jQuery选择器,我越来越开始意识到这是一种不错而简洁的完成某些特定任务的方式,而以往我使用的是迭代器。

这些选择器中如果不是你一直在寻找的,你也许根本将不会碰到。所以我决定写下一个简单的教程来告知你用jQuery写出自己的选择器是一件相当轻松的事。

下面是一个用jQuery编写选择器的模版文件,你需要的全都在这里:

 01$.extend($.expr[':'], 02{ 03    selectorName: function(el, i, m) 04    { 05        returntrue/false; 06    }, 07      08    selectorName2: function(el, i, m) 09    { 10        returntrue/false; 11    } 12});

下面是两种调用一个选择器的方法,一种带有一个参数而另一种则没有参数:

1$("#container :selectorName"); 2$("#conainert :selectorName(#element)"); 3$("#conainert :selectorName(>300)");

i与m参数可以是缺省的,当传入一个集合,他们只是用来匹配一个参数的当前元素的索引。当你传入一个参数时,匹配器便开始工作了,这是一个正则表达式匹配器,返回类似如下信息:

1[":width(>100)", "width", "", &

我们在搞性能测试的时候,对后台服务器的CPU利用率监控是一个常用的手段。服务器的CPU利用率高,则表明服务器很繁忙。如果前台响应时间越来越大,而后台CPU利用率始终上不去,说明在某个地方有瓶颈了,系统需要调优。这个是即使不懂技术的人都容易理解的事情。

上面理解对吗?我个人觉得不十分准确。这个要看后台你测试的进程是什么类型的。如果是计算密集型的进程,当前端压力越来越大的时候,很容易把CPU利用率打上去。但是如果是I/O网络密集型的进程,即使客户端的请求越来越多,但是服务器CPU不一定能上去,这个是你要测试的进程的自然属性决定的。比较常见的就是,大文件频繁读写的cpu开销远小于小文件频繁读写的开销。因为在I/O吞吐量一定时,小文件的读写更加频繁,需要更多的cpu来处理I/O的中断。

在Linux/Unix下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。

在Linux的内核中,有一个全局变量:Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。系统里定义了一个常数HZ,代表每秒种最小时间间隔的数目。这样jiffies的单位就

在已有的Linux操作系统中,安装另一个开源操作系统,我们一般是先构建新操作系统的chroot基础环境,然后chroot进入新构建的操作系统环境来安装和配置。这种构建和安装操作系统的方法,对于我们学习和研究操作系统结构和原理应该说比较重要。 本文举了简单的例子,以Fedora Core 5.0 为基础,通过chroot来构建Slackware 10.2;

  1、chroot方式安装操作系统的目的和用途

  chroot 工具是Linux操作系统都具备的工具,从表面的意思看,chroot 是从一个/根到另一个/根。在一个Linux操作系统中安装另一个操作系统,就是利用chroot的这个特点。首先创建chroot运行的基础环境,然后通过chroot到新的/根,然后再用相应的软件包管理工具把新的操作系统其它软件包安装上;

  几乎所有的开源操作系统都可以用chroot的方法来安装,比如Gentoo 、LFS及CRUX比较常用chroot;通过chroot安装操作系统,好象堆积木一样,一块一块的把操作系统安装起来,所以Gentoo和LFS的Fans特别有成就感。呵,也说是操作系统全手工打造,成就感自然不言而喻了;

  通过chroot安装操作系统,我们能学到什么呢?主要是能知道一个操作系统最少需要多少部件可以“动”起来,以及了解一个操作系统需要哪些基础的必备的“部件”,这对开发自己的基于Linux操作系

# rpm –ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm

在服务器上安装了iSCSI initiator以及iscsiadm

iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。

iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README,也可以运行man iscsiadm或iscsiadm --help

使用

下面来讲一下连接iscsi设备的步骤:

1 启动iscsi守护进程

#service iscsi start

默认情况下,系统启动后此进程会自动运行

2 发现目标

默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是192.168.1.1,运行下列命令:

#chkconfig iscsi on;chkconfig iscsi --list (查看ISCSI启动状态)

#iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260

此时找到拥有一个目标(target)

192.168.1.1:3260,1 iqn.1997-05.com.test:raid

被发现的目标也叫做节点

3登入节点

以上面被发现的目标为例

# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 -l

其中iqn.1997-05.com.test:raid是目标名

如果要在系统启动时自动登入

# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 --op update -n node.startup -v

php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。

在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。比如前二天笔者在批量处理.rar文件时exec就帮我了大忙了。

今天整理一下常用的调用系统函数发出来和大家分享经验。

注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。

先看一下php手册对这二个函数的解释:

exec ---  执行外部程式 

语法 : string exec ( string command [, array &output [, int &return_var]] ) php程序员之家

说明 :

exec( )执行给予的命令command,不过它并不会输出任何东西,它简单的从命令的结果中传回最后一行,如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。

如果有给予参数array,则指定的数组将会被命令所输出的每一行填满,注意 : 如果数组先前已经包含了一些元素的话,exec( )将会把它附加在数组的后面,如果你不想要此函数附加元素的话,你可以在传递此数组给exec( )之前呼叫unset( )。 php程序员站

如果有给予参数array和return_var,则传回执行的状态命令将会写到这个变量。

注意 : 如果你允许来自使用者输入的

apache2.0 prefork和worker模块性能调优发布时间:2008-01-01 16:29:00  来源: ChinaUnix博客    作者: ChinaUnix博客    点击:426

Apache 2.0在性能上的改善最吸引人。在支持POSIX线程的Unix系统上,Apache可以通过不同的MPM运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能。相比于Apache 1.3,2.0版本做了大量的优化来提升处理能力和可伸缩性,并且大多数改进在默认状态下即可生效。但是在编译和运行时刻,2.0也有许多可以显著提高性能的选择。本文不想叙述那些以功能换取速度的指令,如HostnameLookups等,而只是说明在2.0中影响性能的最核心特性:MPM(Multi -Processing Modules,多道处理模块)的基本工作原理和配置指令。

  毫不夸张地说,MPM的引入是Apache 2.0最重要的变化。大家知道,Apache是基于模块化的设计,而Apache 2.0更扩展了模块化设计到Web服务器的最基本功能。服务器装载了一种多道处理模块,负责绑定本机网络端口、接受请求,并调度子进程来处理请求。扩展模块化设计有两个重要好处:

  ◆ Apache可以更简洁、有效地支持多种操作系统;

  ◆ 服务器可以按站点的特殊需要进行自定制。

  在用户级,MPM看起来和其它Apache模块非常类似。主要区别是在任意时刻只能有一种M