国产欧美一区二区精品行性色_91精品午夜在线观看_亚洲精品无码激情国产_91精品啪在线观看国产城中村_91看片国产一区二区色欲

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

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

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

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

  一、編譯選項

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

  對于CPU i686或PentiumPro、Pentium II、Pentium III等:

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

  對于CPU i586或Pentium:

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

  對于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

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

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

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

  一般的 Linux 發(fā)行商發(fā)布的 Linux 版本,其內(nèi)核總是會帶有一些對你來說不是很實(shí)用的東西,例如對HAM Radio的支持,對 Token Ring 的支持等。可以查看下面的兩個網(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) 等都是很棒的程序,但是如果你不會使用他們,干嗎要讓他們占用您寶貴的資源呢?而且,這些程序都會帶來安全隱患。一般說來,一套“干凈”的 Linux 系統(tǒng),只需要gpm, network, syslog, ssh 和 xfs。如果臨時有需要,就手工啟動好了。這些啟動腳本一般都在 /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)之前,您就需要對硬盤做好恰當(dāng)?shù)囊?guī)劃。劃分一定的文件系統(tǒng),不僅僅是系統(tǒng)本身的需要,而且在安全層面上也十分有意義。在Linux系統(tǒng)中,我們可以自由地組織磁盤分區(qū)。一個優(yōu)化的分區(qū)策略,可以很好地改進(jìn)Linux系統(tǒng)的性能,減少磁盤碎片,提高磁盤I/O能力。根據(jù)磁盤的特點(diǎn),我們知道越是靠磁盤外部的柱面,旋轉(zhuǎn)越快,而且每次旋轉(zhuǎn)時,磁盤讀寫頭可以覆蓋較多的區(qū)域,也就意味著靠外部的柱面可以得到較好的性能。所以在分區(qū)時,我們應(yīng)該考慮將訪問頻率高的,對系統(tǒng)性能影響相對較大的分區(qū)置于磁盤的靠外部分。同時,為了減少磁盤碎片,應(yīng)將內(nèi)容經(jīng)常改變的目錄放在單獨(dú)的分區(qū)。從方便備份數(shù)據(jù)的角度考慮,因為很多備份工具對整個分區(qū)進(jìn)行備份的效率要高,所以我們應(yīng)將Linux系統(tǒng)的幾個主要的目錄作為單獨(dú)的文件系統(tǒng),為它們各自分配一個區(qū)。推薦的分區(qū)策略如圖一:

  在上圖中,磁盤還有一部分未分區(qū)的空間,為什么不在安裝系統(tǒng)時,將整個磁盤分區(qū)呢?現(xiàn)在的硬盤空間比較大,而在安裝系統(tǒng)時,也許你所安裝的文件加上以后增長所需要的空間用不到整個磁盤存儲空間。保留一部分未分區(qū)空間,當(dāng)以后有新的需要時,就可以用fdisk重新將之分區(qū)。在分區(qū)時,需要注意的是,根據(jù)系統(tǒng)將來運(yùn)行的需要或過去的經(jīng)驗來估計各個分區(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ū)時你就可以考慮去掉交換分區(qū)。不過作為一個Linux服務(wù)器,即使你的內(nèi)存足夠大,還是應(yīng)該設(shè)置交換分區(qū)。如果有多個硬盤的話,可以在每個硬盤上各開 swap 分區(qū),另外,建議 swap 分區(qū)的大小為物理內(nèi)存的兩倍。

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

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

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

  選項說明:

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

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

  ③ d1:打開DMA模式。

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

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

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

  # /sbin/hdparm /dev/hda

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

  # /sbin/hdparm -tT /dev/hda

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

  # /sbin/hdparm -k1 /dev/hda

  3、Linux下使用軟RAID

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

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

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

  編輯/etc/raidtab文件 創(chuàng)建/etc/raidtab文件以描述RAID陣列的配置信息。Linux 內(nèi)核使用這些信息在引導(dǎo)時自動檢測并啟動 RAID 陣列,因此必須對創(chuàng)建的每個 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" 條目指明要創(chuàng)建的 RAID 陣列;"nr-raid-disks" 指定陣列中的磁盤數(shù)目;"persistent-superblock" 設(shè)置為 1,告訴 raid 工具何時創(chuàng)建該卷;"chunk-size" 以K字節(jié)指定 RAID0 使用的塊大小;最后,要指定的是組成該陣列的設(shè)備即分區(qū)。

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


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


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

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

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

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