當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]sar 命令用用收集、報(bào)告、或者保存 UNIX / Linux 系統(tǒng)的活動(dòng)信息。它保存選擇的計(jì)數(shù)器到操作系統(tǒng)的 /var/log/sa/sadd 文件中。從收集的數(shù)據(jù)中,你可以得到許多關(guān)于你的服務(wù)

sar 命令用用收集、報(bào)告、或者保存 UNIX / Linux 系統(tǒng)的活動(dòng)信息。它保存選擇的計(jì)數(shù)器到操作系統(tǒng)的 /var/log/sa/sadd 文件中。從收集的數(shù)據(jù)中,你可以得到許多關(guān)于你的服務(wù)器的信息:

CPU 使用率

內(nèi)存頁(yè)面和使用率

網(wǎng)絡(luò) I/O 和傳輸統(tǒng)計(jì)

進(jìn)程創(chuàng)建活動(dòng)

所有的塊設(shè)備活動(dòng)

每秒中斷數(shù)等等

sar 命令的輸出能夠用于識(shí)別服務(wù)器瓶頸。但是,分析 sar 命令提供的信息可能比較困難,所以要使用 kSar 工具。kSar 工具可以將 sar 命令的輸出繪制成基于時(shí)間周期的、易于理解的圖表。

sysstat 包

sar、sa1、和 sa2 命令都是 sysstat 包的一部分。它是 Linux 包含的性能監(jiān)視工具集合。

sar:顯示數(shù)據(jù)

sa1 和 sa2:收集和保存數(shù)據(jù)用于以后分析。sa2 shell 腳本在 /var/log/sa 目錄中每日寫(xiě)入一個(gè)報(bào)告。sa1 shell 腳本將每日的系統(tǒng)活動(dòng)信息以二進(jìn)制數(shù)據(jù)的形式寫(xiě)入到文件中。

sadc —— 系統(tǒng)活動(dòng)數(shù)據(jù)收集器。你可以通過(guò)修改 sa1 和 sa2 腳本去配置各種選項(xiàng)。它們位于以下的目錄:

/usr/lib64/sa/sa1 (64 位)或者 /usr/lib/sa/sa1 (32 位) —— 它調(diào)用 sadc 去記錄報(bào)告到 /var/log/sa/sadX 格式。

/usr/lib64/sa/sa2 (64 位)或者 /usr/lib/sa/sa2 (32 位) —— 它調(diào)用 sar 去記錄報(bào)告到 /var/log/sa/sarX 格式。

如何在我的系統(tǒng)上安裝 sar?

在一個(gè)基于 CentOS/RHEL 的系統(tǒng)上,輸入如下的 yum 命令 去安裝 sysstat:

Loaded plugins: downloadonly,fastestmirror,priorities,

: protectbase,security

Loading mirror speeds from cached hostfile

*addons: mirror.cs.vt.edu

*base: mirror.ash.fastserv.com

*epel: serverbeach1.fedoraproject.org

*extras: mirror.cogentco.com

*updates: centos.mirror.nac.net

0packages excluded due torepository protections

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Packagesysstat.x86_640:7.0.2-3.el5set tobe updated

--> Finished Dependency Resolution

Dependencies Resolved

====================================================================

Package Arch Version Repository Size

====================================================================

Installing:

sysstat x86_64 7.0.2-3.el5 base 173k

Transaction Summary

====================================================================

Install 1Package(s)

Update 0Package(s)

Remove 0Package(s)

Total download size: 173k

Isthisok[y/N]: y

Downloading Packages:

sysstat-7.0.2-3.el5.x86_64.rpm | 173kB 00:00

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : sysstat 1/1

Installed:

sysstat.x86_640:7.0.2-3.el5

Complete!

為 sysstat 配置文件

編輯 /etc/sysconfig/sysstat 文件去指定日志文件保存多少天(最長(zhǎng)為一個(gè)月):

# vi /etc/sysconfig/sysstat

