日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 性能监视命令

發(fā)布時(shí)間:2024/4/15 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 性能监视命令 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在Linux下有很多系統(tǒng)性能分析工具,比較常見(jiàn)的有top、free、ps、time、timex、uptime等。下文將介紹幾個(gè)較為重要的性能分析工具vmstat、iostat和sar及其使用。

  用vmstat監(jiān)視內(nèi)存使用情況

  vmstat是Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計(jì))的縮寫(xiě),可對(duì)操作系統(tǒng)的虛擬內(nèi)存、進(jìn)程、CPU活動(dòng)進(jìn)行監(jiān)視。它是對(duì)系統(tǒng)的整體情況進(jìn)行統(tǒng)計(jì),不足之處是無(wú)法對(duì)某個(gè)進(jìn)程進(jìn)行深入分析。

  vmstat的語(yǔ)法如下:

  vmstat [-V] [-n] [delay [count]]

  其中,-V表示打印出版本信息;-n表示在周期性循環(huán)輸出時(shí),輸出的頭部信息僅顯示一次;delay是兩次輸出之間的延遲時(shí)間;count是指按照這個(gè)時(shí)間間隔統(tǒng)計(jì)的次數(shù)。對(duì)于vmstat輸出各字段的含義,可運(yùn)行man vmstat查看。

  用iostat監(jiān)視I/O子系統(tǒng)情況

  iostat是I/O statistics(輸入/輸出統(tǒng)計(jì))的縮寫(xiě),iostat工具將對(duì)系統(tǒng)的磁盤(pán)操作活動(dòng)進(jìn)行監(jiān)視。它的特點(diǎn)是匯報(bào)磁盤(pán)活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。同vmstat一樣,iostat也有一個(gè)弱點(diǎn),就是它不能對(duì)某個(gè)進(jìn)程進(jìn)行深入分析,僅對(duì)系統(tǒng)的整體情況進(jìn)行分析。

  iostat的語(yǔ)法如下:


iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]


  其中,-c為匯報(bào)CPU的使用情況;-d為匯報(bào)磁盤(pán)的使用情況;-k表示每秒按kilobytes字節(jié)顯示數(shù)據(jù);-t為打印匯報(bào)的時(shí)間;-v表示打印出版本信息和用法;-x device指定要統(tǒng)計(jì)的設(shè)備名稱,默認(rèn)為所有的設(shè)備;interval指每次統(tǒng)計(jì)間隔的時(shí)間;count指按照這個(gè)時(shí)間間隔統(tǒng)計(jì)的次數(shù)。

  iostat一般的輸出格式如下:

Linux 2.6.18-128.el5 (rac1)???? 08/20/2010

avg-cpu:? %user?? %nice %system %iowait? %steal?? %idle
?????????? 0.07??? 0.00??? 0.06??? 0.01??? 0.00?? 99.86

Device:??????????? tps?? Blk_read/s?? Blk_wrtn/s?? Blk_read?? Blk_wrtn
sda?????????????? 2.32???????? 8.36??????? 71.07??? 1526179?? 12969146
sda1????????????? 0.00???????? 0.01???????? 0.00?????? 2231???????? 10
sda2????????????? 1.04???????? 2.61??????? 41.72???? 476291??? 7613088
sda3????????????? 0.00???????? 0.01???????? 0.00?????? 1756????????? 0
sda4????????????? 0.00???????? 0.00???????? 0.00????????? 9????????? 0
sda5????????????? 1.28???????? 5.73??????? 29.35??? 1045323??? 5356048
sdb?????????????? 8.46?????? 112.82??????? 52.52?? 20586955??? 9584357
sdb1????????????? 0.05???????? 0.32???????? 0.00????? 58933????????? 0
sdb2????????????? 2.99???????? 2.00???????? 1.00???? 364212???? 181792
sdb3????????????? 5.07?????? 110.47??????? 39.65?? 20158185??? 7234830
sdb4????????????? 0.00???????? 0.00???????? 0.00????????? 5????????? 0
sdb5????????????? 0.35???????? 0.00??????? 11.88??????? 893??? 2167735
sdb6????????????? 0.00???????? 0.00???????? 0.00??????? 387?

?


