成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

系統 Linux
sar 和 sadf 提供了基于命令行界面的輸出。這種輸出可能會使新手用戶/系統管理員感到無從下手。因此,你需要使用 kSar,它是一個圖形化顯示你的 sar 數據的 Java 應用程序。它也允許你以 PDF/JPG/PNG/CSV 格式導出數據。

[[221401]]

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

  1. CPU 使用率
  2. 內存頁面和使用率
  3. 網絡 I/O 和傳輸統計
  4. 進程創建活動
  5. 所有的塊設備活動
  6. 每秒中斷數等等

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

sysstat 包

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

  1. sar:顯示數據
  2. sa1sa2:收集和保存數據用于以后分析。sa2 shell 腳本在 /var/log/sa 目錄中每日寫入一個報告。sa1 shell 腳本將每日的系統活動信息以二進制數據的形式寫入到文件中。
  3. sadc —— 系統活動數據收集器。你可以通過修改 sa1sa2 腳本去配置各種選項。它們位于以下的目錄:
    • /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:

  1. # yum install sysstat

示例輸出如下:

  1. Loaded plugins: downloadonly, fastestmirror, priorities,
  2. : protectbase, security
  3. Loading mirror speeds from cached hostfile
  4. * addons: mirror.cs.vt.edu
  5. * base: mirror.ash.fastserv.com
  6. * epel: serverbeach1.fedoraproject.org
  7. * extras: mirror.cogentco.com
  8. * updates: centos.mirror.nac.net
  9. 0 packages excluded due to repository protections
  10. Setting up Install Process
  11. Resolving Dependencies
  12. --> Running transaction check
  13. ---> Package sysstat.x86_64 0:7.0.2-3.el5 set to be updated
  14. --> Finished Dependency Resolution
  15.  
  16. Dependencies Resolved
  17.  
  18. ====================================================================
  19. Package Arch Version Repository Size
  20. ====================================================================
  21. Installing:
  22. sysstat x86_64 7.0.2-3.el5 base 173 k
  23.  
  24. Transaction Summary
  25. ====================================================================
  26. Install 1 Package(s)
  27. Update 0 Package(s)
  28. Remove 0 Package(s)
  29.  
  30. Total download size: 173 k
  31. Is this ok [y/N]: y
  32. Downloading Packages:
  33. sysstat-7.0.2-3.el5.x86_64.rpm | 173 kB 00:00
  34. Running rpm_check_debug
  35. Running Transaction Test
  36. Finished Transaction Test
  37. Transaction Test Succeeded
  38. Running Transaction
  39. Installing : sysstat 1/1
  40.  
  41. Installed:
  42. sysstat.x86_64 0:7.0.2-3.el5
  43.  
  44. Complete! 

為 sysstat 配置文件

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

  1. # vi /etc/sysconfig/sysstat

示例輸出如下 :

  1. # keep log for 28 days
  2. # the default is 7
  3. HISTORY=28

保存并關閉這個文件。 

找到 sar 默認的 cron 作業

默認的 cron 作業位于 /etc/cron.d/sysstat

  1. # cat /etc/cron.d/sysstat

示例輸出如下:

  1. # run system activity accounting tool every 10 minutes
  2. */10 * * * * root /usr/lib64/sa/sa1 1 1
  3. # generate a daily summary of process accounting at 23:53
  4. 53 23 * * * root /usr/lib64/sa/sa2 -A 

告訴 sadc 去報告磁盤的統計數據

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

  1. # vi /etc/cron.d/sysstat

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

  1. # run system activity accounting tool every 10 minutes
  2. */10 * * * * root /usr/lib64/sa/sa1 -I -d 1 1
  3. # generate a daily summary of process accounting at 23:53
  4. 53 23 * * * root /usr/lib64/sa/sa2 -A