示例輸出如下 :

# keep log for 28 days

# the default is 7

HISTORY=28

保存并關(guān)閉這個(gè)文件。

找到 sar 默認(rèn)的 cron 作業(yè)

默認(rèn)的 cron 作業(yè)位于 /etc/cron.d/sysstat:

# cat /etc/cron.d/sysstat

示例輸出如下:

# run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib64/sa/sa111

# generate a daily summary of process accounting at 23:53

5323 * * * root /usr/lib64/sa/sa2 -A

告訴 sadc 去報(bào)告磁盤(pán)的統(tǒng)計(jì)數(shù)據(jù)

使用一個(gè)文本編輯器去編輯 /etc/cron.d/sysstat 文件,比如使用 vim 命令,輸入如下:

# vi /etc/cron.d/sysstat

像下面的示例那樣更新這個(gè)文件,以記錄所有的硬盤(pán)統(tǒng)計(jì)數(shù)據(jù)(-d 選項(xiàng)強(qiáng)制記錄每個(gè)塊設(shè)備的統(tǒng)計(jì)數(shù)據(jù),而 -I 選項(xiàng)強(qiáng)制記錄所有系統(tǒng)中斷的統(tǒng)計(jì)數(shù)據(jù)):

# run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib64/sa/sa1 -I -d11

# generate a daily summary of process accounting at 23:53

5323 * * * root /usr/lib64/sa/sa2 -A

在 CentOS/RHEL 7.x 系統(tǒng)上你需要傳遞 -S DISK 選項(xiàng)去收集塊設(shè)備的數(shù)據(jù)。傳遞 -S XALL選項(xiàng)去采集如下所列的數(shù)據(jù):

磁盤(pán)

分區(qū)

系統(tǒng)中斷

SNMP

IPv6

# Run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib64/sa/sa1 -SDISK11

# 0 * * * * root /usr/lib64/sa/sa1 600 6 &

# Generate a daily summary of process accounting at 23:53

5323 * * * root /usr/lib64/sa/sa2 -A

# Run system activity accounting tool every 10 minutes

保存并關(guān)閉這個(gè)文件。

打開(kāi) CentOS/RHEL 版本 5.x/6.x 的服務(wù)

輸入如下命令:

chkconfig sysstat on

service sysstat start

示例輸出如下:

Calling the system activity data collector(sadc):

對(duì)于 CentOS/RHEL 7.x,運(yùn)行如下的命令:

# systemctl enable sysstat

# systemctl start sysstat.service

# systemctl status sysstat.service[!--empirenews.page--]

示例輸出:

●sysstat.service - Resets System Activity Logs

Loaded: loaded(/usr/lib/systemd/system/sysstat.service;enabled;vendor preset: enabled)

Active: active(exited)since Sat2018-01-0616:33:19IST;3sago

Process: 28297ExecStart=/usr/lib64/sa/sa1 --boot(code=exited,status=0/SUCCESS)

Main PID: 28297(code=exited,status=0/SUCCESS)

Jan0616:33:19centos7-box systemd[1]: Starting Resets System Activity Logs...

Jan0616:33:19centos7-box systemd[1]: Started Resets System Activity Logs.

如何使用 sar?如何查看統(tǒng)計(jì)數(shù)據(jù)?

使用 sar 命令去顯示操作系統(tǒng)中選定的累積活動(dòng)計(jì)數(shù)器輸出。在這個(gè)示例中,運(yùn)行 sar 命令行,去實(shí)時(shí)獲得 CPU 使用率的報(bào)告:

# sar -u 3 10

示例輸出:

Linux2.6.18-164.2.1.el5(www-03.nixcraft.in) 12/14/2009

09:49:47PM CPU %user %nice %system %iowait %steal %idle

09:49:50PM all5.660.001.220.040.0093.08

09:49:53PM all12.290.001.930.040.0085.74

09:49:56PM all9.300.001.610.000.0089.10

