亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Unix > 正文

UNIX 系統性能優化

2024-09-08 18:01:04
字體:
來源:轉載
供稿:網友

級別: 中級

William B. Zimmerly (bill@zimmerly.com), 自由作家和知識工程師, 作者
 

2006 年 5 月 25 日

本文介紹如何對您的計算機進行優化,并研究一些關于服務器性能優化的通用規則。計算機就好像為您完成任務的雇員,最好不要讓它們負擔過重。避免這種情況發生的方法之一就是仔細地對計算機上運行的進程進行優化。UNIX® nice 命令對于完成該工作是很有用的。

在您繼續探索 UNIX? 廣袤領域的過程中,請將注意力轉向有關多任務的問題?,F代計算機,就像您的敏捷而高效的雇員,擁有非常高速的內存,這使得它們可以在內存中同時容納成百上千個單獨的程序。

內存中的程序通常有許多不同的名稱,包括線程、進程、守護進程、內核、庫、共享對象等等。如果您想了解這種看似雜亂的現象中的基礎規則,那么拿起您的彎刀,劈開擋住去路的荊棘。您會發現內存中的程序都是具有共同特征的簡單二進制模式:它們擁有各自的運行上下文。為了簡單起見,在本文中將它們都稱為任務。

操作系統的任務切換程序,也稱為調度程序,用來完成下列工作:

1. 將任務的上下文加載到中央處理器 (CPU) 寄存器。
2. 讓任務運行一小段時間。
3. 在加載下一個任務的上下文之前,保存該任務的上下文。

調度程序維護了大量的內部表以管理系統中每個運行任務的上下文。它還使用稱為運行隊列 和睡眠隊列 的一對隊列來對資源進行管理。運行隊列中的任務已經獲得它們所需的所有資源。睡眠隊列中的任務則等待獲得一個或多個資源。通常,調度程序確保系統以有序的并能作出快速響應的方式運行。

所有的信息都保存在上下文中

運行任務的上下文由許多內容組成。當任務運行時,有一個稱為指令指針 (IP) 的 CPU 寄存器,它包含了當前正在執行的機器代碼指令的內存地址。當任務被換出時,任務切換程序必須保存這個 IP 寄存器的值,以便在該任務以后被再次換入時可以重新加載它。因此,當前 IP 值是任務上下文中的一部分。

組成任務上下文的另一個重要的值是堆棧指針 (SP)。堆棧是一個后進先出 (LIFO) 隊列,它保存了子例程的返回地址、數據項、指針等等。根據程序員的詳細設計,由操作這些數據項的指令來確定堆棧中每一項的具體含義。

IP 和 SP,加上組成運行任務上下文的所有其他重要 CPU 寄存器,這些都是任務切換程序用來切換上下文并運行不同任務的底層細節信息。任務切換程序還可以利用更高層次的細節信息。任務的優先級是這些更高層次細節信息之一。

優先級

程序在創建時并不是平等的。有些對計算機本身的操作至關重要的程序必須比其他次要的程序具有更高的優先級。在 UNIX 系統方案中,使用從 -20 到 +19 的一個可變數值來表示優先級,這個數值又稱為任務的 nice 數值。具有最高優先級的程序,其 nice 值最低,所以在 UNIX 系統方案中,值 -20 使得一項任務變得非常重要。與之相反,如果任務的 nice 為 +19,則表示它是一個高尚的、無私的任務,允許所有其他任務比自己享有寶貴的 CPU 時間的更大使用份額。

UNIX 提供了許多強大的工具,可以在任何時候查看計算機中正在運行的任務的細節,ps 命令可用來提供這些細節信息。啟動一個 xterm 并輸入下面的命令以查看程序的 nice:

$ ps -eo pid,state,nice,args | less -S


該命令所生成的輸出,如下面的清單 1 所示。

清單 1. 輸出

PID S NI COMMAND
1 S 0 init [5]
2 S 19 [ksoftirqd/0]
3 S -10 [events/0]
4 S -10 [khelper]
5 S -10 [kblockd/0]
28 S 0 [kapmd]
30 S 0 [pdflush]
31 S 0 [pdflush]
33 S -10 [aio/0]
32 S 0 [kswapd0]
138 S 0 [kseriod]
176 S 0 [kjournald]
1080 S 0 [kjournald]
1081 S 0 [kjournald]
1082 S 0 [kjournald]
1564 S 0 /sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0...
1610 S 0 syslogd -m 0
1614 S 0 klogd -x
1632 S 0 portmap
1651 S 0 rpc.statd
1729 S 0 /usr/sbin/sshd
1744 S 0 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
1760 S 0 ntpd -U ntp
.
.
.
2364 S 0 konsole
2373 S 0 /bin/bash
2563 R 0 ps -eo pid,state,nice,args


在我的工作站上,共生成了 84 行輸出。這表示當時 ps 任務正在運行,它僅僅是那些爭用 CPU 上的運行時間的 84 個不同任務的其中之一。現在來研究一下該命令中的部分內容,以便更好地理解系統輸出的含義。-eo pid、state 和 nice args 開關告訴 ps 任務列出系統中每項運行任務的下列信息:

* 進程 ID (pid)
* 任務處于運行還是睡眠狀態 (state)
* Nice 數值 (nice)
* 調用任務時的參數 (args)

帶 -S 開關的 less 命令通過將列表中的每行限制為 xterm 的寬度,從而創建了一個整潔、漂亮的列表。

其中大部分任務的 nice 值為“0”,這使得它們處于優先級范圍的正中間。有少數運行任務的 nice 數值為 -10 或 19,這使得它們分別具有高的或低的優先級。同時,大多數任務處于睡眠狀態,這表明它們正等待著獲得某種資源。事實上,在我生成該列表時,只有 ps 命令在運行。大多數任務都是用來快速地完成它們所需執行的操作,然后退出或睡眠。

Nice 和 renice

nice 命令根據給定的 nice 數值來執行其參數中指定的命令。而 renice 命令則用來更改任務的 nice 數值。關于這些命令開關的詳細信息,請參閱每個命令的 man 頁面。

UNIX 計算機主要分為兩大類:工作站和服務器。需要對它們所運行的進程加以關注,以確保有限的資源不會被重復執行且對預定目標并不重要的任務浪費。

工作站

因為工作站可以用來完成各種各樣的任務,所以對于每個工作站的優化,沒有固定的規則。有些工作站用來進行編程、藝術圖形設計、繁重的數值計算和數據挖掘。在所有情況下,如果您能夠在完成所需活動的同時查看正在運行的進程,并對工作站進行相應的優化,那么這將是很有幫助的。

例如,在程序員的工作站上,編譯和連接某些程序可能花費數小時。如果程序員想不惜一切代價地加速其執行過程,那么可以使用超級用戶登錄,并按照如下命令啟動編譯任務:

$ su
Password:

# nice -n -15 make


參數 -n -15 將 make 任務的 nice 數值降低了 15,這就大大提高了它的優先級,以至于您在屏幕上移動鼠標時能夠確切地感受到這一點。在大多數系統中,只有超級用戶帳戶才能夠對任務進行這種優先級的更改。盡管如此,對于運行長進程的工作站來說,這是值得的。

另一種進行工作站性能優化的重要方法是標識出您并不使用但卻有可能在工作站上運行的特性和功能。例如,許多 Linux? 系統都有一個稱為 /etc/cron.daily/slocate.cron 的文件,它每天都會運行磁盤密集型的 dbupdate 程序。這個程序允許您使用 locate 命令來代替 find 命令,以執行查找文件的工作。如果您從來都不使用 locate 命令,那么您可以對 /etc/cron.daily/slocate.cron 文件進行編輯,以使 dbupdate 程序不以超級用戶的身份運行,啟動您最喜歡的編輯器,并且注釋其中的指令,如下面的清單 2 所示。

清單 2. /etc/cron.daily/slocate.cron 文件

$ su
Password:

# cd /etc/cron.daily

# vi slocate.cron


清單 3 顯示了在您完成注釋工作后該文件中的內容。每行開始處的英鎊標記阻止了該命令的運行。

清單 3. 文件結果

#!/bin/sh
# renice +19 -p $$ >/dev/null 2>&1
# /usr/bin/updatedb -f "nfs,proc,devpts" -e "/tmp,/var/tmp,/usr/tmp,/afs,/net"


請記住,這也是關于個人首選參數設置的問題。如果您的計算機屬于雇主,那么我并不建議在沒有管理許可的情況下進行這樣的更改。畢竟,當您不在的時候,系統管理員可能打算使用 locate 命令。

服務器

與工作站不同,服務器通常具有明確定義的用途,因此更容易進行優化。例如,Web 服務器的主要職責是接收和響應來自 Internet 上的瀏覽器請求。與之類似,文件服務器則必須迅速而準確地分發所請求的文件。在這兩種情況下,服務器不應該執行通常分配給工作站的那些任務。

如果服務器專門用于某個主要功能,如 Web 服務器,那么請對配置文件進行編輯以去掉任何其他的服務。通常,Web 服務器會運行 ftp、nfs、dhcp、dns 和其他非必需的守護進程。計算機所需共享的資源越少,那么它對其主要任務的響應能力越高。作為回報,安全性也更高,因為可供攻擊的漏洞更少。

本文為服務器性能優化提供了一些通用規則。有關詳細信息,請查閱參考資料部分中的鏈接。

結束語

