Linux服務器性能查看及標準

一 linux服務器性能查看

1.1 cpu性能查看

一、查看物理cpu個數:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

二、查看每一個物理cpu中的core個數:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

三、邏輯cpu的個數:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu個數*核數=邏輯cpu個數(不支持超線程技術的狀況下)javascript

1.2 內存查看

一、查看內存使用狀況:

#freephp

            total           used         free         shared buff/cache  available
Mem: 32779820 7118416 21214940 162268 4446464     25067124
Swap: 0 0 0css

 下面先解釋一下輸出的內容:
Mem 行(第二行)是內存的使用狀況。
Swap 行(第三行)是交換空間的使用狀況。
total 列顯示系統總的可用物理內存和交換空間大小。
used 列顯示已經被使用的物理內存和交換空間。
free 列顯示還有多少物理內存和交換空間可用使用。
shared 列顯示被共享使用的物理內存大小。
buff/cache 列顯示被 buffer 和 cache 使用的物理內存大小。
available 列顯示還能夠被應用程序使用的物理內存大小。 Buffer Cache用於針對磁盤塊的讀寫; Page Cache用於針對文件inode的讀寫,這些Cache能有效地縮短I/O系統調用的時間。 對操做系統來講free/used是系統可用/佔用的內存; 對應用程序來講 buffers/cache是可用/佔用內存,由於buffers/cache很快就會被使用。

available  = free + buffer + cache。請注意,這只是一個很理想的計算方式,實際中的數據每每有較大的偏差。

swap space 是磁盤上的一塊區域,能夠是一個分區,也能夠是一個文件。因此具體的實現能夠是 swap 分區也能夠是 swap 文件。當系統物理內存吃緊時,Linux 會將內存中不常訪問的數據保存到 swap 上,這樣系統就有更多的物理內存爲各個進程服務,而當系統須要訪問 swap 上存儲的內容時,再將 swap 上的數據加載到內存中,這就是常說的換出和換入。交換空間能夠在必定程度上緩解內存不足的狀況,可是它須要讀寫磁盤數據,因此性能不是很高。html

如今的機器通常都不太缺內存,若是系統默認仍是使用了 swap 是否是會拖累系統的性能?理論上是的,但實際上可能性並非很大。而且內核提供了一個叫作 swappiness 的參數,用於配置須要將內存中不經常使用的數據移到 swap 中去的緊迫程度。這個參數的取值範圍是 0~100,0 告訴內核儘量的不要將內存數據移到 swap 中,也即只有在無可奈何的狀況下才這麼作,而 100 告訴內核只要有可能,儘可能的將內存中不常訪問的數據移到 swap 中。在 ubuntu 系統中,swappiness 的默認值是 60。若是咱們覺着內存充足,能夠在 /etc/sysctl.conf 文件中設置 swappiness:java

1.3 硬盤查看

一、查看硬盤及分區信息:

fdisk -l

二、查看文件系統的磁盤空間佔用狀況:

df -h

三、查看硬盤的I/O性能(每隔一秒顯示一次,顯示5次):

iostat -x 1 5

iostat是含在套裝systat中的,能夠用yum -y install systat來安裝。node

常關注的參數:mysql

%util接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。 如idle小於70%,I/O的壓力就比較大了,說明讀取進程中有較多的wait。

四、查看linux系統中某目錄的大小:

du -sh /root

如發現某個分區空間接近用完,能夠進入該分區的掛載點,用如下命令找出佔用空間最多的文件或目錄,而後按照從大到小的順序,找出系統中佔用最多空間的前10個文件或目錄:linux

du -cksh *|sort -rn|head -n 10

1.4 查看平均負載

有時候系統響應很慢,但又找不到緣由,這時就要查看平均負載了,看它是否有大量的進程在排隊等待。ios

最簡單的命令:nginx

uptime--查看過去的1分鐘、5分鐘和15分鐘內進程隊列中的平均進程數量。

還有動態命令top
咱們只關心如下部分:

top - 21:33:09 up 1:00, 1 user, load average: 0.00, 0.01, 0.05 若是每一個邏輯cpu當前的活動進程不大於3,則系統性能良好; 若是每一個邏輯cpu當前的活動進程不大於4,表示能夠接受; 若是每一個邏輯cpu當前的活動進程大於5,則系統性能問題嚴重。

