2009年06月9日

Linux下Wget创建镜像站点

用过Linux的应该都知道wget这个命令,这个命令常常用来下载文件,wget还有许多参数,可以完成很多的任务,如今天说的创建镜像站点。

此方法能将所有文件(网页、图片、CSS、音/视频等)都下载下来,并把网页中的链接改为相对链接,这样就避免了镜像中的链接仍旧指向原来的网站而不能正常地显示。

只需要输入:wget -mk -w 20 http://www.example.com/ 命令就行了。

命令行中-w 20代表间隔20秒下载一个文件,这样可以避免网站的访问过于频繁。-m 是镜像

同时也可以使用其他的一些参数:-c 是继续传送 , -p 是下载媒体文件,比如图片, -q 是安静模式, -b 是后台运行

一些其他常用的wget用法:

wget -i filename.txt

此命令常用于批量下载,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

如果你想发掘其中更多的功能的话,建议你去看wget的手册(man wget),在那里你会找到更多的选项,例如随机延迟,设置用户代理,发送cookie到网站上等等。

  • » 阅读全文...
  • 2009年05月13日

    Linux常用性能检测命令

    一、uptime
         Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。
       UP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。
    点击在新窗口中浏览此图片
       你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高,如果不是这个问题更可能出现在你的网络上。
    二、top
       Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息并且每5秒钟刷新一次。你可以通过多种方式分类它们,包括PID、时间和内存使用情况。
    点击在新窗口中浏览此图片
    下面是输出值的介绍:

    引用
    PID:进程标识
    USER;进程所有者的用户名
    PRI:进程的优先级
    NI:nice级别
    SIZE:进程占用的内存数量(代码+数据+堆栈)
    RSS;进程使用的物理内存数量
    SHARE;该进程和其他进程共享内存的数量
    STAT:进程的状态:S=休眠状态,R=运行状态,T=停止状态,D=中断休眠状态,Z=僵尸状态
    %CPU:共享的CPU使用
    %MEM;共享的物理内存
    TIME:进程占用CPU的时间
    COMMAND:启动任务的命令行(包括参数)

    进程的优先级和nice级别
       进程优先级是一个决定进程被CPU执行优先顺序的参数,内核会根据需要调整这个值。Nice值是一个对优先权的限制。进程优先级的值不能低于nice值。(nice值越低优先级越高)
       进程优先级是无法去手动改变的,只有通过改变nice值去间接的调整进程优先级。如果一个进程运行的太慢了,你可以通过指定一个较低的nice值去为它分配更多的CPU资源。当然,这意味着其他的一些进程将被分配更少的CPU资源,运行更慢一些。Linux支持nice值的范围是19(低优先级)到-20(高优先级),默认的值是0。如果需要改变一个进程的nice值为负数(高优先级),必须使用su命令登陆到root用户。下面是一些调整nice值的命令示例,
    以nice值-5开始程序xyz

    #nice –n -5 xyz

    改变已经运行的程序的nice值

    #renice level pid

    将pid为2500的进程的nice值改为10

    #renice 10 2500

    僵尸进程
       当一个进程被结束,在它结束之前通常需要用一些时间去完成所有的任务(比如关闭打开的文件),在一个很短的时间里,这个进程的状态为僵尸状态。在进程完成所有关闭任务之后,会向父进程提交它关闭的信息。有些情况下,一个僵尸进程不能关闭它自己,这时这个进程状态就为z(zombie)。不能使用kill命令杀死僵尸进程,因为它已经标志为“dead”。如果你无法摆脱一个僵尸进程,你可以杀死它的父进程,这个僵尸进程也就消失了。然而,如果父进程是init进程,你不能杀死init进程,因为init是一个重要的系统进程,这种情况下你只能通过一次重新启动服务器来摆脱僵尸进程。也必须分析应用为什么会导致僵死?
    三、iostat
       iostat是sysstat包的一部分。Iostat显示自系统启动后的平均CPU时间(与uptime类似),它也可以显示磁盘子系统的使用情况,iostat可以用来监测CPU利用率和磁盘利用率。
    点击在新窗口中浏览此图片
       CPU利用率分四个部分:

    引用
    %user:user level(应用)的CPU占用率情况
    %nice:加入nice优先级的user level的CPU占用率情况
    %sys:system level(内核)的CPU占用情况
    %idle:空闲的CPU资源情况

       磁盘占用率有下面几个部分:

    引用
    Device:块设备名
    Tps:设备每秒进行传输的数量(每秒的I/O请求)。多个单独的I/O请求可以被组成一个传输操作,因为一个传输操作可以是不同的容量。
    Blk_read/s, Blk_wrtn/s:该设备每秒读写的块的数量。块可能为不同的容量。
    Blk_read, Blk_wrtn:自系统启动以来读写的块设备的总量。

    块的大小
       块可能为不同的容量。块的大小一般为1024、2048、4048byte。可通过tune2fs或dumpe2fs获得:

    引用
    [root@rfgz ~]# tune2fs -l /dev/hda1|grep 'Block size'
    Block size:               4096
    [root@rfgz ~]# dumpe2fs -h /dev/hda1|grep 'Block size'
    dumpe2fs 1.35 (28-Feb-2004)
    Block size:               4096

    四、Vmstat
       Vmstat命令提供了对进程、内存、页面I/O块和CPU等信息的监控,vmstat可以显示检测结果的平均值或者取样值,取样模式可以提供一个取样时间段内不同频率的监测结果。
    点击在新窗口中浏览此图片
    注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比较低的值可以尽可能的减小误差的影响。
    下面介绍一下各列的含义

    引用
    ·process(procs)
    r:等待运行时间的进程数量
    b:处在不可中断睡眠状态的进程
    w:被交换出去但是仍然可以运行的进程,这个值是计算出来的
    ·memoryswpd:虚拟内存的数量
    free:空闲内存的数量
    buff:用做缓冲区的内存数量
    ·swap
    si:从硬盘交换来的数量
    so:交换到硬盘去的数量
    ·IO
    bi:向一个块设备输出的块数量
    bo:从一个块设备接受的块数量
    ·system
    in:每秒发生的中断数量, 包括时钟
    cs:每秒发生的context switches的数量
    ·cpu(整个cpu运行时间的百分比)
    us:非内核代码运行的时间(用户时间,包括nice时间)
    sy:内核代码运行的时间(系统时间)
    id:空闲时间,在Linux 2.5.41之前的内核版本中,这个值包括I/O等待时间;
    wa:等待I/O操作的时间,在Linux 2.5.41之前的内核版本中这个值为0

       Vmstat命令提供了大量的附加参数,下面列举几个十分有用的参数:

    引用
    ·m:显示内核的内存利用率
    ·a:显示内存页面信息,包括活跃和不活跃的内存页面
    ·n:显示报头行,这个参数在使用取样模式并将命令结果输出到一个文件时非常有用。例如root#vmstat –n 2 10以2秒的频率显示10输出结果
    ·当使用-p {分区}时,vmstat提供对I/O结果的统计

    点击在新窗口中浏览此图片

    点击在新窗口中浏览此图片
    五、ps和pstree
       ps和pstree命令是系统分析最常用的基本命令,ps命令提供了一个正在运行的进程的列表,列出进程的数量取决于命令所附加的参数。例如ps –A 命令列出所有进程和它们相应的进程ID(PID),进程的PID是使用其他一些工具之前所必须了解的,例如pmap或者renice。
       在运行java应用的系统上,ps –A 命令的输出很容易就会超过屏幕的显示范围,这样就很难得到所有进程的完整信息。这时,使用pstree命令可以以树状结构来显示所有的进程信息并且可以整合子进程的信息。Pstree命令对分析进程的来源十分有用。
    点击在新窗口中浏览此图片
    六、Numastat
       随着NUMA架构的不断发展,例如eServer xSeries 445及其后续产品eServer xSeries 460,现在NUMA架构已经成为了企业级数据中心的主流。然而,NUMA架构在性能调优方面面临了新的挑战,例如内存分配的问题在NUMA系统之前并没人感兴趣,而Numastat命令提供了一个监测NUMA架构的工具。Numastat命令提供了本地内存与远程内存使用情况的对比和各个节点的内存使用情况。Numa_miss列显示分配失败的本地内存,numa_foreign列显示分配远程内存(访问速度慢)信息,过多的调用远程内存将增加系统的延迟从而影响整个系统的性能。使运行在一个节点上的进程都访问本地内存将极大的改善系统的性能。
    点击在新窗口中浏览此图片
    ※我使用的系统不支持NUMA架构,此图为原文档截图。
    七、sar
       sar程序也是sysstat安装包的一部分。sar命令用于收集、报告和保存系统的信息。Sar命令由三个应用组成:sar,用与显示数据;sa1和sa2,用于收集和存储数据。默认情况下,系统会在crontab中加入自动收集和分析的操作:

    引用
    [root@rfgz ~]# cat /etc/cron.d/sysstat
    # run system activity accounting tool every 10 minutes
    */10 * * * * root /usr/lib/sa/sa1 1 1
    # generate a daily summary of process accounting at 23:53
    53 23 * * * root /usr/lib/sa/sa2 -A

       sar命令所生成的数据保存在/var/log/sa/目录下,数据按照时间保存,可以根据时间来查询相应的性能数据。
       你也可以使用sar在命令行下得到一个实时的执行结果,收集的数据可以包括CPU利用率、内存页面、网络I/O等等。下面的命令表示用sar执行5次,间隔时间为3秒:
    点击在新窗口中浏览此图片
    八、free
       free命令显示系统的所有内存的使用情况,包括空闲内存、被使用的内存和交换内存空间。Free命令显示也包括一些内核使用的缓存和缓冲区的信息。
       当使用free命令的时候,需要记住linux的内存结构和虚拟内存的管理方法,比如空闲内存数量的限制,还有swap空间的使用并不标志一个内存瓶颈的出现。
    点击在新窗口中浏览此图片
    Free命令有用的参数:

    引用
    ·-b,-k,-m和-g分别按照bytes, kilobytes, megabytes, gigabytes显示结果。
    ·-l区别显示low和high内存
    ·-c {count}显示free输出的次数

    九、Pmap
    pmap命令显示一个或者多个进程使用内存的数量,你可以用这个工具来确定服务器上哪个进程占用了过多的内存从而导致内存瓶颈。
    点击在新窗口中浏览此图片
    十、Strace
       strace截取和记录进程的系统调用信息,还包括进程接受的命令信号。这是一个有用的诊断和调试工具,系统管理员可以通过strace来解决程序上的问题。
       命令格式,需要指定需要监测的进程ID。这个多为开发人员使用。

    strace -p <pid>

    十一、ulimit
       可以通过ulimit来控制系统资源的使用。请看以前的日志:使用ulimit和proc去调整系统参数
    十二、Mpstat
       mpstat命令也是sysstat包的一部分。Mpstat命令用于监测一个多CPU系统中每个可用CPU的情况。Mpstat命令可以显示每个CPU或者所有CPU的运行情况,同时也可以像vmstat命令那样使用参数进行一定频率的采样结果的监测。
    点击在新窗口中浏览此图片
    十三、附录
       本文截取和修改自IBM的红皮书Tuning Red Hat Enterprise Linux on IBM eServer xSeries Servers。

  • » 阅读全文...
  • 2009年04月24日

    Linux常用信息查看命令

    系统

    # uname -a               # 查看内核/操作系统/CPU信息
    # head -n 1 /etc/issue   # 查看操作系统版本
    # cat /proc/cpuinfo      # 查看CPU信息
    # hostname               # 查看计算机名
    # lspci -tv              # 列出所有PCI设备
    # lsusb -tv              # 列出所有USB设备
    # lsmod                  # 列出加载的内核模块
    # env                    # 查看环境变量

    资源

    # free -m                # 查看内存使用量和交换区使用量
    # df -h                  # 查看各分区使用情况
    # du -sh <目录名>        # 查看指定目录的大小
    # grep MemTotal /proc/meminfo   # 查看内存总量
    # grep MemFree /proc/meminfo    # 查看空闲内存量
    # uptime                 # 查看系统运行时间、用户数、负载
    # cat /proc/loadavg      # 查看系统负载

    磁盘和分区

    # mount | column -t      # 查看挂接的分区状态
    # fdisk -l               # 查看所有分区
    # swapon -s              # 查看所有交换分区
    # hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
    # dmesg | grep IDE       # 查看启动时IDE设备检测状况

    网络

    # ifconfig               # 查看所有网络接口的属性
    # iptables -L            # 查看防火墙设置
    # route -n               # 查看路由表
    # netstat -lntp          # 查看所有监听端口
    # netstat -antp          # 查看所有已经建立的连接
    # netstat -s             # 查看网络统计信息

    进程

    # ps -ef                 # 查看所有进程
    # top                    # 实时显示进程状态

    用户

    # w                      # 查看活动用户
    # id <用户名>            # 查看指定用户信息
    # last                   # 查看用户登录日志
    # cut -d: -f1 /etc/passwd   # 查看系统所有用户
    # cut -d: -f1 /etc/group    # 查看系统所有组
    # crontab -l             # 查看当前用户的计划任务

    服务

    # chkconfig --list       # 列出所有系统服务
    # chkconfig --list | grep on    # 列出所有启动的系统服务

    程序

    # rpm -qa                # 查看所有安装的软件包
  • » 阅读全文...
  • 2009年03月31日

    删除Linux编译安装的软件

    下午在XLinux(分享Linux)群里有人,如何删除编译安装的MySQL或者其他软件,在这里顺便说一下。

    直接运行下面的命令就行了。

    make   uninstall
    make   clean
    rm -rf mysql   //mysql目录

    如果是编译过程出错,要重新编译
    那就
    make clean
    然后再
    ./configure
    make && make install

  • » 阅读全文...
  • 2009年03月25日

    VPS初始化及Nginx+MySQL+PHP/PHPMyAdmin安装优化

    VPS购买来了,不能就这么放在,对吧。下面给大家说一下VPS买来之后的初始化操作,及Nginx+MySQL+PHP+PHPMyAdmin+eAcelerator这些软件的编译安装。

    一、登录VPS

    登录的方式很多,如果是Linux直接ssh就可以。

    下面以Windows下putty为例:

    putty

    填写上IP或域名,再写个名字,save ,然后Open

    1

    二、安装LNMP

    安装Nginx+MySQL+PHP+PHPMyAdmin+eAcelerator使用LicessLNMP

    有些VPS默认是安装Apahche的,如果安装了,请先执行:yum -y remove httpd

    下面是按照的过程使用的命令,及相关注释(注释用 //,红色加粗为所使用的命令)

    Using username “root”.
    root@67.215.242.196’s password:
    [root@vpser ~]#cd /usr/local/src
    [root@vpser src]#ls
    [root@vpser src]#wget http://licess.googlecode.com/files/LNMP.zip      //下载LNMP文件
    –11:29:51–  http://licess.googlecode.com/files/LNMP.zip
    Resolving licess.googlecode.com… 209.85.173.82
    Connecting to licess.googlecode.com|209.85.173.82|:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: 11261 (11K) [application/x-zip]
    Saving to: `LNMP.zip’

    100%[=======================================>] 11,261      –.-K/s   in 0.1s

    11:29:52 (111 KB/s) - `LNMP.zip’ saved [11261/11261]

    [root@vpser src]#unzip LNMP.zip        //解压LNMP压缩包
    Archive:  LNMP.zip
       creating: LNMP/
       creating: LNMP/conf/
      inflating: LNMP/conf/fcgi.conf
      inflating: LNMP/conf/nginx-load.conf
      inflating: LNMP/conf/nginx-proxy.conf
      inflating: LNMP/conf/nginx.conf
      inflating: LNMP/conf/php-fpm.conf
      inflating: LNMP/down.sh
      inflating: LNMP/install.sh
      inflating: LNMP/opt.sh
      inflating: LNMP/readme.txt
      inflating: LNMP/startup.sh
    [root@vpser src]#cd LNMP
    [root@vpser LNMP]#ls
    conf  down.sh  install.sh  opt.sh  readme.txt  startup.sh
    [root@vpser LNMP]#chmod +x install.sh down.sh        //为install.sh和down.sh添加执行权限
    [root@vpser LNMP]#./down.sh                                                   //下载安装所需的源代码文件
    =========================================================================
    LNMP v0.0.1 for VPS  Written by Licess
    =========================================================================

    For more information please visit http://blog.licess.cn/lnmp/

    start download LNMP package
    ………………………….省略下载过程

    download package finished!

    =========================================================================
    [root@vpser LNMP]#clear
    [root@vpser LNMP]#ls
    conf                          mysql-5.0.22.tar.gz
    down.sh                       nginx-0.7.19.tar.gz
    eaccelerator-0.9.5.3.tar.bz2  opt.sh
    install.sh                    pcre-7.7.tar.gz
    libiconv-1.12.tar.gz          php-5.2.6-fpm-0.5.9.diff.gz
    libmcrypt-2.5.8.tar.gz        php-5.2.6.tar.gz
    mcrypt-2.6.7.tar.gz           phpMyAdmin-3.1.1-all-languages.tar.gz
    memcache-2.2.3.tgz            readme.txt
    mhash-0.9.9.tar.gz            startup.sh
    [root@vpser LNMP#]./install.sh        //开始安装
    =========================================================================
    LNMP v0.0.1 for VPS  Written by Licess
    =========================================================================
    A tool to auto-compile & install Nginx+MySQL+PHP on Linux
    For more information please visit http://blog.licess.cn/lnmp/
    The path of some dirs:
    mysql dir:   /usr/local/mysql
    php dir:     /usr/local/php
    nginx dir:   /usr/local/nginx
    web dir      /web/www

    =========================================================================

    3

    在此步中输入你要绑定的域名,例如:diavps.vpser.net  ,回车确认。
    Please input domain:
    (Default domain: www.lnmp.org):diavps.vpser.net
    ===========================
    domain=diavps.vpser.net
    ===========================

    Press any key to start…                                     \\再次按任意键确认,开始安装
    Loading “fastestmirror” plugin
    ………………………………..

    开始安装……..

    4

    PS:屏幕疯狂的滚动…….欣赏一下

    5

    经过漫长的等待(时间不确定,根据实际情况,我的是半个多小时),终于安装完了。

    6

    下面看一下PHPInfo

    7

    PHPMyAdmin:

    8

    程序安装路径:
    MySQL :   /usr/local/mysql
    PHP :     /usr/local/php
    Nginx :   /usr/local/nginx
    PHPMyAdmin /web/www/phpmyadmin
    Web目录    /web/www

    MySQL  用户:root  密码:root

    通过下面这几个链接查看phpinfo和管理MySQL
    phpinfo    http://ip/phpinfo.php
    phpMyAdmin http://ip/phpmyadmin

    让Nginx开机后手动执行 /root/run.sh 后Nginx会运行 ,开机自动运行可以运行 LNMP目录下面的 startup.sh 文件即可。

    opt.sh 为优化文件,如果内存小于128MB可以通过执行 ./opt.sh 添加swap分区,并修改时区为东8区。注:并不一定在所有的VPS上都可以添加swap分区,swvps不可以,其他没有测试。

    安装完后,请立即修改您的MySQL的root密码,使用命令cd /usr/local/mysql/bin

    再执行:./mysqladmin -u root -p password mypasswd          //mypasswd为自己的密码

    输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
    把命令里的root改为你的用户名,你就可以改你自己的密码了。

    进入phpmyadmin目录/web/www/phpmyadmin  将 config.default.php 修改为config.inc.php

    修改这个文件的 $cfg['Servers'][$i]['auth_type'] = ‘http’;

                                    $cfg['blowfish_secret'] = ‘VPSER’;    //VPSER为任意字符

    保存,然后就可以登录了。

    因为没有安装ftp服务器软件,可以使用winscp这个软件管理文件。

    更详细的关于LNMP的可以看:http://blog.licess.cn/lnmp/

    可能在安装过程中遇到什么问题可以在下面留言。

  • » 阅读全文...
  • 2009年03月7日

    Webfedora-基于LAMP的Web仿Fedora系统

    基于Linux的发行版本的LiveCD,相信大家都用过,挺方便的,但是,基于Web的Linux,比较这个Webfedora就没见过吧,快来看看~

        webfedora是一个基于LAMP(Linux,Apache,Mysql,PHP)平台的一个WEB应用。服务端使用了Apache的Mod_Rewrite模块对URL进行了重写,所有的请求都会重新链接到index.php。然后通过修改的ThinkPHP框架(主要对路由部分进行了重写)来解析URL,执行对应的Module和Action。页面使用了Smarty模板。

        为了减小数据传输的大小,可以使用浏览器的压缩功能。现在的浏览器一般都支持GZIP,DEFLATE压缩,服务端检测支持的压缩类型执行对应的压缩(PHP中有gzdeflate和gzcompress压缩函数)。为了能够让客户端知道用什么编码方式解压缩,需要向客户端发送Content-Encoding头信息。同时向客户端发送Last-Modified的头信息,当客户端发起下一次的请求的时候,如果文件未修改,则直接发送HTTP/1.1 304 Not Modified的头信息,让浏览器读取缓存就可以了。

        对于AJAX的请求,服务端返回的是JSON格式的数据。一方面数据相对XML来说要更小,另一方面客户端对返回的数据eval后就可以处理了,避免了XML解析需要的时间。在PHP5.2.*版本中已经有json_encode和json_decode函数。在本版本中提供了完整的仿fedora8的登陆系统和完整的仿Baidu Hi的webim,在以后的版本中会陆续提供 file system,web terminal,web ttplayer,rss reader,web editplus等服务。

    经过初步的试用,感觉功能方面还不是很完善,很多功能都不能使用,所以,只能是尝尝鲜,等作者继续完善了。

            你可以在这里注册一个账号,然后就可以登陆Fedora啦。界面是不是很像Fedora啊。

            官方网站:http://www.webfedora.com/

  • » 阅读全文...
  • 2009年03月5日

    在线测试你的Linux知识水平

      你是一名linux爱好者吗?不妨来测试下自己的Linux知识,不要天天使用 Linux,一些基本知识却不知道哦,呵呵。
       这个测验共有总共有 90 道题目,注意是全英文的,会考包括人物、系统管理、命令、名称、应用、发行版等等,都是跟linux相关的。

        How well do you know your free software people, apps and commands? Put yourself to the test and see just how much you know - we don't think even Linus Torvalds knows all these...
        在线测试Linux知识水平                          附带上参考答案
  • » 阅读全文...
  • 2009年02月4日

    UnixBench:测试Linux VPS性能

    UnixBench是一款不错的Linux下的VPS性能测试软件,现在说一下具体用法。

    UnixBench 4.10 下载地址:http://soft.vpser.net/test/unixbench/unixbench-4.1.0-wht.tar.gz

    [root@noc ~]# wget http://soft.vpser.net/test/unixbench/unixbench-4.1.0-wht.tar.gz

    [root@noc ~]# tar xzf unixbench-4.1.0-wht.tar.gz
    [root@noc ~]# ls
    unixbench-4.1.0-wht-2  unixbench-4.1.0-wht.tar.gz

    [root@noc ~]# cd unixbench-4.1.0-wht-2/
    [root@noc unixbench-4.1.0-wht-2]# make

    [root@noc unixbench-4.1.0-wht-2]# ./Run

    一下是运行后显示的内容:

    ==============================================================
    BYTE UNIX Benchmarks (Version 4.1-wht.2)
    System -- Linux noc.lnmp.org 2.6.18-92.1.13.el5.028stab059.6 #1 SMP Fri Nov 14 16:01:01 MSK 2008 i686 i686 i386 GNU/Linux
    simfs                  5120000   1581972   3538028  31% /

    Start Benchmark Run: Wed Feb  4 05:11:25 PST 2009
    05:11:25 up 20 days, 21:26,  1 user,  load average: 0.00, 0.00, 0.00

    End Benchmark Run: Wed Feb  4 05:21:40 PST 2009
    05:21:40 up 20 days, 21:37,  1 user,  load average: 15.46, 6.32, 2.72
    INDEX VALUES
    TEST                                        BASELINE     RESULT      INDEX

    Dhrystone 2 using register variables        376783.7 23797779.3      631.6
    Double-Precision Whetstone                      83.1     1407.7      169.4
    Execl Throughput                               188.3    10095.2      536.1
    File Copy 1024 bufsize 2000 maxblocks         2672.0   204163.0      764.1
    File Copy 256 bufsize 500 maxblocks           1077.0    74664.0      693.3
    File Read 4096 bufsize 8000 maxblocks        15382.0  1629641.0     1059.4
    Pipe Throughput                             111814.6  3058960.1      273.6
    Pipe-based Context Switching                 15448.6   887966.3      574.8
    Process Creation                               569.3    26803.0      470.8
    Shell Scripts (8 concurrent)                    44.8     2503.6      558.8
    System Call Overhead                        114433.5  2409758.4      210.6
    =========
    FINAL SCORE                                                     475.4
    [root@noc unixbench-4.1.0-wht-2]#

    我的VPS是www.thenynoc.com的,内存是256MB,分数是475.4,自己感觉这个分数还不错。快去测试一下你的VPS吧。

  • » 阅读全文...
  • 2009年02月2日

    Linux服务器安装后的优化

    我们的服务器并不是安装完成后就可直接托管到机房了,
    而是需要进行一系列的优化配置和安全配置等

       
     1,关闭不需要的服务
        这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,
        这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性
      
        那么哪些服务是肯定要保留的呢?
        在linux机器上通常有四项服务是必须保留的
         iptables
                 linux下强大的防火墙,只要机器需要连到网上,哪里离得开它
         network
                 linux机器的网络,如果不上网可以关闭,只要上网当然要打开它
         sshd
                 这是openssh server,如果你的机器不是本地操作,而是托管到IDC机房,
                  那么访问机器时需要通过这个sshd服务进行
         syslog
                这是linux系统的日志系统,必须要有,
                否则机器出现问题时会找不到原因

        除了这四项必需的服务之外,其他的服务需要保留哪些呢?
        这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)
                                        web服务器,就需要启用apache
      
      
     
      2,关闭不需要的tty
    请编辑你的/etc/inittab
    找到如下一段:
    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问
    此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的
    你用ps auxf这个命令可以看到,是六个进程
    root      3004  0.0  0.0  1892  412 tty1     Ss+  Jun29   0:00 /sbin/mingetty tty1
    root      3037  0.0  0.0  2492  412 tty2     Ss+  Jun29   0:00 /sbin/mingetty tty2
    root      3038  0.0  0.0  2308  412 tty3     Ss+  Jun29   0:00 /sbin/mingetty tty3
    root      3051  0.0  0.0  1812  412 tty4     Ss+  Jun29   0:00 /sbin/mingetty tty4
    root      3056  0.0  0.0  2116  412 tty5     Ss+  Jun29   0:00 /sbin/mingetty tty5
    root      3117  0.0  0.0  2396  412 tty6     Ss+  Jun29   0:00 /sbin/mingetty tty6

    如何关闭这些进程?
    通常我们保留前2个控制台就可以了,
    把后面4个用#注释掉就可以了

    然后无需重启机器,只需要执行 init q 这个命令即可
    init q
    q作为参数的含义:重新执行/etc/inittab中的命令

    3,如何关闭ipv6?

       ipv6目前我们还不需要,但系统安装完成后它会作为模块常驻核心,没有必要,
       可以用这个步骤来关闭它:
       首先编辑网络配置文件:
       vi /etc/sysconfig/network
       修改
       NETWORKING_IPV6=yes

       为
        NETWORKING_IPV6=no

       然后关闭其模块:vi /etc/modprobe.conf
       在文件中添加以下两行
        alias net-pf-10 off
        alias ipv6 off

       修改完成后需重启机器使之生效

    4,如何关闭atime?

        一个linux文件默认有3个时间:
             atime:对此文件的访问时间
             ctime:此文件inode发生变化的时间
             mtime:此文件的修改时间

      如果有多个小文件时通常没有必要记录文件的访问时间,
      这样可以减少磁盘的io,比如web服务器的页面上有多个小图片
     
      如何进行设置呢?
      修改文件系统的配置文件:vi /etc/fstab
      在包含大量小文件的分区中使用noatime,nodiratime两项
      例如:
      /dev/md5                /data/pics1           ext3    noatime,nodiratime 0 0
      
      这样文件被访问时就不会再产生写磁盘的io

    5,一定要让你的服务器运行在level 3上
      做法:
          vi /etc/inittab
           
          id:3:initdefault:
      让服务器运行X是没有必要的

        6,优化sshd
         
              X11Forwarding no        //不进行x图形的转发
              UseDNS no               //不对IP地址做反向的解析
                 
        7,优化shell
             修改命令history记录
              # vi /etc/profile
             找到 HISTSIZE=1000 改为 HISTSIZE=100
             然后 source /etc/profile

  • » 阅读全文...
  • 2009年01月9日

    CentOS 5.2安装以后的一些初始化操作

    1、建立一个普通权限的用户
    因为root用户对系统具有全权的操作权限,为了避免一些失误的操作,建议在一般情况下,以一般用户登录系统,必要的时候需要root操作权限时,再通过“su -”命令来登录为root用户进行操作。
    useradd pysche
    passwd pysche
    usermod -G wheel pysche
    修改pam配置,使非wheel组用户不能使用su命令登录为root:
    vi /etc/pam.d/su
    找到
    #auth required /lib/security/$ISA/pam_wheel.so use_uid
    将行首的 # 去掉。
    然后
    vi /etc/login.defs
    在文件末尾加上
    SU_WHEEL_ONLY yes
    2、安装yum加速工具,并更新系统
    yum install yum-fastestmirror -y
    yum upgrade -y
    3、安装mlocate工具
    yum install mlocate -y
    4、root邮件的修改
    在系统出现错误或有重要通知发送邮件给root的时候,让系统自动转送到我们通常使用的邮箱中,这样方便查阅相关报告和日志。
    vi /etc/aliases
    在文件末尾加上
    root: pysche@ipbfans.org
    5、locate命令设置
    vi /etc/updatedb.conf
    在末尾增加
    DAILY_UPDATE=yes
    然后运行
    updatedb
    6、关闭不必要的服务
    比如cups
    /etc/init.d/cups stop
    chkconfig cups off
    除了以下服务以外,其他服务默认的都可以采用刚才的方法关闭:
    atd
    crond
    irqbalance
    lvm2-monitor
    microcode_ctl
    network
    sendmail
    sshd
    syslog
    7、停止ipv6
    vi /etc/modprobe.conf
    在文件末尾加上
    alias net-pf-10 off
    alias ipv6 off
    8、关闭SELinux
    vi /etc/selinux/config
    将其中的
    SELINUX=enforcing
    改为
    SELINUX=disabled
    9、安装sudo工具
    yum install sudo -y
    安装好了以后,修改sudo的配置
    vi /etc/sudousers
    # %wheel ALL=(ALL) NOPASSWORD:ALL
    去掉前面的 # , 然后保存文件。
    这样修改了以后,只有所有属于wheel组的用户能执行sudo命令,并且执行sudo命令时只需要输入自己的密码即可。
    10、修改SSH配置
    vi /etc/ssh/sshd_config
    增加ServerKey的强度
    找到
    #ServerKeyBits 768
    改为
    ServerKeyBits 1024
    不允许root用户直接登录
    #PermitRootLogin Yes
    改为
    PermitRootLogin no
    禁止空密码登录
    找到
    #PermitEmptyPasswords no
    去掉前面的 #
    全部修改完了以后,重启服务器
    init 6
  • » 阅读全文...