如果您對工作站和服務器上所運行的進程進行仔細地優化,包括設置適當的任務優先級以及移除浪費資源的任務,那么您的計算機將繼續作為您稱職的和忠實的雇員。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲精品视频| 69精品小视频| 欧美在线视频观看| 国产色视频一区| 国产精品久久精品| 国产精品老牛影院在线观看| 中文字幕在线观看日韩| 亚洲人成网站777色婷婷| 亚洲色图综合久久| 欧美一区二区大胆人体摄影专业网站| 日韩欧美大尺度| 国产精品日韩欧美大师| 久久av红桃一区二区小说| 亚洲精品自在久久| 国产精品揄拍500视频| 国产精品高精视频免费| 久久亚洲精品成人| 日本一区二区在线免费播放| 色吧影院999| 色99之美女主播在线视频| 亚洲一区二区三区在线免费观看| 国产日韩欧美夫妻视频在线观看| 亚洲第一页在线| 欧美性xxxxxx| 国产网站欧美日韩免费精品在线观看| 亚洲二区在线播放视频| 亚洲欧美日韩精品久久奇米色影视| 91高潮精品免费porn| 97色在线观看免费视频| 欧美一级在线播放| 欧美大全免费观看电视剧大泉洋| 亚洲国产天堂久久国产91| 中文字幕精品在线视频| 最近2019中文免费高清视频观看www99| 亚洲三级免费看| 久久综合色影院| 亚洲乱码国产乱码精品精| 色妞色视频一区二区三区四区| 久久久av免费| 亚洲精品国产精品乱码不99按摩| 精品欧美一区二区三区| 亚洲精品在线视频| 欧美裸体xxxx极品少妇| 91最新国产视频| 国产精品久久久久久av福利软件| 欧美激情视频三区| 精品国产1区2区| 亚洲性线免费观看视频成熟| 最近的2019中文字幕免费一页| 久久福利视频网| 国产精品无码专区在线观看| 久久久日本电影| 日本不卡高字幕在线2019| 国产欧美最新羞羞视频在线观看| 国产91亚洲精品| 欧美精品少妇videofree| 久久精品国亚洲| 亚洲男人天堂久| 日本伊人精品一区二区三区介绍| 日韩av色综合| 成人av在线亚洲| 国产亚洲精品久久久优势| 91最新国产视频| 久久国产精品网站| 国产91成人video| 国产免费久久av| 亚洲一区二区黄| 91香蕉嫩草神马影院在线观看| 午夜精品久久久久久久99热浪潮| 都市激情亚洲色图| 中文字幕亚洲欧美| 日韩中文字幕网址| 日韩精品极品毛片系列视频| 成人黄色中文字幕| 国产精品av网站| 国产精品欧美在线| 亚洲人成亚洲人成在线观看| 亚洲自拍另类欧美丝袜| 精品久久久久久久久久久久| 午夜精品久久久久久99热软件| 亚洲电影av在线| 26uuu亚洲伊人春色| 日韩精品一区二区视频| 国产热re99久久6国产精品| 亚洲天堂日韩电影| 亚洲欧美日韩直播| 亚洲福利在线视频| 亚洲欧洲黄色网| 国产精品久久久久久超碰| 亚洲japanese制服美女| 久久精品国产免费观看| 国产精品视频在线播放| 久久精品亚洲94久久精品| 亚洲小视频在线| 黄色一区二区三区| 青草青草久热精品视频在线网站| 午夜精品一区二区三区av| 亚洲福利在线播放| 亚洲视频国产视频| 久久伊人精品一区二区三区| 亚洲国产成人精品电影| 97久久精品人人澡人人爽缅北| 国产精品海角社区在线观看| 亚洲日本成人网| 国产精品永久免费| xxx欧美精品| 91美女片黄在线观看游戏| 国产91色在线|免| 日韩电视剧在线观看免费网站| 国产午夜精品麻豆| 亚洲精品国产综合区久久久久久久| 久久av红桃一区二区小说| 日韩精品中文字幕在线观看| 日韩黄色高清视频| 国外成人在线直播| 国产精品v片在线观看不卡| 国产精品久久久久久久久久新婚| 91免费的视频在线播放| 亚洲欧美资源在线| 精品视频在线播放| 日韩激情av在线免费观看| 超碰日本道色综合久久综合| 欧美午夜精品久久久久久久| 欧美在线观看网址综合| 日本道色综合久久影院| 日韩免费在线电影| 久久99久久99精品中文字幕| 国产成人亚洲综合| 九九九热精品免费视频观看网站| 亚洲午夜精品久久久久久久久久久久| 日韩av片免费在线观看| 国产一区二区三区在线视频| 91色p视频在线| 97国产精品视频人人做人人爱| 成人h视频在线观看播放| 久久男人av资源网站| 日韩精品亚洲元码| 亚洲的天堂在线中文字幕| 日韩在线播放av| 亚洲国产91精品在线观看| 91视频免费网站| 色阁综合伊人av| 亚洲xxx视频| 在线观看亚洲区| 亚洲自拍在线观看| 欧美精品日韩三级| 北条麻妃一区二区在线观看| 自拍偷拍亚洲精品| 日本午夜人人精品| 亚洲www永久成人夜色| 国产精品福利网站| 亚洲欧美国产一区二区三区| 国产视频精品一区二区三区| 日韩福利伦理影院免费| 91久久综合亚洲鲁鲁五月天| 亚洲国产精品大全| 亚洲国产日韩欧美在线图片| 日本乱人伦a精品| 狠狠躁天天躁日日躁欧美| 亚洲成人久久久久| 啪一啪鲁一鲁2019在线视频| 欧美日韩国产第一页| 国产成人鲁鲁免费视频a| 亚洲精品中文字幕av|