通常計算方法:負載值/邏輯cpu個數

還能夠結合vmstat命令來判斷系統是否繁忙,其中:

procs
r:等待運行的進程數。
b:處在非中斷睡眠狀態的進程數。
w:被交換出去的可運行的進程數。

memeory
swpd:虛擬內存使用狀況,單位爲KB。
free:空閒的內存,單位爲KB。
buff:被用來做爲緩存的內存數,單位爲KB。

swap
si:從磁盤交換到內存的交換頁數量,單位爲KB。
so:從內存交換到磁盤的交換頁數量,單位爲KB。

io bi:發送到塊設備的塊數,單位爲KB。 bo:從塊設備接受的塊數,單位爲KB。 system in:每秒的中斷數,包括時鐘中斷。 cs:每秒的環境切換次數。 cpu 按cpu的總使用百分比來顯示。 us:cpu使用時間。 sy:cpu系統使用時間。 id:閒置時間。

1.5 其餘參數

查看內核版本號:
uname -a

簡化命令:uname -r

查看系統是32位仍是64位的: file /sbin/init 查看發行版: cat /etc/issue 或lsb_release -a 查看系統已載入的相關模塊: lsmod 查看pci設置: lspci

二 Linux服務器性能評估

2.1.1 影響Linux服務器性能的因素

1. 操做系統級

CPU 內存 磁盤I/O帶寬 網絡I/O帶寬

2. 程序應用級

2.1.2 系統性能評估標準

影響性能因素 糟糕
CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90%
內存 Swap In(si)=0 Swap Out(so)=0 Per CPU with 10 page/s More Swap In & Swap Out
磁盤 iowait % < 20% iowait % =35% iowait % >= 50%

其中:

%user:表示CPU處在用戶模式下的時間百分比。 %sys:表示CPU處在系統模式下的時間百分比。 %iowait:表示CPU等待輸入輸出完成時間的百分比。 swap in:即si,表示虛擬內存的頁導入,即從SWAP DISK交換到RAM swap out:即so,表示虛擬內存的頁導出,即從RAM交換到SWAP DISK

2.1.3 系統性能分析工具

1.經常使用系統命令

Vmstat、sar、iostat、netstat、free、ps、top等

2.經常使用組合方式

vmstat、sar、iostat檢測是不是CPU瓶頸
free、vmstat檢測是不是內存瓶頸 iostat檢測是不是磁盤I/O瓶頸 netstat檢測是不是網絡帶寬瓶頸

2.1.4 Linux性能評估與優化

系統總體性能評估(uptime命令)
uptime

16:38:00 up 118 days, 3:01, 5 users,load average: 1.22, 1.02, 0.91

注意:

  • 這裏須要注意的是:load average這個輸出值,這三個值的大小通常不能大於系統CPU的個數,例如,本輸出中系統有8個CPU,若是load average的三個值長期大於8時,說明CPU很繁忙,負載很高,可能會影響系統性能,可是偶爾大於8時,倒不用擔憂,通常不會影響系統性能。相反,若是load average的輸出值小於CPU的個數,則表示CPU還有空閒的時間片,好比本例中的輸出,CPU是很是空閒的。

  • 例如:一個單核系統上,平均負載爲1.78,0.60,6.56,說明1分鐘內,系統有78%的超載,而在15分鐘內有556%的超載。
  • 16:38:00  //當前時間

    up 118 days, 3:01, //系統運行時間

     5 users //正在登陸用戶數

    load average: 1.22, 1.02, 0.91  依次是 1分鐘,5分鐘,15分鐘的平均負載(load average)

2.2.1 CPU性能評估

1.利用vmstat命令監控系統CPU

該命令能夠顯示關於系統各類資源之間相關性能的簡要信息,這裏咱們主要用它來看CPU一個負載狀況。

下面是vmstat命令在某個系統的輸出結果:

[root@node1 ~]#vmstat 2 3 procs ———–memory———- —swap– —–io—- –system– —–cpu—— r b swpd freebuff cache si so bi bo incs us sy idwa st 0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0 Procs

r--運行和等待cpu時間片的進程數,這個值若是長期大於系統CPU的個數,說明CPU不足,須要增長CPU

b--在等待資源的進程數,好比正在等待I/O、或者內存交換等。

CPU

us