在 CentOS/RHEL 7.x 系統上你需要傳遞 -S DISK 選項去收集塊設備的數據。傳遞 -S XALL 選項去采集如下所列的數據:

  1. 磁盤
  2. 分區
  3. 系統中斷
  4. SNMP
  5. IPv6
  1. # Run system activity accounting tool every 10 minutes
  2. */10 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1
  3. # 0 * * * * root /usr/lib64/sa/sa1 600 6 &
  4. # Generate a daily summary of process accounting at 23:53
  5. 53 23 * * * root /usr/lib64/sa/sa2 -A
  6. # Run system activity accounting tool every 10 minutes

保存并關閉這個文件。 

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

輸入如下命令:

  1. chkconfig sysstat on
  2. service sysstat start

示例輸出如下:

  1. Calling the system activity data collector (sadc):

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

  1. # systemctl enable sysstat
  2. # systemctl start sysstat.service
  3. # systemctl status sysstat.service

示例輸出:

  1. sysstat.service - Resets System Activity Logs
  2. Loaded: loaded (/usr/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
  3. Active: active (exited) since Sat 2018-01-06 16:33:19 IST; 3s ago
  4. Process: 28297 ExecStart=/usr/lib64/sa/sa1 --boot (code=exited, status=0/SUCCESS)
  5. Main PID: 28297 (code=exited, status=0/SUCCESS)
  6.  
  7. Jan 06 16:33:19 centos7-box systemd[1]: Starting Resets System Activity Logs...
  8. Jan 06 16:33:19 centos7-box systemd[1]: Started Resets System Activity Logs. 

如何使用 sar?如何查看統計數據?

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

  1. # sar -u 3 10

示例輸出:

  1. Linux 2.6.18-164.2.1.el5 (www-03.nixcraft.in) 12/14/2009
  2.  
  3. 09:49:47 PM CPU %user %nice %system %iowait %steal %idle
  4. 09:49:50 PM all 5.66 0.00 1.22 0.04 0.00 93.08
  5. 09:49:53 PM all 12.29 0.00 1.93 0.04 0.00 85.74
  6. 09:49:56 PM all 9.30 0.00 1.61 0.00 0.00 89.10
  7. 09:49:59 PM all 10.86 0.00 1.51 0.04 0.00 87.58
  8. 09:50:02 PM all 14.21 0.00 3.27 0.04 0.00 82.47
  9. 09:50:05 PM all 13.98 0.00 4.04 0.04 0.00 81.93
  10. 09:50:08 PM all 6.60 6.89 1.26 0.00 0.00 85.25
  11. 09:50:11 PM all 7.25 0.00 1.55 0.04 0.00 91.15
  12. 09:50:14 PM all 6.61 0.00 1.09 0.00 0.00 92.31
  13. 09:50:17 PM all 5.71 0.00 0.96 0.00 0.00 93.33
  14. Average: all 9.24 0.69 1.84 0.03 0.00 88.20

其中:

  • 3 表示間隔時間
  • 10 表示次數

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

  1. # sar -c 3 10

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

  1. # sar -b 3 10

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

  1. # sar -B 3 10

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

  1. # sar -d 3 10

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

  1. # sar -I XALL 3 10

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

  1. # sar -n DEV 3 10
  2. # sar -n EDEV 3 10

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

  1. # sar -P ALL
  2. # Only 1st CPU stats
  3. # sar -P 1 3 10

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

  1. # sar -q 3 10

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

  1. # sar -r 3 10
  2. # sar -R 3 10

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

  1. # sar -v 3 10

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

  1. # sar -w 3 10

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

  1. # sar -W 3 10

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

  1. # sar -x 3256 3 10 

kSar 介紹

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

  1. Solaris 8, 9 和 10
  2. Mac OS/X 10.4+
  3. Linux (Systat Version >= 5.0.5)
  4. AIX (4.3 & 5.3)
  5. HPUX 11.00+ 

下載和安裝 kSar

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

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

如何運行 kSar?

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

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

[[221402]]

kSar welcome screen

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

Fig.02: kSar - the main window

kSar - the main window

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

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

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

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

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

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

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

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

Fig.03: Processes for server1

Linux kSar Processes for server1

Fig.03: Disk stats (blok device) stats for server1

Linux Disk I/O Stats Using kSar

Fig.05: Memory stats for server1

Linux Memory paging and its utilization stats

 

放大和縮小

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

了解 kSar 圖像和 sar 數據

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

  1. $ man sar
  2. $ man sadf 

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

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

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

找出 CPU 瓶頸后 …

對 CPU 執行如下的調整:

  1. 確保沒有不需要的進程在后臺運行。關閉 Linux 上所有不需要的服務
  2. 使用 cron 在一個非高峰時刻運行任務(比如,備份)。
  3. 使用 top 和 ps 命令 去找出所有非關鍵的后臺作業/服務。使用 renice 命令 去調整低優先級作業。
  4. 使用 taskset 命令去設置進程使用的 CPU (卸載所使用的 CPU),即,綁定進程到不同的 CPU 上。例如,在 2# CPU 上運行 MySQL 數據庫,而在 3# CPU 上運行 Apache。
  5. 確保你的系統使用了***的驅動程序和固件。
  6. 如有可能在系統上增加額外的 CPU。
  7. 為單線程應用程序使用更快的 CPU(比如,Lighttpd web 服務器應用程序)。
  8. 為多線程應用程序使用多個 CPU(比如,MySQL 數據庫服務器應用程序)。
  9. 為一個 web 應用程序使用多個計算節點并設置一個 負載均衡器

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

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

Fig.06: isag CPU utilization graphs

Fig.06: isag CPU utilization graphs

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2013-03-06 10:24:12

ksar工具系統性能

2021-03-18 11:51:06

Linux運維Linux系統

2021-06-07 14:57:46

開源開源工具Linux

2019-03-04 10:45:57

Linux Cockp系統性能命令

2018-08-13 09:57:15

LinuxFio硬盤性能

2022-04-14 07:49:03

nmon監控Linux

2018-09-12 20:12:11

MySQL慢查詢優化索引優化

2011-05-11 17:26:17

Minify

2025-05-19 09:20:08

2009-01-17 15:26:05

2023-06-09 12:59:52

Python性能分析

2024-02-02 15:21:08

工具頁面性能

2019-10-31 11:50:19

MySQL數據庫Windows

2013-02-22 18:28:18

容錯服務器、

2024-09-27 19:39:27

2021-01-09 13:49:08

Linux命令監控

2016-08-12 10:23:28

javascriptChrome前端

2021-05-06 15:59:27

Linux性能優化

2020-12-29 15:00:46

PerfVTune工具

2023-12-08 07:49:47

CPU內存性能架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲美乳中文字幕 | 成人一区二区在线 | 亚洲一区二区在线免费观看 | 黄色一级大片在线免费看产 | 国产欧美一区二区在线观看 | 国产99久久精品一区二区永久免费 | 日本三级电影免费 | 欧美一级二级三级 | 精品一区二区三区在线播放 | 男女视频免费 | 罗宾被扒开腿做同人网站 | 精品一区二区电影 | 亚洲精品视频在线 | 日本天堂一区二区 | 久久久久国产 | 亚洲综合免费 | 国产成人精品免高潮在线观看 | 国产精品美女视频 | cao视频| 亚洲欧美一区二区三区国产精品 | 欧美 日韩 视频 | 在线日韩精品视频 | 丁香五月缴情综合网 | 国产成人综合一区二区三区 | 91精品中文字幕一区二区三区 | 免费在线观看黄视频 | 国产一区| h网站在线观看 | 久久久区 | 国产精品美女久久久久aⅴ国产馆 | 欧美一级网站 | 免费观看羞羞视频网站 | 日韩视频1 | 超碰精品在线观看 | 国产高清视频一区 | 久久久久久久久久久福利观看 | 成人精品在线视频 | 日韩在线一区二区 | 天天夜碰日日摸日日澡 | 国产精品久久毛片av大全日韩 | 91免费高清 |