對(duì)于輸出中各字段的含義,iostat的幫助中有詳細(xì)的說(shuō)明。


vmstat 命令報(bào)告虛擬內(nèi)存統(tǒng)計(jì)信息和CPU負(fù)荷:頁(yè)面調(diào)度,交換,任務(wù)交換,CPU利用率。命令的語(yǔ)法是:

vmstat [-cisS] [d1 d2 d3 d4] [interval [count]]

當(dāng)不用選項(xiàng)時(shí),vmstat顯示一條曲線表示自從系統(tǒng)啟動(dòng)后活動(dòng)的信息。如果指定interval(時(shí)間間隔),接下來(lái)的線是重復(fù)顯示最后的interval期間活動(dòng)的情況,直到用戶中斷命令執(zhí)行。當(dāng)同時(shí)提供計(jì)數(shù)器時(shí),統(tǒng)計(jì)信息按時(shí)間計(jì)數(shù)來(lái)顯示。

如果指定了一個(gè)磁盤(pán)名(如d1,d2,等等。),這些磁盤(pán)得到優(yōu)先顯示。通常,系統(tǒng)上的前4個(gè)磁盤(pán)設(shè)備是顯示的,因?yàn)橹挥兴膫€(gè)設(shè)備能在一線條上顯示,這個(gè)選項(xiàng)允許性能分析員修改缺省顯示選項(xiàng)。(*磁盤(pán)名通常隨id,sd,xd,或xy (取決于類型和I/0界面)加一個(gè)數(shù)字,如id0,sd2,xd1等等命名而定。)

,vmstat 命令顯示若干字段信息:

procs 報(bào)表下面三種狀態(tài)的進(jìn)程數(shù):

r--在運(yùn)行隊(duì)列中等候運(yùn)行

b--被資源阻塞(I/0,頁(yè)面調(diào)度,等等.)

w--可運(yùn)行但是被換出的

memory 報(bào)告虛擬內(nèi)存和實(shí)存信息:

swap--以千字節(jié)為單位的當(dāng)前可用交換空間的數(shù)量

free--以千字節(jié)為單位的頁(yè)自由表大小

page 報(bào)告每秒頁(yè)面調(diào)度活動(dòng)數(shù)量的信息:

re-從自由表回收頁(yè)

mf--次要的錯(cuò)誤;地址空間或硬件地址轉(zhuǎn)換錯(cuò)誤

pi--頁(yè)入的千字節(jié)數(shù)

po -頁(yè)出的千字節(jié)數(shù)

fr- 釋放的千字節(jié)數(shù)

de--以千字節(jié)為單位的可接受的短期內(nèi)存不足數(shù)

sr--頁(yè)由時(shí)鐘算法掃描

disk 可以為四個(gè)磁盤(pán)報(bào)告每秒磁盤(pán)I/O的數(shù)量

?

?

faults 報(bào)告每秒系統(tǒng)軟件中斷和硬件中斷的速率

in-設(shè)備中斷,不包括系統(tǒng)時(shí)鐘中斷

sy-系統(tǒng)調(diào)用

cs-CPU任務(wù)(上下文)交換

cpu-- CPU故障時(shí)間的百分比,在多處理器系統(tǒng)上,這是全部處理器的平均值:

us- 用戶時(shí)間

sy-- 系統(tǒng)時(shí)間

id-- 閑置時(shí)間

vmstat命令有四個(gè)可選標(biāo)志可供使用。如果機(jī)器有虛擬地址緩存-c標(biāo)志就改變輸出報(bào)告緩存刷新統(tǒng)計(jì)數(shù)據(jù)。報(bào)告包括自從系統(tǒng)啟動(dòng)后每種緩存刷新全部總量。六個(gè)緩存類型是用戶,上下文,區(qū)域,段,頁(yè),部分頁(yè)。

-i標(biāo)志 使輸出變?yōu)閳?bào)告中斷的數(shù)量。如果給出設(shè)備名,如d1,d2等,監(jiān)控將在設(shè)備級(jí)*執(zhí)行,(*注,參閱第十二章有關(guān)打開(kāi)設(shè)備級(jí)監(jiān)控的信息。)并報(bào)告每個(gè)給定設(shè)備的統(tǒng)計(jì)信息。