09:49:59PM all10.860.001.510.040.0087.58

09:50:02PM all14.210.003.270.040.0082.47

09:50:05PM all13.980.004.040.040.0081.93

09:50:08PM all6.606.891.260.000.0085.25

09:50:11PM all7.250.001.550.040.0091.15

09:50:14PM all6.610.001.090.000.0092.31

09:50:17PM all5.710.000.960.000.0093.33

Average: all9.240.691.840.030.0088.20

其中:

3 表示間隔時(shí)間

10 表示次數(shù)

查看進(jìn)程創(chuàng)建的統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -c 3 10

查看 I/O 和傳輸率統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -b 3 10

查看內(nèi)存頁(yè)面統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -B 3 10

查看塊設(shè)備統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -d 3 10

查看所有中斷的統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -I XALL 3 10

查看網(wǎng)絡(luò)設(shè)備特定的統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -n DEV 3 10

# sar -n EDEV 3 10

查看 CPU 特定的統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -P ALL

# Only 1st CPU stats

# sar -P 1 3 10

查看隊(duì)列長(zhǎng)度和平均負(fù)載的統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -q 3 10

查看內(nèi)存和交換空間的使用統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -r 3 10

# sar -R 3 10

查看 inode、文件、和其它內(nèi)核表統(tǒng)計(jì)數(shù)據(jù)狀態(tài),輸入:

# sar -v 3 10

查看系統(tǒng)切換活動(dòng)統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -w 3 10

查看交換統(tǒng)計(jì)數(shù)據(jù),輸入:

# sar -W 3 10

查看一個(gè) PID 為 3256 的 Apache 進(jìn)程,輸入:

# sar -x 3256 3 10

kSar 介紹

sar 和 sadf 提供了基于命令行界面的輸出。這種輸出可能會(huì)使新手用戶(hù)/系統(tǒng)管理員感到無(wú)從下手。因此,你需要使用 kSar,它是一個(gè)圖形化顯示你的 sar 數(shù)據(jù)的 Java 應(yīng)用程序。它也允許你以 PDF/JPG/PNG/CSV 格式導(dǎo)出數(shù)據(jù)。你可以用三種方式去加載數(shù)據(jù):本地文件、運(yùn)行本地命令、以及通過(guò) SSH 遠(yuǎn)程運(yùn)行的命令。kSar 可以處理下列操作系統(tǒng)的 sar 輸出:

Solaris 8, 9 和 10

Mac OS/X 10.4+

Linux (Systat Version >= 5.0.5)

AIX (4.3 & 5.3)

HPUX 11.00+

下載和安裝 kSar

訪(fǎng)問(wèn)官方網(wǎng)站去獲得最新版本的源代碼。使用 wget 去下載源代碼,輸入:

$wget https://github.com/vlsi/ksar/releases/download/v5.2.4-snapshot-652bf16/ksar-5.2.4-SNAPSHOT-all.jar

如何運(yùn)行 kSar?

首先要確保你的機(jī)器上 JAVA jdk 已安裝并能夠正常工作。輸入下列命令去啟動(dòng) kSar:

$java -jar ksar-5.2.4-SNAPSHOT-all.jar

 

接下來(lái)你將看到 kSar 的主窗口,和有兩個(gè)菜單的面板。

 

左側(cè)有一個(gè)列表,是 kSar 根據(jù)數(shù)據(jù)已經(jīng)解析出的可用圖表的列表。右側(cè)窗口將展示你選定的圖表。

如何使用 kSar 去生成 sar 圖表?

首先,你需要從命名為 server1 的服務(wù)器上采集 sar 命令的統(tǒng)計(jì)數(shù)據(jù)。輸入如下的命令:

[server1]# LC_ALL=C sar -A > /tmp/sar.data.txt

接下來(lái),使用 scp 命令從本地桌面拷貝到遠(yuǎn)程電腦上:

[desktop]$scp user@server1.nixcraft.com:/tmp/sar.data.txt /tmp/

