吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用 sar 和 kSar 來發現 Linux 性能瓶頸

Linux愛好者 ? 來源:未知 ? 作者:李建兵 ? 2018-03-17 10:31 ? 次閱讀

sar命令用用收集、報告、或者保存 UNIX / Linux 系統的活動信息。它保存選擇的計數器到操作系統的/var/log/sa/sadd文件中。從收集的數據中,你可以得到許多關于你的服務器的信息:

CPU 使用率

內存頁面和使用率

網絡 I/O 和傳輸統計

進程創建活動

所有的塊設備活動

每秒中斷數等等

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

sysstat 包

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

sar:顯示數據

sa1和sa2:收集和保存數據用于以后分析。sa2shell 腳本在/var/log/sa目錄中每日寫入一個報告。sa1shell 腳本將每日的系統活動信息以二進制數據的形式寫入到文件中。

sadc —— 系統活動數據收集器。你可以通過修改sa1和sa2腳本去配置各種選項。它們位于以下的目錄:

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

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

如何在我的系統上安裝 sar?

在一個基于 CentOS/RHEL 的系統上,輸入如下的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

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

PackageArchVersion Repository Size

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

Installing:

sysstatx86_647.0.2-3.el5 base173k

Transaction Summary

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

Install1Package(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 : sysstat1/1

Installed:

sysstat.x86_640:7.0.2-3.el5

Complete!

為 sysstat 配置文件

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

# vi /etc/sysconfig/sysstat

示例輸出如下 :

# keep log for 28 days

# the default is 7

HISTORY=28

保存并關閉這個文件。

找到 sar 默認的 cron 作業

默認的 cron 作業位于 /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 去報告磁盤的統計數據

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

# vi /etc/cron.d/sysstat

像下面的示例那樣更新這個文件,以記錄所有的硬盤統計數據(-d 選項強制記錄每個塊設備的統計數據,而 -I 選項強制記錄所有系統中斷的統計數據):

# 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 系統上你需要傳遞-S DISK選項去收集塊設備的數據。傳遞-S XALL選項去采集如下所列的數據:

磁盤

分區

系統中斷

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

保存并關閉這個文件。

打開 CentOS/RHEL 版本 5.x/6.x 的服務

輸入如下命令:

chkconfig sysstat on

service sysstat start

示例輸出如下:

Calling the system activity data collector(sadc):

對于 CentOS/RHEL 7.x,運行如下的命令:

# systemctl enable sysstat

# systemctl start sysstat.service

# systemctl status sysstat.service

示例輸出:

●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?如何查看統計數據?

使用 sar 命令去顯示操作系統中選定的累積活動計數器輸出。在這個示例中,運行 sar 命令行,去實時獲得 CPU 使用率的報告:

# 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 表示間隔時間

10 表示次數

查看進程創建的統計數據,輸入:

# sar -c 3 10

查看 I/O 和傳輸率統計數據,輸入:

# sar -b 3 10

查看內存頁面統計數據,輸入:

# sar -B 3 10

查看塊設備統計數據,輸入:

# sar -d 3 10

查看所有中斷的統計數據,輸入:

# sar -I XALL 3 10

查看網絡設備特定的統計數據,輸入:

# sar -n DEV 3 10

# sar -n EDEV 3 10

查看 CPU 特定的統計數據,輸入:

# sar -P ALL

# Only 1st CPU stats

# sar -P 1 3 10

查看隊列長度和平均負載的統計數據,輸入:

# sar -q 3 10

查看內存和交換空間的使用統計數據,輸入:

# sar -r 3 10

# sar -R 3 10

查看 inode、文件、和其它內核表統計數據狀態,輸入:

# sar -v 3 10

查看系統切換活動統計數據,輸入:

# sar -w 3 10

查看交換統計數據,輸入:

# sar -W 3 10

查看一個 PID 為 3256 的 Apache 進程,輸入:

# sar -x 3256 3 10

kSar 介紹

sar和sadf提供了基于命令行界面的輸出。這種輸出可能會使新手用戶/系統管理員感到無從下手。因此,你需要使用 kSar,它是一個圖形化顯示你的sar數據的 Java 應用程序。它也允許你以 PDF/JPG/PNG/CSV 格式導出數據。你可以用三種方式去加載數據:本地文件、運行本地命令、以及通過 SSH 遠程運行的命令。kSar 可以處理下列操作系統的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

訪問官方網站去獲得最新版本的源代碼。使用wget去下載源代碼,輸入:

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

如何運行 kSar?

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

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

接下來你將看到 kSar 的主窗口,和有兩個菜單的面板。

左側有一個列表,是 kSar 根據數據已經解析出的可用圖表的列表。右側窗口將展示你選定的圖表。

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

首先,你需要從命名為 server1 的服務器上采集sar命令的統計數據。輸入如下的命令:

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

接下來,使用 scp 命令從本地桌面拷貝到遠程電腦上:

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

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

現在,圖表類型樹已經出現在左側面板中并選定了一個圖形:

放大和縮小

通過移動你可以交互式縮放圖像的一部分。在要縮放的圖像的左上角點擊并按下鼠標,移動到要縮放區域的右下角,可以選定要縮放的區域。返回到未縮放狀態,點擊并拖動鼠標到除了右下角外的任意位置,你也可以點擊并選擇 zoom 選項。

了解 kSar 圖像和 sar 數據

我強烈建議你去閱讀sar和sadf命令的 man 頁面:

$man sar

$man sadf

案例學習:識別 Linux 服務器的 CPU 瓶頸

使用sar命令和 kSar 工具,可以得到內存、CPU、以及其它子系統的詳細快照。例如,如果 CPU 使用率在一個很長的時間內持續高于 80%,有可能就是出現了一個 CPU 瓶頸。使用sar -x ALL你可以找到大量消耗 CPU 的進程。

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

找出 CPU 瓶頸后 …

對 CPU 執行如下的調整:

確保沒有不需要的進程在后臺運行。關閉Linux 上所有不需要的服務。

使用cron在一個非高峰時刻運行任務(比如,備份)。

使用top 和 ps 命令去找出所有非關鍵的后臺作業/服務。使用renice 命令去調整低優先級作業。

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

確保你的系統使用了最新的驅動程序和固件。

如有可能在系統上增加額外的 CPU。

為單線程應用程序使用更快的 CPU(比如,Lighttpd web 服務器應用程序)。

為多線程應用程序使用多個 CPU(比如,MySQL 數據庫服務器應用程序)。

為一個 web 應用程序使用多個計算節點并設置一個負載均衡器。

isag —— 交互式系統活動記錄器(替代工具)

isag命令圖形化顯示了以前運行sar命令時存儲在二進制文件中的系統活動數據。isag命令引用sar并提取出它的數據來繪制圖形。與 kSar 相比,isag的選項比較少。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210391
  • 命令
    +關注

    關注

    5

    文章

    696

    瀏覽量

    22108

原文標題:使用 sar 和 kSar 來發現 Linux 性能瓶頸

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    在調試SAR-ADC的時候發現采樣頻率跟我實際測試結果存在差異,怎么解決?

    我在調試SAR-ADC的時候發現采樣頻率跟我實際測試結果存在差異。 我的ADC配置如下: ADC clock rate : 16.667MHZ scan duration : 1.08 us 采樣
    發表于 02-02 09:17

    什么是SAR以及手機天線SAR的測試

    產生感應電磁場。由于人體各種器官均為有耗介質,因此體內電磁場將會產生電流,導致吸收和耗散電磁能量。生物劑量學中常用SAR表征這一物理過程。SAR的意義為單位質量的人體組織所吸收或消耗的電磁功率,單位
    發表于 11-07 15:51

    無線設備SAR測試的SAR介紹

    磁場。由于人體各種器官均為有耗介質,因此體內電磁場將會產生電流,導致吸收和耗散電磁能量。生物劑量學中常用SAR表征這一物理過程。SAR的意義為單位質量的人體組織所吸收或消耗的電磁功率,單位為W/kg。
    發表于 05-26 16:02

    SAR與ADC不同輸入類型

    類型的ADC,諸如ADS8363,ADS7263或ADS7223選擇輸入配置時特別有用。從SAR ADC系列博文中獲得以下技巧:SAR ADC的輸入注意事項SAR ADC輸入類型性能
    發表于 09-11 14:49

    Linux基礎——sar 查看網卡流量

    下。ls /var/log/sa/ 發現下面兩種類型的文件,sa開頭加日期,sar開頭加日期,sa開頭的文件不能直接cat,只能用 sar -f 查看,sar開頭的可以用cat查看。
    發表于 07-04 06:13

    怎么克服嵌入式CPU的性能瓶頸

    芯片功耗解析芯片的傳輸延時克服嵌入式CPU性能瓶頸
    發表于 03-09 07:11

    基于全HDD aarch64服務器的Ceph性能調優實踐總結

    如ISA-L也都在arm平臺上進行了優化。- 對于SPDK,也是從軟件層面在arm平臺上進行了優化。4.3 操作系統調優從Linux內核調優Ceph性能,這是一個范圍很廣很深的話題。我們主要從磁盤
    發表于 07-05 14:26

    運用TMAM客觀分析程序運行過程中內在CPU資源出現的瓶頸

    指導、工具輔助分析可以幫助我們快速發現性能瓶頸所在,針對性地進行優化,可以事半功倍?! ?b class='flag-5'>性能優化的難點在于找出關鍵的性能
    發表于 11-10 16:52

    如何使用馬里脫機編譯器分析著色器程序的性能

    本指南介紹如何使用馬里脫機編譯器分析著色器程序的性能。 此示例演示了如何可視化馬里GPU目標上的性能瓶頸
    發表于 08-28 07:11

    使用Arm Streamline分析樹莓派的性能

    在本指南中,我們將探索Linux應用和系統性能分析,并學習如何找到一個系統正在花費時間的地方。說明應用程序和發現性能瓶頸有助于集中軟件優化努
    發表于 08-29 06:30

    雙基SAR欺騙式干擾性能研究

    雙基SAR 的收發分置使干擾系統對接收機難以準確定位,因此具有強抗干擾能力。該文分析了接收機不能精確定位情況下的欺騙式干擾性能,在雙基SAR 欺騙式干擾模型的基礎上,研究
    發表于 02-09 14:16 ?5次下載

    快速識別應用程序性能瓶頸

    RATIONAL QUANTIFY FOR WINDOWS能查明應用程序的性能瓶頸,從而確保使用JAVA、VISUAL C/C++和VISUAL BASIC開發的應用程序的質量和性能。RATIONAL QUANTIFY向開發團隊
    發表于 04-18 22:15 ?20次下載

    LTC2379-18 SAR ADC的性能及應用

    逐次逼近寄存器型模數轉換器 (SAR ADC) 是儀表、工業控制和測試設備應用中的重要組件。SAR ADC 的準確度、噪聲和速度常常決定了整體系統的性能。 凌力爾特的 LTC?2379-18 在
    的頭像 發表于 06-19 06:06 ?4943次閱讀
    LTC2379-18 <b class='flag-5'>SAR</b> ADC的<b class='flag-5'>性能</b>及應用

    linux虛擬機下使用IOMETER測試磁盤的IO性能

    前面有分享了windows下如何使用IOMETER測試網絡磁盤的IO性能,今天分享一下linux下如何使用IOMETER測試網絡磁盤的性能
    發表于 07-08 10:32 ?14次下載
    <b class='flag-5'>linux</b>虛擬機下使用IOMETER測試磁盤的IO<b class='flag-5'>性能</b>

    研究人員發現:更多黑客的網絡攻擊針對于基于Linux的設備

    研究人員發現,更多高級攻擊組織正在創建工具和平臺針對基于Linux的設備。因此,本文希望分析有關Linux安全性的誤解,以及討論組織如何更好地保護其
    的頭像 發表于 09-14 15:46 ?1761次閱讀
    大发888大家赢娱乐| 大发888易付168 充值| 百家乐网络投注| 百家乐官网赢钱公式冯耕| 德州扑克总督| 广州百家乐筹码| 百家乐官网是个什么样的游戏| 百家乐官网街机游戏下载| 喜達博彩网| 大发888娱乐场17| 茅台百家乐的玩法技巧和规则| 金宝博百家乐游戏| 百家乐官网sxcbd| 网上玩百家乐官网技巧| 鸿运娱乐城| 顶级赌场 官方直营网| 好运来百家乐的玩法技巧和规则| 百家乐赢钱公式冯耕| 美女百家乐官网的玩法技巧和规则 | 博客国际娱乐| 百家乐筹码片| 百家乐蓝盾有赢钱的吗| 百家乐庄闲机率分析| 手机百家乐官网能兑换现金棋牌游戏| 揭秘百家乐官网百分之50| 百家乐官网另类投注法| 大发888娱乐城客服lm0| 真人百家乐分析软件是骗局| 24山双山五行的用法| 百家乐官网博乐城| 破解百家乐官网公式| 百家乐官网美食坊| 云鼎百家乐官网现金网| 网上博彩| 大发888官方网站登陆| 大发888娱乐城取款| 百家乐平注常赢玩法更| 致胜百家乐软件| 百家乐游乐园| 百家乐微笑玩法| 澳门百家乐路子分析|