修改"普通"報(bào)告來(lái)顯示交換而非頁(yè)面調(diào)度活動(dòng)的信息。這選項(xiàng)改變顯示的兩個(gè)字段:si(換入)和so(換出)替代了re和mf字段。

值得注意是,interval 和count選項(xiàng)對(duì)-i或-s選項(xiàng)是非法的。


vmstat 參數(shù)詳解

procs:

?

r-->在運(yùn)行隊(duì)列中等待的進(jìn)程數(shù)

b-->在等待io的進(jìn)程數(shù)

w-->可以進(jìn)入運(yùn)行隊(duì)列但被替換的進(jìn)程

memoy

swap-->現(xiàn)時(shí)可用的交換內(nèi)存(k表示)

free-->空閑的內(nèi)存(k表示)

?

pages

re--》回收的頁(yè)面

mf--》非嚴(yán)重錯(cuò)誤的頁(yè)面

pi--》進(jìn)入頁(yè)面數(shù)(k表示)

po--》出頁(yè)面數(shù)(k表示)

fr--》空余的頁(yè)面數(shù)(k表示)

de--》提前讀入的頁(yè)面中的未命中數(shù)

sr--》通過(guò)時(shí)鐘算法掃描的頁(yè)面


disk 顯示每秒的磁盤(pán)操作。 s表示scsi盤(pán),0表示盤(pán)號(hào)

fault 顯示每秒的中斷數(shù)

in--》設(shè)備中斷

sy--》系統(tǒng)中斷

cy--》cpu交換


cpu 表示cpu的使用狀態(tài)

cs--》用戶進(jìn)程使用的時(shí)間

sy--》系統(tǒng)進(jìn)程使用的時(shí)間

id--》cpu空閑的時(shí)間

FIELD DESCRIPTIONS

Procs

r: The number of processes waiting for run time.

b: The number of processes in uninterruptable sleep.

w: The number of processes swapped out but otherwise runnable.


Thisfield is calculated, but Linux never desperation swaps.

?

Memory

swpd: the amount of virtual memory used (kB).

free: the amount of idle memory (kB).

buff: the amount of memory used as buffers (kB).

Swap

si: Amount of memory swapped in from disk (kB/s). 虛擬內(nèi)存的頁(yè)導(dǎo)入(從SWAP DISK導(dǎo)入RAM)

so: Amount of memory swapped to disk (kB/s). 虛擬內(nèi)存的頁(yè)導(dǎo)出.

(從RAM到SWAP DISK)

IO

bi: Blocks sent to a block device (blocks/s).

bo: Blocks received from a block device (blocks/s).

System

in: The number of interrupts per second, including the clock.

cs: The number of context switches per second.

: CPU

These are percentages of total CPU time.

us: user time

sy: system time

id: idle time

如果 r經(jīng)常大于 4 ,且id經(jīng)常少于40,表示cpu的負(fù)荷很重。

如果pi,po 長(zhǎng)期不等于0,表示內(nèi)存不足。

如果disk 經(jīng)常不等于0, 且在 b中的隊(duì)列 大于3, 表示 io性能不好。


由vmstat看服務(wù)器

說(shuō)明:由于STATSPACK并不能獲取全面分析性能問(wèn)題所需要的所有信息,所以需要擴(kuò)展其收集服務(wù)器的統(tǒng)計(jì)信息。(本文環(huán)境REDHAT Linux7.2)

VMSTAT介紹

通過(guò)STATSPACK收集服務(wù)器信息,主要通過(guò)收集VMSTAT的信息來(lái)展現(xiàn)服務(wù)器狀況。VMSTAT工具是最常見(jiàn)的UNIX監(jiān)控工具,可以展現(xiàn)給定時(shí)間間隔的服務(wù)器的狀態(tài)值。

一般VMSTAT工具的使用是通過(guò)兩個(gè)數(shù)字參數(shù)來(lái)完成的,第一個(gè)參數(shù)是采樣的時(shí)間間隔數(shù),單位是秒,第二個(gè)參數(shù)是采樣的次數(shù)。如:


[oracle@brucelau oracle]$ vmstat 1 2

procs memory swap io system  CPU

r b w swpd free buff cache  si so bi bo in cs us sy id