用戶進程消耗的CPU 時間百分比。
us的值比較高時,說明用戶進程消耗的cpu時間多,可是若是長期大於50%,就須要考慮優化程序或算法。

sy

內核進程消耗的CPU時間百分比。Sy的值較高時,說明內核消耗的CPU資源不少。

根據經驗,us+sy的參考值爲80%,若是us+sy大於 80%說明可能存在CPU資源不足。

2.利用sar命令監控系統CPU

sar對系統每方面進行單獨統計,但會增長系統開銷,不過開銷能夠評估,對系統的統計結果不會有很大影響。

下面是sar命令對某個系統的CPU統計輸出:

[root@webserver ~]# sar -u 3 5 Linux 2.6.9-42.ELsmp (webserver) 11/28/2008_i686_(8 CPU) 11:41:24AM CPU %user %nice %system %iowait %steal %idle 11:41:27AM all 0.88 0.00 0.29 0.00 0.00 98.83 11:41:30AM all 0.13 0.00 0.17 0.21 0.00 99.50 11:41:33AM all 0.04 0.00 0.04 0.00 0.00 99.92 11:41:36AM all90.08 0.00 0.13 0.16 0.00 9.63 11:41:39AM all 0.38 0.00 0.17 0.04 0.00 99.41 Average: all 0.34 0.00 0.16 0.05 0.00 99.45

輸出解釋以下:

%user列顯示了用戶進程消耗的CPU 時間百分比。 %nice列顯示了運行正常進程所消耗的CPU 時間百分比。 %system列顯示了系統進程消耗的CPU時間百分比。 %iowait列顯示了IO等待所佔用的CPU時間百分比 %steal列顯示了在內存相對緊張的環境下pagein強制對不一樣的頁面進行的steal操做 。 %idle列顯示了CPU處在空閒狀態的時間百分比。 問題

你是否遇到過系統CPU總體利用率不高,而應用緩慢的現象?

在一個多CPU的系統中,若是程序使用了單線程,會出現這麼一個現象,CPU的總體使用率不高,可是系統應用卻響應緩慢,這多是因爲程序使用單線程的緣由,單線程只使用一個CPU,致使這個CPU佔用率爲100%,沒法處理其它請求,而其它的CPU卻閒置,這就致使了總體CPU使用率不高,而應用緩慢現象的發生。

2.3.1 內存性能評估

1.利用free指令監控內存

free是監控Linux內存使用情況最經常使用的指令,看下面的一個輸出:

命令free -h

         total   used      free   shared    buff/cache  available

Mem: 31G  6.8G      20G  158M         4.2G           23G

Swap:            0B          0B          0B

經驗公式: 
available/tolal>70%,表示系統內存資源很是充足,不影響系統性能;
available/tolal<20%,表示系統內存資源緊缺,須要增長系統內存;
20%<available/tolal<<70%,表示系統內存資源基本能知足應用需求,暫時不影響系統性能

現代的操做系統爲了最大利用內存,在內存中存放了緩存,所以內存利用率100%並不表明內存有瓶頸,衡量系統內有有瓶頸主要靠SWAP(與虛擬內存交換)交換空間利用率,通常狀況下,SWAP交換空間利用率要低於70%,太多的交換將會引發系統性能低下。

2.利用vmstat命令監控內存

[root@node1~]#vmstat 2 3 procs ———–memory———- —swap– —–io—- –system– —–cpu—— r b swpd freebuff cache si so bi bo incs us sy idwa st 0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0

memory

swpd--切換到內存交換區的內存數量(k爲單位)。如swpd值偶爾非0,不影響系統性能 free--當前空閒的物理內存數量(k爲單位) buff--buffers cache的內存數量,通常對塊設備的讀寫才須要緩衝 cache--page cached的內存數量

通常做爲文件系統cached,頻繁訪問的文件都會被cached,如cache值較大,說明cached的文件數較多,若是此時IO中bi比較小,說明文件系統效率比較好。

swap

si--由磁盤調入內存,也就是內存進入內存交換區的數量。 so--由內存調入磁盤,也就是內存交換區進入內存的數量。

通常狀況下,si、so的值都爲0,若是si、so的值長期不爲0,則表示系統內存不足。須要增長系統內存。

2.4.1磁盤I/O性能評估

1.磁盤存儲基礎

