无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補(bǔ)償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    Linux通用系統(tǒng)優(yōu)化 (1)

    發(fā)布時(shí)間:  2012/8/14 19:42:07

      針對(duì)系統(tǒng)的優(yōu)化工作需要根據(jù)不同的系統(tǒng)采用不同的辦法。本文旨在描述通用的優(yōu)化 Linux 的一些辦法。

      一、編譯選項(xiàng)

      “etc/profile”文件含有系統(tǒng)大量的環(huán)境和啟動(dòng)程序的配置信息。你在該文件中進(jìn)行的配置,可以通過申請(qǐng)全局環(huán)境變量來實(shí)現(xiàn)。因此,在該文件中設(shè)置優(yōu)化標(biāo)志,是一種明智的選擇。要想使x86程序獲得最佳性能,可以在編譯時(shí),使用最佳的優(yōu)化選項(xiàng)-O9 。許多程序的“Makefile”文件中已經(jīng)含有-O2選項(xiàng),而-O9使編譯器采用最高級(jí)別的優(yōu)化。盡管它將增加最終程序的大小,但這樣可以獲得更高的運(yùn)行速度。編譯時(shí),使用“-fomit-frame-pointer”選項(xiàng),程序運(yùn)行時(shí),訪問變量時(shí)將使用堆棧。但是,使用這一選項(xiàng),生產(chǎn)的代碼將無法調(diào)試。使用“-mcpu=cpu_type”和“-march=cpu_type”選項(xiàng),Gcc將針對(duì)這種型號(hào)CPU進(jìn)行專門的優(yōu)化,但生成的代碼只能在所指定的CPU或更高系列的CPU上運(yùn)行。當(dāng)我們采用 -O9 來編譯程序時(shí),或許文件字節(jié)數(shù)是最大的,但是往往其運(yùn)行速度也是最快的。根據(jù)不同的機(jī)器架構(gòu),你可以把下面的語句加入 /etc/profile 。

      對(duì)于CPU i686或PentiumPro、Pentium II、Pentium III等:

      CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions'

      對(duì)于CPU i586或Pentium:

      CFLAGS='-O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions'

      對(duì)于CPU i486:

      FLAGS='-O3 -funroll-all-loops -malign-double -mcpu=i486 -march=i486 -fomit-frame-pointer -fno-exceptions'

      在進(jìn)行完以上設(shè)置之后,緊接者著把“CFLAGS LANG LESSCHARSET”加入到“etc/profile”文件中的“export”行中:

      export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL INPUTRC CFLAGS LANG LESSCHARSET

      然后,重新登錄,這時(shí),環(huán)境變量CFLAGS已經(jīng)被賦值,編譯器和其它配置工具可以使用它。對(duì)Pentium(Pro/II/III)的優(yōu)化必須使用egcs或pgcc編譯器。Linux的缺省安裝中,已經(jīng)裝上了egcs,所以無需擔(dān)心。

      另外,安裝程序時(shí),使用 tarball 格式總要比 RPM 格式來得好,因?yàn)椋?tarball 需要重新編譯,能針對(duì)你的機(jī)器架構(gòu)作優(yōu)化,得到最好的性能。

      二、重新編譯內(nèi)核

      一般的 Linux 發(fā)行商發(fā)布的 Linux 版本,其內(nèi)核總是會(huì)帶有一些對(duì)你來說不是很實(shí)用的東西,例如對(duì)HAM Radio的支持,對(duì) Token Ring 的支持等?梢圆榭聪旅娴膬蓚(gè)網(wǎng)站的資料:

      Linux Kernel Howto: www.linuxdoc.org/HOWTO/Kernel-HOWTO.html

      Linux Kernel : www.kernel.org

      編輯/usr/src/linux/Makefile文件,可以根據(jù)具體的cpu優(yōu)化內(nèi)核編譯。以下的參數(shù)設(shè)置將得到優(yōu)化的內(nèi)核性能。

     、 vi +18 /usr/src/linux/Makefile ,將HOSTCC =gcc改為 HOSTCC =egcs.

     、 vi +25 /usr/src/linux/Makefile

      將CC =$(CROSS_COMPILE)gcc D__KERNEL__ -I$(HPATH)

      改為 CC =$(CROSS_COMPILE)egcs D__KERNEL__ -I$(HPATH).

     、 vi +90 /usr/src/linux/Makefile

      將CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

      改為CFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions

     、 vi +19 /usr/src/linux/Makefile

      將HOSTCFLAGS =-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

      改為HOSTCFLAGS =-Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions

      根據(jù)以上修改后的makefile文件重新編譯內(nèi)核將得到較優(yōu)的性能。

      三、停止不使用的服務(wù)

      Sendmail, httpd, crond, kudzu, mysql, portmap, postgresql, smb, snortd, webmin, inetd (或者 xinetd) 等都是很棒的程序,但是如果你不會(huì)使用他們,干嗎要讓他們占用您寶貴的資源呢?而且,這些程序都會(huì)帶來安全隱患。一般說來,一套“干凈”的 Linux 系統(tǒng),只需要gpm, network, syslog, ssh 和 xfs。如果臨時(shí)有需要,就手工啟動(dòng)好了。這些啟動(dòng)腳本一般都在 /etc/rc.d/init.d 目錄下。

      檢查自己的機(jī)器上使用中的服務(wù),可以采用 nmap 工具掃描。

      [xyj@freelamp.com]$ nmap -p1-65535 211.94.129.28

      Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )

      Interesting ports on freelamp.com (211.94.129.28):

      (The 65492 ports scanned but not shown below are in state: closed)

      ---Edited version of the output due to space considerations--

      Port State Service

      ...

      514/tcp open shell

      1025/tcp open listen

      1099/tcp open unknown

      1214/tcp open unknown

      ...

      檢查特定端口上正在運(yùn)行的程序名,可以采用:

      [root@freelamp.com /root]# netstat -anp|more

      Active Internet connections (servers and established)

      Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

      ....

      tcp 0 0 203.199.66.200:8007 203.199.66.197:1060 CLOSE 1005/java

      tcp 0 0 203.199.66.200:22 203.199.66.197:3768 ESTABLISHED 1381/sshd

      tcp 0 0 203.199.66.200:23 192.168.57.46:1546 ESTABLISHED 1229/in.telnetd: 19

      ....

      最后一列顯示運(yùn)行的程序及其 PID。

      我們還可以采用 ps 命令檢查機(jī)器上正在運(yùn)行的守護(hù)程序:

      [root@freelamp.com root]# ps xc -u 0

      PID TTY STAT TIME COMMAND

      ...

      1475 ? S 0:02 sendmail

      1498 ? S 0:04 gpm

      16539 ? S 0:01 httpd

      ...

      四、優(yōu)化磁盤

      1、優(yōu)化分區(qū)

      在安裝系統(tǒng)之前,您就需要對(duì)硬盤做好恰當(dāng)?shù)囊?guī)劃。劃分一定的文件系統(tǒng),不僅僅是系統(tǒng)本身的需要,而且在安全層面上也十分有意義。在Linux系統(tǒng)中,我們可以自由地組織磁盤分區(qū)。一個(gè)優(yōu)化的分區(qū)策略,可以很好地改進(jìn)Linux系統(tǒng)的性能,減少磁盤碎片,提高磁盤I/O能力。根據(jù)磁盤的特點(diǎn),我們知道越是靠磁盤外部的柱面,旋轉(zhuǎn)越快,而且每次旋轉(zhuǎn)時(shí),磁盤讀寫頭可以覆蓋較多的區(qū)域,也就意味著靠外部的柱面可以得到較好的性能。所以在分區(qū)時(shí),我們應(yīng)該考慮將訪問頻率高的,對(duì)系統(tǒng)性能影響相對(duì)較大的分區(qū)置于磁盤的靠外部分。同時(shí),為了減少磁盤碎片,應(yīng)將內(nèi)容經(jīng)常改變的目錄放在單獨(dú)的分區(qū)。從方便備份數(shù)據(jù)的角度考慮,因?yàn)楹芏鄠浞莨ぞ邔?duì)整個(gè)分區(qū)進(jìn)行備份的效率要高,所以我們應(yīng)將Linux系統(tǒng)的幾個(gè)主要的目錄作為單獨(dú)的文件系統(tǒng),為它們各自分配一個(gè)區(qū)。推薦的分區(qū)策略如圖一:

      在上圖中,磁盤還有一部分未分區(qū)的空間,為什么不在安裝系統(tǒng)時(shí),將整個(gè)磁盤分區(qū)呢?現(xiàn)在的硬盤空間比較大,而在安裝系統(tǒng)時(shí),也許你所安裝的文件加上以后增長(zhǎng)所需要的空間用不到整個(gè)磁盤存儲(chǔ)空間。保留一部分未分區(qū)空間,當(dāng)以后有新的需要時(shí),就可以用fdisk重新將之分區(qū)。在分區(qū)時(shí),需要注意的是,根據(jù)系統(tǒng)將來運(yùn)行的需要或過去的經(jīng)驗(yàn)來估計(jì)各個(gè)分區(qū)的大小,以免將來空間不夠。

      /dev/hda5 swap swap defaults,pri=5 0 0

      /dev/hdc5 swap swap defaults,pri=5 0 0

      當(dāng)然,如果你的系統(tǒng)內(nèi)存足夠大,而你的系統(tǒng)又遠(yuǎn)遠(yuǎn)用不了那么多的內(nèi)存,那也就用不到什么虛存了。分區(qū)時(shí)你就可以考慮去掉交換分區(qū)。不過作為一個(gè)Linux服務(wù)器,即使你的內(nèi)存足夠大,還是應(yīng)該設(shè)置交換分區(qū)。如果有多個(gè)硬盤的話,可以在每個(gè)硬盤上各開 swap 分區(qū),另外,建議 swap 分區(qū)的大小為物理內(nèi)存的兩倍。

      2、使用hdparm改善Linux系統(tǒng)性能

      如果你的Linux系統(tǒng)運(yùn)行于IDE硬盤,可以使用hdparm工具來提高磁盤I/O的性能。不過使用hdparm要小心,因?yàn)榭赡芷茐挠脖P上的數(shù)據(jù)。所以在使用hdparm之前,仔細(xì)閱讀你的硬盤手冊(cè)。根據(jù)你具體的硬盤規(guī)格來使用相應(yīng)的hdparm開關(guān)參數(shù)。對(duì)一塊UltraATA/66 EIDE 硬盤,其控制芯片支持多 PIO 模式和DMA,我們使用以下命令來調(diào)諧磁盤性能:

      # /sbin/hdparm -x66 -d1 -u1 -m16 -c3 /dev/hda

      選項(xiàng)說明:

      ① c3 :就是把硬盤的16位格式轉(zhuǎn)換為32位模式(32-bit mode w/sync)?刂茢(shù)據(jù)如何從pci總線傳遞到控制器。

     、 m16 :改變硬盤的多路扇區(qū)的讀功能,-m16可以使得硬盤在一次i/o中斷中讀入16個(gè)扇區(qū)的數(shù)據(jù)(據(jù)具體硬盤而定)。

     、 d1:打開DMA模式。

     、 x66 :在支持UDMA-capable的硬盤中,這個(gè)參數(shù)可以支持雙DMA通道的數(shù)據(jù)傳輸模式。

     、 u1 :Linux在處理磁盤中斷時(shí),可以u(píng)nmask其他的中斷或者響應(yīng)其他中斷相關(guān)的任務(wù)。

      查看以上的更改情況可以使用命令:

      # /sbin/hdparm /dev/hda

      測(cè)試磁盤I/O性能可以使用命令:

      # /sbin/hdparm -tT /dev/hda

      如果磁盤的性能有改進(jìn)的話,可以使用以下命令來保存設(shè)置:

      # /sbin/hdparm -k1 /dev/hda

      3、Linux下使用軟RAID

      RAID(磁盤冗余陣列)是通過將數(shù)據(jù)分布在多個(gè)磁盤上來增強(qiáng)磁盤性能和可靠性的技術(shù)。如果你的系統(tǒng)沒有硬件RAID控制器的話,在Linux下可以通過軟件來實(shí)現(xiàn)RAID。RAID的有很多的級(jí)別,不同的級(jí)別對(duì)硬件有不同的要求,相應(yīng)也會(huì)得到不同的性能和可靠性。RAID0為數(shù)據(jù)分割,數(shù)據(jù)塊被交替寫到磁盤,可以得到最好的讀寫性能,但是不提供數(shù)據(jù)冗余。RAID1為磁盤鏡像,寫到磁盤1中的一切也寫到磁盤2中,從任何一個(gè)磁盤都可以讀取。RAID3除了數(shù)據(jù)分割之外,還指定一個(gè)磁盤驅(qū)動(dòng)器來存儲(chǔ)奇偶信息。

      在LINUX下通過軟件來實(shí)現(xiàn)RAID, 需要LINUX的內(nèi)核支持,可以通過編譯新內(nèi)核來添加對(duì)RAID的支持。然后還需編譯并安裝 raidtools 軟件包。raidtools 是可以初始化、啟動(dòng)、停止及控制 RAID 陣列的用戶級(jí)工具。下面是我們用兩塊IDE硬盤在LINUX內(nèi)核2.4上實(shí)現(xiàn)RAID0的方法。

      設(shè)置分區(qū) 使用RAID0至少需要兩個(gè)分區(qū),它們位于不同的磁盤。最好做RAID0的兩個(gè)分區(qū)有相同的大小。創(chuàng)建分區(qū)時(shí),將分區(qū)類型指定為 "FD"。以使 Linux 內(nèi)核能將它們識(shí)別為 RAID 分區(qū),這樣,這些分區(qū)就可在每次引導(dǎo)時(shí)自動(dòng)被檢測(cè)并啟動(dòng)。如果您沒有以這種方式標(biāo)記 RAID 分區(qū),則在每次引導(dǎo)之后,必須首先輸入 "raidstart --all" 才能掛載 RAID 陣列。我們做成RAID0的兩個(gè)分區(qū)為hda5和hdc5。

      編輯/etc/raidtab文件 創(chuàng)建/etc/raidtab文件以描述RAID陣列的配置信息。Linux 內(nèi)核使用這些信息在引導(dǎo)時(shí)自動(dòng)檢測(cè)并啟動(dòng) RAID 陣列,因此必須對(duì)創(chuàng)建的每個(gè) RAID 陣列進(jìn)行這種配置。將分區(qū)hda5和hdc5組成md0 RAID0陣列的配置文件如下:

      raiddev /dev/md0

      raid-level 0

      nr-raid-disks 2

      persistent-superblock 1

      chunk-size 32

      device /dev/hda5

      raid-disk 0

      device /dev/hdc5

      raid-disk 1

      在raidtab文件中,"raiddev" 條目指明要?jiǎng)?chuàng)建的 RAID 陣列;"nr-raid-disks" 指定陣列中的磁盤數(shù)目;"persistent-superblock" 設(shè)置為 1,告訴 raid 工具何時(shí)創(chuàng)建該卷;"chunk-size" 以K字節(jié)指定 RAID0 使用的塊大;最后,要指定的是組成該陣列的設(shè)備即分區(qū)。

      mkraid 和創(chuàng)建文件系統(tǒng) 使用命令"# mkraid /dev/md0" 命令初始化/dev/md0分區(qū),


    億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
       聯(lián)系:億恩小凡
       QQ:89317007
       電話:0371-63322206


    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線