1 0 0 0 271844 186052 255852 0 0 2 6 102 10 0 0 100

0 0 0 0 271844 186052 255852 0 0 0 0 104 11 0 0 100


(注:目前系統(tǒng)幾乎空閑,并且不同操作系統(tǒng)VMSTAT輸出內(nèi)容有所不同)

目前說(shuō)來(lái),對(duì)于服務(wù)器監(jiān)控有用處的度量主要有:

r(運(yùn)行隊(duì)列)

pi(頁(yè)導(dǎo)入)

us(用戶CPU)

sy(系統(tǒng)CPU)

id(空閑)

通過(guò)VMSTAT識(shí)別CPU瓶頸

r(運(yùn)行隊(duì)列)展示了正在執(zhí)行和等待CPU資源的任務(wù)個(gè)數(shù)。當(dāng)這個(gè)值超過(guò)了CPU數(shù)目,就會(huì)出現(xiàn)CPU瓶頸了。

得CPU個(gè)數(shù)的命令(LINUX環(huán)境):

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

當(dāng)r值超過(guò)了CPU個(gè)數(shù),就會(huì)出現(xiàn)CPU瓶頸,解決辦法大體幾種:


1. 最簡(jiǎn)單的就是增加CPU個(gè)數(shù)

2. 通過(guò)調(diào)整任務(wù)執(zhí)行時(shí)間,如大任務(wù)放到系統(tǒng)不繁忙的情況下進(jìn)行執(zhí)行,進(jìn)爾平衡系統(tǒng)任務(wù)

3. 調(diào)整已有任務(wù)的優(yōu)先級(jí)

通過(guò)VMSTAT識(shí)別CPU滿負(fù)荷


首先需要聲明一點(diǎn)的是,vmstat中CPU的度量是百分比的。當(dāng)us+sy的值接近100的時(shí)候,表示CPU正在接近滿負(fù)荷工作。但要注意的是,CPU滿負(fù)荷工作并不能說(shuō)明什么,UNIX總是試圖要CPU盡可能的繁忙,使得任務(wù)的吞吐量最大化。唯一能夠確定CPU瓶頸的還是r(運(yùn)行隊(duì)列)的值。


通過(guò)VMSTAT識(shí)別RAM瓶頸

數(shù)據(jù)庫(kù)服務(wù)器都只有有限的RAM,出現(xiàn)內(nèi)存爭(zhēng)用現(xiàn)象是Oracle的常見(jiàn)問(wèn)題。

首先察看RAM的數(shù)量,命令如下(LINUX環(huán)境):

[root@brucelau root]#free

total used free shared buffers cached

Mem: 1027348 873312 154036 185736 187496 293964

-/+ buffers/cache: 391852 635496

Swap: 2096440 0 2096440


當(dāng)然可以使用top等其他命令來(lái)顯示RAM。

當(dāng)內(nèi)存的需求大于RAM的數(shù)量,服務(wù)器啟動(dòng)了虛擬內(nèi)存機(jī)制,通過(guò)虛擬內(nèi)存,可以將RAM段移到SWAP DISK的特殊磁盤(pán)段上,這樣會(huì)出現(xiàn)虛擬內(nèi)存的頁(yè)導(dǎo)出和頁(yè)導(dǎo)入現(xiàn)象,頁(yè)導(dǎo)出并不能說(shuō)明RAM瓶頸,虛擬內(nèi)存系統(tǒng)經(jīng)常會(huì)對(duì)內(nèi)存段進(jìn)行頁(yè)導(dǎo)出,但頁(yè)導(dǎo)入操作就表明了服務(wù)器需要更多的內(nèi)存了,頁(yè)導(dǎo)入需要從SWAP DISK上將內(nèi)存段復(fù)制回RAM,導(dǎo)致服務(wù)器速度變慢。

解決的辦法有幾種:

1. 最簡(jiǎn)單的,加大RAM

2. 改小SGA,使得對(duì)RAM需求減少

3. 減少RAM的需求(如:減少PGA)

?


?

?


?

轉(zhuǎn)載于:https://blog.51cto.com/chuanrensheng/380628

總結(jié)

以上是生活随笔為你收集整理的linux 性能监视命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。