頻繁訪問的文件或數據儘量用內存讀寫代替直接磁盤I/O,效率高千倍。

將常常進行讀寫的文件與長期不變的文件獨立出來,分別放置到不一樣的磁盤設備上。

對於寫操做頻繁的數據,能夠考慮使用裸設備代替文件系統。

裸設備優勢:

數據可直接讀寫,不需通過操做系統級緩存,節省內存資源,避免內存資源爭用;
避免文件系統級維護開銷,如文件系統需維護超級塊、I-node等;
避免了操做系統cache預讀功能,減小了I/O請求

使用裸設備的缺點是:

數據管理、空間管理不靈活,須要很專業的人來操做。

2.利用iostat評估磁盤性能

[root@webserver ~]# iostat -d 2 3 Linux2.6.9-42.ELsmp (webserver) 12/01/2008_i686_(8 CPU) Device:tps Blk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda 1.87 2.58 114.12 6479462 286537372 Device:tps Blk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda0.00 0.00 0.00 0 0 Device:tps Blk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda1.00 0.00 12.00 0 24

解釋以下:

Blk_read/s--每秒讀取數據塊數 Blk_wrtn/s--每秒寫入數據塊數 Blk_read--讀取的全部塊數 Blk_wrtn--寫入的全部塊數

可經過Blk_read/s和Blk_wrtn/s值對磁盤的讀寫性能有一個基本的瞭解.
如Blk_wrtn/s值很大,表示磁盤寫操做頻繁,考慮優化磁盤或程序,
如Blk_read/s值很大,表示磁盤直接讀操做不少,可將讀取的數據放入內存

規則遵循:

長期的、超大的數據讀寫,確定是不正常的,這種狀況必定會影響系統性能。

對於這兩個選項的值沒有一個固定的大小,根據系統應用的不一樣,會有不一樣的值,可是有一個規則仍是能夠遵循的:長期的、超大的數據讀寫,確定是不正常的,這種狀況必定會影響系統性能。

3.利用sar評估磁盤性能

經過「sar –d」組合,能夠對系統的磁盤IO作一個基本的統計,請看下面的一個輸出:

[root@webserver ~]# sar -d 2 3 Linux2.6.9-42.ELsmp (webserver) 11/30/2008_i686_(8 CPU) 11:09:33PM DEVtps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:35PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 

11:09:35PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

11:09:37PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00

11:09:37PM DEV tps rd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util

11:09:39PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05

Average:DEV tps rd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util

Average:dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02

參數含義:

await--平均每次設備I/O操做等待時間(毫秒) svctm--平均每次設備I/O操做的服務時間(毫秒) %util--一秒中有百分之幾的時間用於I/O操做

對磁盤IO性能評判標準:

正常svctm應小於await值,而svctm和磁盤性能有關,CPU、內存負荷也會對svctm值形成影響,過多的請求也會間接的致使svctm值的增長。

await值取決svctm和I/O隊列長度以及I/O請求模式, 若是svctm的值與await很接近,表示幾乎沒有I/O等待,磁盤性能很好, 若是await的值遠高於svctm的值,則表示I/O隊列等待太長,系統上運行的應用程序將變慢, 此時能夠經過更換更快的硬盤來解決問題。

%util--衡量磁盤I/O重要指標,

如%util接近100%,表示磁盤產生的I/O請求太多,I/O系統已經滿負荷工做,該磁盤可能存在瓶頸。

可優化程序或者 經過更換 更高、更快的磁盤。

2.5.1. 網絡性能評估

1)經過ping命令檢測網絡的連通性 (2)經過netstat –i組合檢測網絡接口情況 (3)經過netstat –r組合檢測系統的路由表信息 (4)經過sar –n組合顯示系統的網絡運行狀態

三 Linux服務器性能調優

1.爲磁盤I/O調整Linux內核電梯算法

選擇文件系統後,該算法能夠平衡低延遲需求,收集足夠數據,有效組織對磁盤讀寫請求。

2.禁用沒必要要的守護進程,節省內存和CPU資源

許多守護進程或服務一般非必需,消耗寶貴內存和CPU時間。將服務器置於險地。
禁用可加快啓動時間,釋放內存。

減小CPU要處理的進程數

一些應被禁用的Linux守護進程,默認自動運行:

