使用sysstat(sar命令)对Linux性能进行测量的笔记(CentOS7、CentOS8)

首先

sysstat是一种用于分析Linux服务器负载的监控工具,可以用来调查CPU负载、磁盘I/O使用率、内存使用情况和网络设备状态。

环境

    • 【CentOS7】

 

    • CentOS Linux release 7.8.2003

 

    sysstat バージョン 10.1.5
[[root@CENTOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@CENTOS7 ~]# sar -V
sysstat バージョン 10.1.5
(C) Sebastien Godard (sysstat <at> orange.fr)
[root@CENTOS7 ~]#

请用中文进行释义:

以下是一种选择:

请用中文进行释义:

    • 【CentOS8】

 

    • CentOS Linux release 8.1.1911

 

    sysstat バージョン 11.7.3
[root@centos8 ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
[root@centos8 ~]# sar -V
sysstat バージョン 11.7.3
(C) Sebastien Godard (sysstat <at> orange.fr)
[root@centos8 ~]#

1. 安装sysstat

yum install -y sysstat

2. 设置文件的位置

在CentOS7中,启动sa1命令和sa2命令是由corn进行配置的,而在CentOS8中是由systemd的timer进行配置的。

2.1. CentOS7

2.1. 红帽企业版Linux7

在CentOS7(sysstat版本10.1.5)上,sysstat的配置文件有以下两个文件。

    • /etc/cron.d/sysstat

 

    /etc/sysconfig/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

使用sa1命令以10分钟为单位将资源信息保存到“/var/log/sa/saXX”中
使用sa2命令在23时53分将保存的信息格式化为报告形式,并保存到“/var/log/sa/sarXX”中
※其中XX代表日期
※如果更改了cron设置,请使用以下命令使其生效。

systemctl restart crond

请用中文进行重述,只需要一个选项:

I want to go to the supermarket to buy some groceries.

# sysstat-10.1.5 configuration file.

# How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=28

# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

# Compression program to use.
ZIP="bzip2"

2.2. CentOS8

2.2. CentOS8的版本

CentOS8(sysstat版本11.7.3)中sysstat的配置文件有以下6个文件。

    • /usr/lib/systemd/system/sysstat.service

 

    • /usr/lib/systemd/system/sysstat-collect.service

 

    • /usr/lib/systemd/system/sysstat-collect.timer

 

    • /usr/lib/systemd/system/sysstat-summary.service

 

    • /usr/lib/systemd/system/sysstat-summary.timer

 

    /etc/sysconfig/sysstat
# /usr/lib/systemd/system/sysstat.service
# (C) 2012 Peter Schiffer (pschiffe <at> redhat.com)
#
# sysstat-11.7.3 systemd unit file:
#        Insert a dummy record in current daily data file.
#        This indicates that the counters have restarted from 0.

[Unit]
Description=Resets System Activity Logs

[Service]
Type=oneshot
RemainAfterExit=yes
User=root
ExecStart=/usr/lib64/sa/sa1 --boot

[Install]
WantedBy=multi-user.target
Also=sysstat-collect.timer
Also=sysstat-summary.timer

请使用汉语母语重新表达以下内容,只需提供一种选项:

# /usr/lib/systemd/system/sysstat-collect.service
# (C) 2014 Tomasz Torcz <tomek@pipebreaker.pl>
#
# sysstat-11.7.3 systemd unit file:
#        Collects system activity data
#        Activated by sysstat-collect.timer unit

[Unit]
Description=system activity accounting tool
Documentation=man:sa1(8)
After=sysstat.service

[Service]
Type=oneshot
User=root
ExecStart=/usr/lib64/sa/sa1 1 1

请用中文将以下句子改写成本地化的表达方式:
“Can you please turn off the lights before leaving?”

# /usr/lib/systemd/system/sysstat-collect.timer
# (C) 2014 Tomasz Torcz <tomek@pipebreaker.pl>
#
# sysstat-11.7.3 systemd unit file:
#        Activates activity collector every 10 minutes

[Unit]
Description=Run system activity accounting tool every 10 minutes

[Timer]
OnCalendar=*:00/10

[Install]
WantedBy=sysstat.service

用sa1命令将资源信息按10分钟单位保存到”/var/log/sa/saXX”。

请用中文将以下句子进行同义改写:
请只提供一种选项:

# /usr/lib/systemd/system/sysstat-summary.service
# (C) 2014 Tomasz Torcz <tomek@pipebreaker.pl>
#
# sysstat-11.7.3 systemd unit file:
#        Generates daily summary of process accounting

[Unit]
Description=Generate a daily summary of process accounting
Documentation=man:sa2(8)
After=sysstat.service

[Service]
Type=oneshot
User=root
ExecStart=/usr/lib64/sa/sa2 -A

请以中文来释义以下内容,只需要一个版本:

“The Great Wall of China is a historical landmark that stretches across the country, serving as a symbol of China’s rich history and cultural heritage. It was built as a defensive structure to protect the Chinese Empire from invasions and played a significant role in shaping China’s identity.”

# /usr/lib/systemd/system/sysstat-summary.timer
# (C) 2014 Tomasz Torcz <tomek@pipebreaker.pl>
#
# sysstat-11.7.3 systemd unit file:
#        Triggers daily summary generation.
#        Activates sysstat-summary.service

[Unit]
Description=Generate summary of yesterday's process accounting

[Timer]
OnCalendar=00:07:00

[Install]
WantedBy=sysstat.service

7点整,将通过sa2命令保存的信息整理为报告格式,并保存到”/var/log/sa/sarXX”。
*XX代表日期
*如果更改了systemd的timer设置,请使用以下命令使其生效。

systemctl daemon-reload

请将以下句子用中文进行本地化改写,只需要提供一种选项:

“Can you please help me with my homework?”

# sysstat-11.7.3 configuration file.

# How long to keep log files (in days).
# If value is greater than 28, then use sadc's option -D to prevent older
# data files from being overwritten. See sadc(8) and sysstat(5) manual pages.
HISTORY=28

# Compress (using xz, gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS=" -S DISK"

# Directory where sa and sar files are saved. The directory must exist.
SA_DIR=/var/log/sa

# Compression program to use.
ZIP="xz"

# By default sa2 script generates yesterday's summary, since the cron job
# usually runs right after midnight. If you want sa2 to generate the summary
# of the same day (for example when cron job runs at 23:53) set this variable.
#YESTERDAY=no

# By default sa2 script generates reports files (the so called sarDD files).
# Set this variable to false to disable reports generation.
#REPORTS=false

3. 日志文件的位置

日志文件(资源信息)存储在var/log/sa目录下。
“saXX”文件是定期获取的资源信息保存为二进制文件,”sarXX”是基于”saXX”的信息生成的文本文件。
*XX表示日期。

[root@CENTOS7 ~]# ls /var/log/sa
sa19  sa20  sa21  sar19  sar20
[root@CENTOS7 ~]#

4. 查看sa文件(通过sar命令)

要浏览sa文件并将其转换为文本文件进行保存,可以使用以下命令:
sar -A -f 【sa文件(二进制文件)】
sar -A -f 【sa文件(二进制文件)】 > 【输出文件】
※-A表示显示所有信息。还可以进行以下指定。

オプション内容-bI/O と転送率の状況-Bページングの状態-dブロックデバイスの状態-qQキューの長さとロードアベレージの状態-rメモリ利用率の状態-Rメモリの状況-Sスワップ領域の利用状況-uCPU 利用の利用状況-vカーネルのテーブル状態-wタスクの作成とシステムスイッチの状態-Wスワップの状態
[root@CENTOS7 ~]# sar -A -f /var/log/sa/sa19 > /tmp/sar19.txt
[root@CENTOS7 ~]#

对于CentOS7(sysstat版本10.1.5),您也可以使用KSar(可以从「ksar项目日本语顶页 – OSDN」下载)来查看图表。

在那时候,您可以使用以下命令将文件导出。
env LANG=C sar -A -f 【sa文件(二进制)】 > 【输出文件】

[root@CENTOS7 ~]# env LANG=C sar -A -f /var/log/sa/sa19 > /tmp/sar19_lang_c.txt
[root@CENTOS7 ~]#

5. 使用sadf命令将sa文件以TSV格式输出。

如果要用sar命令进行浏览和文件输出,需要以空格作为分隔符。如果想要以TSV格式输出,则可以使用sadf命令。

sadf -T -p — -A 【.sa文件(二进制)】 > 【输出文件】

-T:時刻をローカル時刻で出力する

-p:TSV形式で出力する

–:これ以降にsarコマンド用のオプションを渡せるようにする

-A:すべての情報を出力

[root@CENTOS7 ~]# sadf -T -p -- -A /var/log/sa/sa19 > /tmp/sadf19.txt
[root@CENTOS7 ~]#

sadf命令还可以通过选项输出JSON格式(-j)或XML格式(-x),而不仅限于TSV格式。

另外,在CentOS8(sysstat版本为11.7.3)的情况下,可以使用-g选项以SVG格式输出图表。SVG格式的图表可以在浏览器中查看。

sadf -T -g — -A 【sa file (binary)】 > 【output file (in SVG format)】
悲伤 -T -g — -A【sa文件(二进制)】>【输出文件(SVG格式)】

[root@centos8 ~]# sadf -T -g -- -A /var/log/sa/sa19 > /tmp/sadf19.svg
[root@centos8 ~]#
sadf19.png

6. 使用命令记录日志

除了cron和systemd的定时器设置之外,还可以使用命令来获取类似sa文件的资源信息。

在中文中,只需要一个选项来转述以下命令:
sar -o datafile interval count > /dev/null 2>&1 &

sar -o datafile 每隔 interval 秒记录一次数据,记录 count 次,将输出重定向到 /dev/null,并且将错误信息也重定向到 /dev/null,然后在后台运行。

    • interval:間隔(秒)

 

    count:回数

如果想要以1秒的间隔获取所有资源信息,请执行以下命令:
sar -o /tmp/sa.out 1 > /dev/null 2>&1 &

[root@centos8 ~]# sar -o /tmp/sa.out 1 > /dev/null 2>&1 &
[1] 2619
[root@centos8 ~]#

获取资源信息后,结束任务。

[root@centos8 ~]# jobs
[1]+  実行中               sar -o /tmp/sa.out 1 > /dev/null 2>&1 &
[root@centos8 ~]# kill %1
[root@centos8 ~]#

与常规的sa文件一样,可以使用sar命令或sdaf命令进行查看和文件输出。

[root@centos8 ~]# sar -A -f /tmp/sa.out > /tmp/sar.txt
[root@centos8 ~]# env LANG=C  sar -A -f /tmp/sa.out > /tmp/sar_lang_c.txt
[root@centos8 ~]# sadf -T -p -- -A /tmp/sa.out > /tmp/sadf19.txt
[root@centos8 ~]# sadf -T -g -- -A /tmp/sa.out > /tmp/sadf19.svg
[root@centos8 ~]#
广告
将在 10 秒后关闭
bannerAds