切換到 kSar 窗口,點(diǎn)擊 “Data” > “Load data from text file” > 從 /tmp/ 中選擇 sar.data.txt > 點(diǎn)擊 “Open” 按鈕。

現(xiàn)在,圖表類(lèi)型樹(shù)已經(jīng)出現(xiàn)在左側(cè)面板中并選定了一個(gè)圖形:

 

 

 

放大和縮小

通過(guò)移動(dòng)你可以交互式縮放圖像的一部分。在要縮放的圖像的左上角點(diǎn)擊并按下鼠標(biāo),移動(dòng)到要縮放區(qū)域的右下角,可以選定要縮放的區(qū)域。返回到未縮放狀態(tài),點(diǎn)擊并拖動(dòng)鼠標(biāo)到除了右下角外的任意位置,你也可以點(diǎn)擊并選擇 zoom 選項(xiàng)。[!--empirenews.page--]

了解 kSar 圖像和 sar 數(shù)據(jù)

我強(qiáng)烈建議你去閱讀 sar 和 sadf 命令的 man 頁(yè)面:

$man sar

$man sadf

案例學(xué)習(xí):識(shí)別 Linux 服務(wù)器的 CPU 瓶頸

使用 sar 命令和 kSar 工具,可以得到內(nèi)存、CPU、以及其它子系統(tǒng)的詳細(xì)快照。例如,如果 CPU 使用率在一個(gè)很長(zhǎng)的時(shí)間內(nèi)持續(xù)高于 80%,有可能就是出現(xiàn)了一個(gè) CPU 瓶頸。使用 sar -x ALL 你可以找到大量消耗 CPU 的進(jìn)程。

mpstat 命令 的輸出(sysstat 包的一部分)也會(huì)幫你去了解 CPU 的使用率。但你可以使用 kSar 很容易地去分析這些信息。

找出 CPU 瓶頸后 …

對(duì) CPU 執(zhí)行如下的調(diào)整:

確保沒(méi)有不需要的進(jìn)程在后臺(tái)運(yùn)行。關(guān)閉 Linux 上所有不需要的服務(wù)。

使用 cron 在一個(gè)非高峰時(shí)刻運(yùn)行任務(wù)(比如,備份)。

使用 top 和 ps 命令 去找出所有非關(guān)鍵的后臺(tái)作業(yè)/服務(wù)。使用 renice 命令 去調(diào)整低優(yōu)先級(jí)作業(yè)。

使用 taskset 命令去設(shè)置進(jìn)程使用的 CPU (卸載所使用的 CPU),即,綁定進(jìn)程到不同的 CPU 上。例如,在 2# CPU 上運(yùn)行 MySQL 數(shù)據(jù)庫(kù),而在 3# CPU 上運(yùn)行 Apache。

確保你的系統(tǒng)使用了最新的驅(qū)動(dòng)程序和固件。

如有可能在系統(tǒng)上增加額外的 CPU。

為單線(xiàn)程應(yīng)用程序使用更快的 CPU(比如,Lighttpd web 服務(wù)器應(yīng)用程序)。

為多線(xiàn)程應(yīng)用程序使用多個(gè) CPU(比如,MySQL 數(shù)據(jù)庫(kù)服務(wù)器應(yīng)用程序)。

為一個(gè) web 應(yīng)用程序使用多個(gè)計(jì)算節(jié)點(diǎn)并設(shè)置一個(gè) 負(fù)載均衡器。

isag —— 交互式系統(tǒng)活動(dòng)記錄器(替代工具)

isag 命令圖形化顯示了以前運(yùn)行 sar 命令時(shí)存儲(chǔ)在二進(jìn)制文件中的系統(tǒng)活動(dòng)數(shù)據(jù)。isag 命令引用 sar 并提取出它的數(shù)據(jù)來(lái)繪制圖形。與 kSar 相比,isag 的選項(xiàng)比較少。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