序號 守護進程 描述
1 Apmd 高級電源管理守護進程
2 Nfslock 用於NFS文件鎖定
3 Isdn ISDN Moderm支持
4 Autofs 在後臺自動掛載文件系統(如自動掛載CD-ROM)
5 Sendmail 郵件傳輸代理
6 Xfs X Window的字體服務器

3.關掉GUI

四、清理不須要的模塊或功能

服務器軟件包中太多被啓動的功能或模塊其實是不須要的(如Apache中的許多功能模塊),禁用掉有助於提升系統內存可用量,騰出資源給那些真正須要的軟件,讓它們運行得更快。

五、禁用控制面板

在Linux中,有許多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,禁用釋放出大約120MB內存,內存使用量大約降低30-40%。

六、改善Linux Exim服務器性能

使用DNS緩存守護進程,可下降解析DNS記錄須要的帶寬和CPU時間,DNS緩存經過消除每次都從根節點開始查找DNS記錄的需求,從而改善網絡性能。

Djbdns是一個很是強大的DNS服務器,它具備DNS緩存功能,Djbdns比BIND DNS服務器更安全,性能更好,能夠直接經過http://cr.yp.to/下載,或經過Red Hat提供的軟件包得到。

七、使用AES256加強gpg文件加密安全

爲提升備份文件或敏感信息安全,許多Linux系統管理員都使用gpg進行加密,在使用gpg時,最好指定gpg使用AES256加密算法,AES256使用256位密鑰,它是一個開放的加密算法,美國國家安全局(NSA)使用它保護絕密信息。

八、遠程備份服務安全

安全是選擇遠程備份服務最重要的因素,大多數系統管理員都懼怕兩件事:(黑客)能夠刪除備份文件,不能從備份恢復系統。

爲了保證備份文件100%的安全,備份服務公司提供遠程備份服務器,使用scp腳本或RSYNC經過SSH傳輸數據,這樣,沒有人能夠直接進入和訪問遠程系統,所以,也沒有人能夠從備份服務刪除數據。在選擇遠程備份服務提供商時,最好從多個方面瞭解其服務強壯性,若是能夠,能夠親自測試一下。

九、更新默認內核參數設置

爲了順利和成功運行企業應用程序,如數據庫服務器,可能須要更新一些默認的內核參數設置,例如,2.4.x系列內核消息隊列參數msgmni有一個默認值(例如,共享內存,或shmmax在Red Hat系統上默認只有33554432字節),它只容許有限的數據庫併發鏈接,下面爲數據庫服務器更好地運行提供了一些建議值(來自IBM DB2支持網站):

kernel.shmmax=268435456 (32位)
kernel.shmmax=1073741824 (64位)
kernel.msgmni=1024
fs.file-max=8192
kernel.sem=」250 32000 32 1024″

十、優化TCP

優化TCP協議有助於提升網絡吞吐量,跨廣域網的通訊使用的帶寬越大,延遲時間越長時,建議使用越大的TCP Linux大小,以提升數據傳輸速率,TCP Linux大小決定了發送主機在沒有收到數據傳輸確認時,能夠向接收主機發送多少數據。

十一、選擇正確的文件系統

使用ext4文件系統取代ext3

● Ext4是ext3文件系統的加強版,擴展了存儲限制

●具備日誌功能,保證高水平的數據完整性(在非正常關閉事件中)

●非正常關閉和重啓時,它不須要檢查磁盤(這是一個很是耗時的動做)

●更快的寫入速度,ext4日誌優化了硬盤磁頭動做

十二、使用noatime文件系統掛載選項

在文件系統啓動配置文件fstab中使用noatime選項,若是使用了外部存儲,這個掛載選項能夠有效改善性能。

1三、調整Linux文件描述符限制

Linux限制了任何進程能夠打開的文件描述符數量,默認限制是每進程1024,這些限制可能會阻礙基準測試客戶端(如httperf和apachebench)和Web服務器自己得到最佳性能,Apache每一個鏈接使用一個進程,所以不會受到影響,但單進程Web服務器,如Zeus是每鏈接使用一個文件描述符,所以很容易受默認限制的影響。

打開文件限制是一個能夠用ulimit命令調整的限制,ulimit -aS命令顯示當前的限制,ulimit -aH命令顯示硬限制(在未調整/proc中的內核參數前,你不能增長限制)。

Linux第三方應用程序性能技巧

對於運行在Linux上的第三方應用程序,同樣有許多性能優化技巧,這些技巧能夠幫助你提升Linux服務器的性能,下降運行成本。

1四、正確配置MySQL

爲了給MySQL分配更多的內存,可設置MySQL緩存大小,要是MySQL服務器實例使用了更多內存,就減小緩存大小,若是MySQL在請求增多時停滯不動,就增長MySQL緩存。

1五、正確配置Apache

檢查Apache使用了多少內存,再調整StartServers和MinSpareServers參數,以釋放更多的內存,將有助於你節省30-40%的內存。

1六、分析Linux服務器性能

提升系統效率最好的辦法是找出致使總體速度降低的瓶頸並解決掉,下面是找出系統關鍵瓶頸的一些基本技巧:

● 當大型應用程序,如OpenOffice和Firefox同時運行時,計算機可能會開始變慢,內存不足的出現概率更高。

● 若是啓動時真的很慢,多是應用程序初次啓動須要較長的加載時間,一旦啓動好後運行就正常了,不然極可能是硬盤太慢了。

●CPU負載持續很高,內存也夠用,但CPU利用率很低,可使用CPU負載分析工具監控負載時間。

1七、學習5個Linux性能命令

使用幾個命令就能夠管理Linux系統的性能了,下面列出了5個最經常使用的Linux性能命令,包括
top、vmstat、iostat、free和sar,它們有助於系統管理員快速解決性能問題。

(1)top

當前內核服務的任務,還顯示許多主機狀態的統計數據,默認狀況下,它每隔5秒自動更新一次。
如:當前正常運行時間,系統負載,進程數量和內存使用率,

此外,這個命令也顯示了那些使用最多CPU時間的進程(包括每一個進程的各類信息,如運行用戶,執行的命令等)。

(2)vmstat

Vmstat命令提供當前CPU、IO、進程和內存使用率的快照,它和top命令相似,自動更新數據,如:

$ vmstat 10

(3)iostat

Iostat提供三個報告:CPU利用率、設備利用率和網絡文件系統利用率,使用-c,-d和-h參數能夠分別獨立顯示這三個報告。

(4)free

顯示主內存和交換空間內存統計數據,指定-t參數顯示總內存,指定-b參數按字節爲單位,使用-m則以兆爲單位,默認狀況下千字節爲單位。

Free命令也可使用-s參數加一個延遲時間(單位:秒)連續運行,如:

$ free -s 5

(5)sar

收集,查看和記錄性能數據,這個命令比前面幾個命令歷史更悠久,它能夠收集和顯示較長週期的數據。

其它

下面是一些歸類爲其它的性能技巧:

1八、將日誌文件轉移到內存中

當一臺機器處於運行中時,最好是將系統日誌放在內存中,當系統關閉時再將其複製到硬盤,當你運行一臺開啓了syslog功能的筆記本電腦或移動設備時,ramlog能夠幫助你提升系統電池或移動設備閃存驅動器的壽命,使用ramlog的一個好處是,不用再擔憂某個守護進程每隔30秒向syslog發送一條消息,放在之前,硬盤必須隨時保持運轉,這樣對硬盤和電池都很差。

1九、先打包,後寫入

在內存中劃分出固定大小的空間保存日誌文件,這意味着筆記本電腦硬盤不用一直保持運轉,只有當某個守護進程須要寫入日誌時才運轉,注意ramlog使用的內存空間大小是固定的,不然系統內存會很快被用光,若是筆記本使用固態硬盤,能夠分配50-80MB內存給ramlog使用,ramlog能夠減小許多寫入週期,極大地提升固態硬盤的使用壽命。

20、通常調優技巧

儘量使用靜態內容替代動態內容,若是你在生整天氣預告,或其它每隔1小時就必須更新的數據,最好是寫一個程序,每隔1小時生成一個靜態的文件,而不是讓用戶運行一個CGI動態地生成報告。

爲動態應用程序選擇最快最合適的API,CGI可能最容易編程,但它會爲每一個請求產生一個進程,一般,這是一個成本很高,且沒必要要的過程,FastCGI是更好的選擇,和Apache的mod_perl同樣,均可以極大地提升應用程序的性能。

轉自:http://www.javashuo.com/article/p-hapyxwsk-bk.html

相關文章
相關標籤/搜索